Métrica v2.1 Técnicas: Métrica v2.1 Técnicas: Teoría de la Teoría de la Normalización Normalización
Métrica v2.1 Técnicas:Métrica v2.1 Técnicas:Teoría de la NormalizaciónTeoría de la Normalización
Teoría de la NormalizaciónTeoría de la Normalización
Elimina dependencias entre atributos que originan anomalías en la Elimina dependencias entre atributos que originan anomalías en la actualización de la base de datos y proporciona una estructura más actualización de la base de datos y proporciona una estructura más regular en la representación de tablas, constituyendo el soporte para regular en la representación de tablas, constituyendo el soporte para el diseño de bases de datos relacionales.el diseño de bases de datos relacionales.
Técnica formal para organizar datos, nos ayuda a encontrar los Técnica formal para organizar datos, nos ayuda a encontrar los fallos del diseño y corregirlos.fallos del diseño y corregirlos.
Se dice que una relación está en una determinada forma normal si Se dice que una relación está en una determinada forma normal si cumple con un conjunto de restricciones sobre los atributoscumple con un conjunto de restricciones sobre los atributos
Teoría de la Normalización. 1FNTeoría de la Normalización. 1FN
Una relación está en primera forma normal si no tiene grupos Una relación está en primera forma normal si no tiene grupos repetitivos, es decir, un atributo sólo puede tomar un único valor de repetitivos, es decir, un atributo sólo puede tomar un único valor de un dominio.un dominio.
Ejemplo: Tabla de libros, si un libro lo han escrito varios autores, el Ejemplo: Tabla de libros, si un libro lo han escrito varios autores, el atributo cod-autor puede tomar más de un valor para un mismo cod-atributo cod-autor puede tomar más de un valor para un mismo cod-librolibro
Cod-libro Título Cod-autor
001Teoría deGrupos
035
002Diseño deSistemas
025011
003 Análisis 564
Teoría de la Normalización. 1FNTeoría de la Normalización. 1FN
Esta tabla no se encuentra en 1FN, ya que cod-autor puede tener Esta tabla no se encuentra en 1FN, ya que cod-autor puede tener grupos repetitivos. Solución:grupos repetitivos. Solución:
Cod-libro Título Cod-autor
001Teoría deGrupos
035
002Diseño deSistemas
025
002Diseño deSistemas
011
003 Análisis 564
Teoría de la Normalización. DependenciasTeoría de la Normalización. Dependencias
Dependencia FuncionalDependencia Funcional
Un descriptor Y se dice que depende funcionalmente de otro X, si y Un descriptor Y se dice que depende funcionalmente de otro X, si y sólo si a cada valor de X le corresponde un único valor de Y.sólo si a cada valor de X le corresponde un único valor de Y.Se representa: X Se representa: X Y Y
Ejemplo:Ejemplo:
EMPLEADO (cod-empl, salario, categoría,…..)EMPLEADO (cod-empl, salario, categoría,…..)salario y categoría dependen funcionalmente de cod-empl.salario y categoría dependen funcionalmente de cod-empl.Cod-empl Cod-empl salario salarioCod-empl Cod-empl categoría categoría
Teoría de la Normalización. DependenciasTeoría de la Normalización. Dependencias
Dependencia Funcional Completa:Dependencia Funcional Completa:
Un descriptor Y tiene dependencia funcional completa respecto de Un descriptor Y tiene dependencia funcional completa respecto de otro X, si depende funcionalmente de él en su totalidad, es decir, no otro X, si depende funcionalmente de él en su totalidad, es decir, no depende de ninguno de los posibles atributos que formen parte de X.depende de ninguno de los posibles atributos que formen parte de X.Sea X un descriptor compuesto de X1 y X2; Y tiene dependencia Sea X un descriptor compuesto de X1 y X2; Y tiene dependencia funcional completa de X, si cumple:funcional completa de X, si cumple:
X X Y Y X1 X1 Y Y X2 X2 Y Y
Lo que expresa: X Lo que expresa: X Y Y
Teoría de la Normalización. DependenciasTeoría de la Normalización. Dependencias
Ejemplo de funcionalidad completaEjemplo de funcionalidad completa
EMPLEADO (cod-emp, nombre, domicilio, fecha-nac,….)EMPLEADO (cod-emp, nombre, domicilio, fecha-nac,….)PROYECTO (cod-proy, nombre, ….)PROYECTO (cod-proy, nombre, ….)ASIGNACIÓN (cod-emp, cod-proy, num_horas……)ASIGNACIÓN (cod-emp, cod-proy, num_horas……)
cod-emp , cod-proy num_horas, ya que:cod_emp num_horas, y num_horas, ycod-proy cod-proy num_horas num_horas
cod-emp cod-emp nombre, domicilio, fecha-nac..
Teoría de la Normalización. DependenciasTeoría de la Normalización. Dependencias
Dependencia TransitivaDependencia TransitivaUn descriptor depende transitivamente uno de otro si y sólo si Un descriptor depende transitivamente uno de otro si y sólo si depende de él a través de otro descriptor.depende de él a través de otro descriptor.
Z depende transitivamente de X, si:Z depende transitivamente de X, si:
X Y YY X XY Z Z ya que X implica Z, pero a ya que X implica Z, pero a través de Ytravés de Y
Ejemplo: EMPLEADO (cod-emp, nombre, salario, categoría)Ejemplo: EMPLEADO (cod-emp, nombre, salario, categoría)
El atributo salario depende de la categoría y categoría depende de El atributo salario depende de la categoría y categoría depende de cod-emp, por lo cual salario depende transitivamente de cod-emp a cod-emp, por lo cual salario depende transitivamente de cod-emp a través de categoríatravés de categoría
Teoría de la Normalización. 2Teoría de la Normalización. 2 FNFN
Una relación está en 2FN si está en 1FN y todos los atributos que Una relación está en 2FN si está en 1FN y todos los atributos que no forman parte de las claves tienen dependencia funcional completa no forman parte de las claves tienen dependencia funcional completa respecto de éstas, es decir, no hay dependencias de atributos no respecto de éstas, es decir, no hay dependencias de atributos no principales respecto de una parte de las clavesprincipales respecto de una parte de las claves
EjemploEjemplo
LIBRO (cod-libro, título ,cod-autor)LIBRO (cod-libro, título ,cod-autor)
título depende de cod-libro estando la clave primaria compuesta de título depende de cod-libro estando la clave primaria compuesta de cod-libro y cod-autor, luego un atributo no principal depende sólo de cod-libro y cod-autor, luego un atributo no principal depende sólo de una parte de la clave.una parte de la clave.
Hay que dividir en dos la relación originalHay que dividir en dos la relación originalLIBRO (cod-libro,título)LIBRO (cod-libro,título)AUTOR (cod-libro,cod.autor)AUTOR (cod-libro,cod.autor)
Teoría de la Normalización. 3Teoría de la Normalización. 3 FNFN
Una relación está en 3FN si está en 2FN y todos sus atributos que Una relación está en 3FN si está en 2FN y todos sus atributos que no principales dependen directamente de la clave primaria, es decir no principales dependen directamente de la clave primaria, es decir no hay dependencias transitivas de atributos no principales respecto no hay dependencias transitivas de atributos no principales respecto de las clavesde las clavesEjemploEjemplo
EMPLEADO (cod-emp, cod-depar, nombre-depar)EMPLEADO (cod-emp, cod-depar, nombre-depar)
nombre-depar depende de cod-emp a través de cod-deparnombre-depar depende de cod-emp a través de cod-depar
Hay que dividir en dos la relación originalHay que dividir en dos la relación original
EMPLEADO (cod-emp, cod-depar)EMPLEADO (cod-emp, cod-depar)DEPARTAMENTO (cod-depar, nombre-depar)DEPARTAMENTO (cod-depar, nombre-depar)
Ejercicios. Pasar a 3FNEjercicios. Pasar a 3FN
Una relación R(A,P,Q,R,C,K).Una relación R(A,P,Q,R,C,K).Dependencias funcionales:Dependencias funcionales:AP AP Q,R,C,K Q,R,C,KP P C CA A R RC C K KSuponemos está en 1 FN. AP Clave primariaSuponemos está en 1 FN. AP Clave primaria
2FN2FN 3FN3FNR1 (A,P,Q), AP R1 (A,P,Q), AP Q Q R1 (A,P,Q), AP R1 (A,P,Q), AP Q QR2 (A,R) , A R2 (A,R) , A R R R2 (A,R) , A R2 (A,R) , A R R R3 (P,C,K) P R3 (P,C,K) P C C R3.1 (P,C), P R3.1 (P,C), P C C
R3.2 (C,K), C R3.2 (C,K), C K K
Ejercicios. Pasar a 3FNEjercicios. Pasar a 3FN
Una relación R(A,P,Q,R,C,K).Una relación R(A,P,Q,R,C,K).Dependencias funcionales:Dependencias funcionales:AP AP Q QP P C CA A R RC C K,P K,PSuponemos está en 1 FN. AP Clave primaria Suponemos está en 1 FN. AP Clave primaria (También podría ser AC)(También podría ser AC)
2FN2FN 3FN3FNR1 (A,P,Q), AP R1 (A,P,Q), AP Q Q R1 (A,P,Q), AP R1 (A,P,Q), AP Q QR2 (P,C,K), P R2 (P,C,K), P C C R2.1 (P,C), P R2.1 (P,C), P C C
, C , C K,P K,P C C P PR2 (A,R) , A R2 (A,R) , A R R R2.2 (C,K), C R2.2 (C,K), C K K
R3 (A,R) , A R3 (A,R) , A R R
Ejercicios. Pasar a 3FNEjercicios. Pasar a 3FN
Una relación R(B,D,I,O,S,Q).Una relación R(B,D,I,O,S,Q).Dependencias funcionales:Dependencias funcionales:S S D DI I B BI S I S Q QB B O OSuponemos está en 1 FN. Clave candidata: I SSuponemos está en 1 FN. Clave candidata: I S
2FN2FN 3FN3FNR1 (I,S,Q), I S R1 (I,S,Q), I S Q Q R1 (I,S,Q), I S R1 (I,S,Q), I S Q QR2 (S,D), S R2 (S,D), S D D R2 (S,D), S R2 (S,D), S D DR3 (I,B,O) , I R3 (I,B,O) , I B B R3.1 (I,B) , I R3.1 (I,B) , I B B
B B O O R3.2 (B,O) , B R3.2 (B,O) , B O O
Ejercicios. Pasar a 3FNEjercicios. Pasar a 3FN
Una relación R(numero_enfermo, Una relación R(numero_enfermo, numero_licencia_cirujano,fecha_cirugía, nombre_enfermo, numero_licencia_cirujano,fecha_cirugía, nombre_enfermo, dirección_enfermo, nombre_cirujano, nombre_cirugía, dirección_enfermo, nombre_cirujano, nombre_cirugía, medicina_suministrada, efectos_secundarios)medicina_suministrada, efectos_secundarios)
• A un enfermo sólo se le da una medicina después de la operación. A un enfermo sólo se le da una medicina después de la operación. Si existen efectos secundarios siempre y exclusivamente depende de Si existen efectos secundarios siempre y exclusivamente depende de la medicina suministrada. Sólo puede existir un efecto secundario.la medicina suministrada. Sólo puede existir un efecto secundario.
Una relación PEDIDO (numero_pedido, Una relación PEDIDO (numero_pedido, fecha_pedido,numero_proveedor, nombre_proveedor, fecha_pedido,numero_proveedor, nombre_proveedor, dirección_proveedor, numero_producto, precio_producto, dirección_proveedor, numero_producto, precio_producto, cantidad_producto)cantidad_producto)
• En un mismo pedido puede haber más de un productoEn un mismo pedido puede haber más de un producto