Vous êtes sur la page 1sur 51

BASE DE DATOS

Ing. Ana E. Congacha


Ingeniera en Sistemas

Riobamba - Ecuador 2012-2013

DISEO DE BASES DE DATOS

Modelo relacional Normalizacin

El modelo Relacional es importante:


Los elementos de construccin son extensos y

generales y se pueden usar para expresar diseos de BD independientes de DBMS.


Es la base de casi todos los productos DBMS

Las relaciones no son iguales, unas son mejores que otras.


La normalizacin es un proceso para convertir una relacin que tiene ciertos problemas en dos o mas relaciones que no los tienen.

La normalizacin se puede usar como un lineamiento para comprobar la validez de las relaciones.

Una relacin es una tabla bidimensional.


Rengln/fila/registro/tuples/tupla:
tienen datos que pertenecen a alguna cosa o a una parte de esta

Atributos/campo/columna : contienen datos referentes a un atributo

Relacin
Tuple Atributo

Archivo
Registro Campo

Tabla
Rengln Columna

Para que una tabla sea una relacin debe cumplir ciertas restricciones:
Las celdas de la tabla deben ser de un valor nico; no se permite repetir grupos ni tener series en calidad de valores. Todas las entradas en cualquier columna deben ser del mismo tipo. Cada columna tienen un nombre nico. El orden de las columnas en la tabla no es importante. Dos renglones en la tabla no pueden ser idnticos y el orden de los renglones no es significativo. Nombre Edad Genero NumEmpleado

Almeida
Damian Guerra Jacome Munoz Nuez Salgado

19
20 18 21 23 24 19

F
F M F M M F

001
002 003 004 005 006 007

Relacin EMPLEADO

EMPLEADO(Nombre, Edad, Genero, NumEmpleado)

Estructura de la relacin

Para comprender la definir dos trminos:

normalizacin

necesitamos

1. Dependencia Funcional 2. Llave

1. Dependencias Funcionales
Es una relacin entre uno o ms atributos. Suponga que si asignamos el valor de un atributo podemos obtener (o buscar) el valor de otro.
Atributo X

Ejemplo:

encontrar

Atributo Y

Si conocemos:

NumerodeCuentadelCliente

BalancedelCliente

Si esto es verdad podemos decir que BalancedelCliente es funcionalmente dependiente de NumerodeCuentadelCliente

En trminos generales, el atributo Y es funcionalmente dependiente del atributo X, si el valor de X determina al valor de Y.

Dicho de otra manera, si conocemos el valor de X podemos obtener el valor de Y

Ejemplo:
Suponga que los estudiantes tienen un nmero

nico de identificacin(IDE) y que cada uno tiene una sola especialidad. Considerando el valor de un EID, podemos encontrar la especialidad del estudiante, por lo que la especialidad es funcionalmente dependiente de EID.

EID NumSerie

Especialidad TamaodeMemoria

Podemos argumentar que el almacenamiento y la recuperacin de las Dependencias funcionales es la nica razn para tener una BD.
LAS DEPENDENCIAS FUNCIONALES SIGUIENTE NOTACIN: SE ESCRIBEN USANDO LA

EID determina funcionalmente a Especialidad

EID : Especialidad CodEmple: Funcin


Determinantes

o Especialidad es dependiente de EID

La relacin de EID con Especialidad es de muchos a uno (N:1). En general se puede decir que A determina a B, la relacin de valores de A y B es N:1

Las dependencias funcionales pueden involucrar grupo de atributos: Considere la relacin:


CALIFICACIONES (EID, Asignatura, Calificacin). La combinacin de un EID y un NombredeClase determina una calificacin, una dependencia funcional que se escribe: (EID,Asignatura) Calificacin

LLAVES
Es un grupo de 1 o ms atributos que identifica nicamente a un rengln.
ACTIVIDAD
Suponga que a un estudiante le corresponde una sola actividad.

EID
100 101 102 103

ACTIVIDAD
ESQUI NATACION VOLEY NATACION

CUOTA
200 50 60 50

Fig. A

Relacin: ACTIVIDAD
Atributos: EID, Actividad, Cuota Llave: EID

La llave se determina por completo mediante la semntica fundamental de las personas de la empresa que usan la base de datos.

A diferencia de los determinantes, las llaves son siempre nicas. Una llave determina funcionalmente a todo el rengln

Explique en la relacin de la Fig. A , EID es tanto un determinante como una llave porqu?, pero Actividad es un determinante y no una llave porqu?.

No todas las relaciones son igualmente deseables.

Una tabla que cumple la definicin de una relacin puede no tener una estructura eficaz o apropiada.
Para algunas relaciones el cambio de datos puede tener consecuencias indeseables - Anomalas de Modificacin Las Anomalas de Modificacin se pueden eliminar redefiniendo la relacin entre dos o ms relaciones.

En la mayora de los casos son preferibles las relaciones redefinidas o normalizadas

ACTIVIDAD
EID ACTIVIDAD CUOTA

100 101 102 103

ESQUI NATACION VOLEY NATACION

200 50 50 50

Anomala de Eliminacin: Al suprimir los hechos acerca de una ENTIDAD (que Estudiante 100 es un esquiador) inadvertidamente eliminamos los hechos de otra entidad (que esquiar cuesta 200), se pierden hechos acerca de dos entidades.
Anomala de insercin: No podemos insertar un hecho de una entidad hasta que tengamos un hecho adicional acerca de otra entidad.
COSTO-ACT
Actividad
Esqui Natacin Voley

ESTUD-ACT Han quedado suprimidas las Anomalas de Modificacin.


EID
100 101 102 103

Actividad
Esqui Natacin Voley Natacin

Cuota
200 50 50

Cada relacin normalizada tiene solo un tema. Cualquier relacin que tenga 2 o ms temas debe dividirse en dos o ms relaciones que tenga cada una un tema.
Cuando encontramos una relacin con anomalas de modificacin las eliminamos separando la relacin en dos o ms, de tal forma que cada una contenga solo un tema.

A las tcnicas para prevenir anomalas se denomina Formas Normales. Dependiendo de su estructura, una relacin puede estar en la primera forma normal, en la segunda, o en alguna otra.
Las Formas normales son anidadas. Esto es una relacin en la segunda forma normal esta tambin en primera forma normal.

En grupo de 4 personas analizar los temas a continuacin expuestos: Fecha: 21 de Noviembre del 2012 En la exposicin se considerar:

Calidad presentacin Informe (1 ) : Ideas concretas y presentadas en orden, en secuencia lgica. la bibliografa usada, accesos a
internet.

Calidad de la Exposicin (2,5) : presentacin del expositor, facilidad de palabra, claridad en la exposicin, orden, ejercicios. Preguntas y respuestas (0.5%)

TEMA A INVESTIGAR Forma Normal de Boyce Codd

INTEGRANTES
ADRIANO , ALBAREZ , CIFUENTES , CORONEL Duchi, duchi, erazo, gaibor

2 GRUPOS

CUARTA FORMA NORMAL Quinta Forma Norma.

HARO, HERREA, ILLAPA, LLUMITAXI

2 GRUPOS 2 GRUPOS

MARTINEZ, NARANJO, NAVARRETE, OATE ORTIZ, ORTIZ, RUILOVA Y SANAGUANO SHILQUIGUA, TELLOS, TOCTAQUIZA, UVIDIA

Cualquier tabla de datos que cumpla con la manera en que se define una relacin se dice que esta en la primera forma normal.
Las relaciones en la primera forma

ACTIVIDAD EID 100 101 102 103 ACTIVIDAD ESQUI NATACION VOLEY NATACION CUOTA 200 50 50 50

normal pueden tener anomalas de modificacin .


Para eliminarlas, separamos la

relacin en dos o ms relaciones.


Cuando lo hacemos, las nuevas

relaciones estn en otra forma normal.

Cite ejemplos de relaciones que estn en la primera forma normal y no tengan anomalas

http://es.wikipedia.org/wiki/Primera_forma_ normal

ACTIVIDADES EID 100 100 150 175 200 200 ACTIVIDAD ESQUI GOLF NATACION SQUASH NATACION GOLF CUOTA 200 65 50 50 50 65

Una relacin se encuentra en la segunda forma normal si todos los atributos que no son llaves son dependientes de todos los atributos de la llave. Si la relacin tiene un solo atributo como llave, entonces automticamente esta en la Segunda forma normal. La segunda forma normal slo se aplica a relaciones que tienen llaves compuestas.

Llave: (EID, Actividad) Problema: Esta relacin tiene una dependencia que involucra solo una parte de la llave. Cuota es parcialmente dependiente de la llave(EID, Actividad)

ACTIVIDADES EID 100 100 150 175 200 200 ACTIVIDAD ESQUI GOLF NATACION SQUASH NATACION GOLF CUOTA 200 65 50 50 50 65

ESTUD-ACT

COSTO-ACT

EID
100 100 150 175 200 200

Actividad
Esqui Golf Natacin Squach Natacin Golf

Actividad
Esqui Natacin GOLF Squash

Cuota
200 50 65 50

ACTIVIDAD

EID
100 101 102

ACTIVIDAD
ESQUI NATACION VOLEY

CUOTA
200 50 50

103

NATACION

50

ESTUD-ACT

COSTO-ACT

EID
100 150 175 200

Actividad
Esqui Natacin squach Natacin

Actividad
Esqui Natacin Voley

Cuota
200 50 50

Estn en la segunda forma normal porque ambas tienen llaves de un solo atributo

http://www.angelfire.com/my/jimena/bdat1/g uia6.htm

VIVIENDA EID
100 101 102 103 104

EDIFICIO
TORRES1 TORRES2 TORRES1 TORRES3 TORRES1

CUOTA
3200 3100 3200 3100 3200

VIVIENDA (EID, Edificio, Cuota) Llave: EID Dependencias Funcionales: Edificio -> Cuota EID -> Edificio -> Cuota

Dependencia transitiva: EID

determina Cuota a travs del atributo Edificio

La llave de VIVIENDA es EID, el cual es un atributo individual entonces la relacin esta en la segunda forma normal.(tanto Edificio como Cuota estn determinados por EID)

VIVIENDA tiene anomalas debido a la dependencia transitiva

Una relacin se encuentra en la tercera forma normal si esta en la segunda forma normal y no tiene dependencias transitivas.

VIVIENDA EID
100 101 102 103 104

EDIFICIO
TORRES1 TORRES2 TORRES1 TORRES3 TORRES1

CUOTA
3200 3100 3200 3100 3200

VIVIENDA-ESTUD
EID EDIFICIO

EDIFICIO - CUOTA
EDIFICIO CUOTA

100 101 102 103 104

TORRES1 TORRES2 TORRES1 TORRES3 TORRES1

TORRES1 TORRES2 TORRES3

3200 3100 3100

http://es.wikipedia.org/wiki/Tercera_forma_n ormal

Que restricciones debe cumplir una tabla para que sea considerada una relacin? Defina los siguientes trminos: relacin, tuple, atributo, registro, campo, tabla, rengln, columna. Defina dependencia funcional. D un ejemplo sobre dos atributos que tengan dependencia funcional, y otro de dos atributos que no tengan dependencia funcional. Si EID determina funcionalmente a Actividad, significa que slo puede existir un valor de EID en la relacin? Por que? Defina determinante? Defina llave? Si EID es la llave de una relacin. es un determinante?Puede un valor determinado de EID ocurrir ms de una vez en la relacin? Qu es una anomala de eliminacin? De un ejemplo diferente al que se menciona en las diapositivas anteriores. Qu es una anomala de insercin? De un ejemplo diferente al que se menciona en las diapositivas anteriores.

PROYECTO ProyectoID 100A NombredelEmpleado JONES SalariodelEmpleado 64

100A
100B

SMITH
SMITH

51
51

200A
200B

JONES
JONES

64
64

200C
200C

PARKS
SMITH

28
51

200D

PARKS

28

Proyecto (ProyectoID, NombredelEmpleado, SalariodelEmpleado)

Donde: ProyectoID: es el nombre del proyecto de trabajo. NombredelEmpleado: es el nombre del empleado que trabaja en el proyecto. SalariodelEmpleado: es el salario del empleado

ProyectoID NombredelEmpleado

ProyectoID SalariodelEmpleado
(ProyectoID, NombredelEmpleado) SalariodelEmpleado

NombredelEmpleado SalariodelEmpleado
SalariodelEmpleado ProyectoID

Cul es la llave del proyecto? Todos los atributos que no son llaves (si los hay)dependen por completo de las llaves? En que forma normal est PROYECTO? Describa dos anomalas de modificacin que tiene PROYECTO. ProyectoID es un determinante? NombredelEmpleado es un determinante? SalariodelEmpleado es un determinante? Tiene esta relacin una dependencia transitiva? Si es as cual es ? Redisee esta relacin para eliminar las anomalas de modificacin

Ejercicio: Considere la siguiente definicin de relacin y datos muestra:


PROYECTO-HORAS
NombredelEmpleado DON DON DON DON PEN PEN PEN ProyectoID 100A 100A 200B 200B 100A 200A 200D TareasID B-1 P-1 B-1 P-1 C-1 C-1 C-1 Telefono 12345 12345 12345 12345 67890 67890 67890 HorasTotales 12 12 12 12 26 26 26

HORAS-PROYECTO (NombredelEmpleado, ProyectoID, TareasID, Telefono, HorastOTALES)

Donde:

NombredelEmpleado es el nombre de un empleado. ProyectoID es el nombre de un proyecto. TareasID es el nombre estndar de la tarea. Telfono es el numero telefnico del empleado. Horastotales son las horas que ha trabajo el empleado en este proyecto.

Suponga que todas las dependencias funcionales y restricciones son evidentes en estos datos. Cules de los siguiente enunciados son verdaderos?

NombredelEmpleado ProyectoID NombredelEmpleado TareasID NombredelEmpleado telefono NombredelEmpleado HorasTotales (NombredelEmpleado,ProyectoID) HorasTotales (NombredelEmpleado, telefono) TareasID ProyectoID TareasID TareasID ProyectoID

Redisee esta relacin para eliminar las anomalas de modificacin. Cuantas relaciones us. Cuantos temas contiene cada una de sus nuevas relaciones

PRUEBA PARCIAL 2
FECHA: MIERCOLES 19 DE DICIEMBRE DEL 2012 TEMAS: TODO LO VISTO HAST EL MARTE S 18

DE DICIEMBRE DEL 2012

En este tema vamos a ilustrar la transformacin de los requerimientos de los usuarios expresados en modelos entidad relacin, en el diseo de Base de Datos. Estos diseos son independientes de cualquier DBMS.

TRANSFORMACIN DE LOS MODELOS ENTIDADRELACIN EN DISEOS DE BASES DE DATOS RELACIONALES

La entidad CLIENTE contiene: Cdigo Nombre Direccin Ciudad Telefono

CLIENTE (Cdigo, Nombre, Direccin, Ciudad, Telefono)


Llave

Relacin que representa la entidad CLIENTE

Cuando se crea una relacin para una entidad dependiente de un identificador debemos asegurarnos que tanto la llave del padre como la de la entidad aparezcan en la relacin. Para representar las entidades dbiles es necesario agregar la llave de la entidad padre a la relacin de la entidad dbil, y este atributo agregado sera parte de la llave de la entidad dbil.
FACTURA
1:N

LINEA_ARTICULO

LINEA_ARTICULO (CdigoLineaArticulo, CodigoFactura, NumerodeArticulo, Cantidad, Descripcin, Precio)

Cada entidad se representa con una relacin y entonces la llave de una de las relaciones se coloca en la otra

EMPLEADO

1:1
ASIGNACION-AUTO

AUTO

AUTO (CodigoAuto, numeroLicencia, Color, Marca, Modelo) EMPLEADO (CodigoEmpleado, CodigoAuto, NombreEmpleado, FonoEmpleado)
La integridad referencial contiene:
LLAVE EXTERNA

CodigoAuto en EMPLEADO debe existir en CodigoAuto en Auto Con este diseo podemos navegar de EMPLEADO a AUTO

EMPLEADO (CodigoEmpleado, NombreEmpleado, FonoEmpleado)

AUTO (CodigoAuto, CodigoEmpleado, numeroLicencia, Color, Marca, Modelo)


LLAVE EXTERNA

Los trminos padre e hijo algunas veces se aplican a las relaciones 1:N

PROFESOR
padre

1:N

ESTUDIANTE
hijo

Cada entidad se representa mediante una relacin, y despus la llave de la relacin que representa a la entidad padre se coloca en la relacin que representa a la entidad hijo.
PROFESOR (CodigoProfesor, nombre, telefono, departamento) ESTUDIANTE (CodigoEstudiante, CodigoProfesor, NombreEstudiante)
La integridad referencial contiene:

CodigoProfesor en ESTUDIANTE debe existir en CodigoProfesor en PROFESOR

ESTUDIANTE

M:N

CLASE

Las relaciones M:N no pueden representarse directamente. Utilizamos Una Relacion de Interseccin.
ESTUDIANTE (CodigoEstu, nombre, telefono, departamento) CLASE (CodigoClase , NombreClase) ESTUDIANTE-CLASE (CodigoEstu, CodigoClase)
La integridad referencial contiene: CodigoEstu en ESTUDIANTE-CLASE debe existir en CodigoEstu en ESTUDIANTE CodigoClase en ESTUDIANTE- CLASE debe existir en CodigoClase en CLASE

CLIENTE

SUPERTIPO

SUBTIPOS
CLIENTE PERSONA

CLIENTE SOCIEDAD

CLIENTE EMPRESA

CLIENTE (CodigoCliente, NombreCliente, CantidadAdeudada)


CLIENTE-PERSONA (CodigoCliente, Direccin, NumeroSeguroSocial) CLIENTE-SOCIEDAD (CodigoCliente, NombredelSocioAdministrador, Direccion, NumIdentificacionFiscal) CLIENTE-EMPRESA (CodigoCliente, PersonaContacto, Telefono)

Realice la representacin relacional utilizando el diagrama E-R siguiente:


EMPLEADO

ASIGNACION-AUTOBUS

AUTOBUS

1:1

INGENIERO
1 N

HABILIDAD - INGENIERO

1:N
SERVICIO - PROVEEDOR

CERTIFICACIN SERVICIO
N M
CLIENTE - SERVICIO

CLIENTE

EJERCICIO 1: Realice la representacin relacional:


La base de datos del hospital necesita almacenar informacin sobre los pacientes, su admisin, los departamentos del hospital y sus tratamientos. Para cada paciente se conoce: nombre, direccin, sexo y nmero de seguro social. Para cada departamento se conoce: nombre del departamento, su ubicacin, el nombre del mdico que lo dirige, el nmero de camas disponibles y el nmero de camas ocupadas. Cada paciente se admite y se da de alta en una fecha determinada; adems se le administran varios tratamientos durante la hospitalizacin. Para cada tratamiento se almacena su nombre, duracin y las posibles reacciones que pueda tener el paciente. Quiz necesite hacer ciertas suposiciones sobre los requerimientos de la aplicacin; haga suposiciones RAZONABLES conforme avance.

Grupos de 3 personas:
http://basededatos.umh.es/ejerciciosPropuestos.

html

PRUEBA PARCIAL 2
FECHA: MARTES 18 DE DICIEMBRE DEL 2012 TEMAS: TODO LO VISTO HASTA EL LUNES 17

DE DICIEMBRE DEL 2012