390 likes | 539 Views
Universidad San Pedro Ingeniería Informática y de Sistemas. Internet. Base de Datos II. Resultados. BASE DATOS. Requerimientos. Docente: Ing. Francisco Rodríguez. Base de Datos. Tema 4: TEORIA DE LA NORMALIZACION. Agenda. Tema 4: Teoria de la Normalización.
E N D
Universidad San Pedro Ingeniería Informática y de Sistemas Internet Base de Datos II Resultados BASE DATOS Requerimientos Docente: Ing. Francisco Rodríguez
Base de Datos Tema 4: TEORIA DE LA NORMALIZACION
Agenda • Tema4: Teoria de la Normalización • Tipos de Dependencias • Dependencias Funcionales • Necesidad de un Método Formal de Optimización • Formas Normales • Primera Forma Normal • Segunda Forma Normal • Tercera Forma Normal • Forma Normal de Boyce y Codd
1. Dependencias • Son propiedades inherentes al contenido semántico de los datos; • son un tipo especial de restricción de usuario en el modelo relacional, queafecta únicamente a los atributos dentro de una única relación y; • se han de cumplir para cualquier extensión de un esquema de relación.
1. Dependencias • A fines de simplificación, se considera que un esquema derelación es un par de la forma: R (A, DEP) – donde: • A es el conjunto de atributos de la relación, y • DEP es el conjunto de dependencias existentes entre los atributos.
1. Dependencias • Existen distintos tipos de dependencias: – Funcionales (DF), – Multivaluadas (DM), – Jerárquicas (DJ), y – de Combinación (DC) (también llamadas producto). • Cada tipo de dependencia se caracteriza por ser una asociación particular entre los datos. • El grupo más restrictivo (y también más numeroso) es el de las dependencias funcionales. Sobre este conjunto de dependencias, se apoyan las tres primeras formas normales y la forma normal de Boyce_Codd.
1. Dependencias Cada tipo de dependencia es un caso particular del grupo que lesigue:
2. Dependencias Funcionales DEFINICION DE DEPENDENCIA FUNCIONAL Sea el esquema de relación R(A, DF) y sean X e Y dos descriptores(subconjuntos de atributos de A). Se dice que existe una DF entre X e Y,de forma que X determina a Y, si y sólo si se cumple que paracualesquiera dos tuplas de R, u y v tales que u[X] = v[X], entoncesnecesariamente u[Y] = v[Y]. – Esto significa que a cada valor x del atributo X, le corresponde un únicovalor y del atributo Y.
2. Dependencias Funcionales DETERMINANTE – Un determinante o implicante es un conjunto de atributos del quedepende funcionalmente otro conjunto de atributos al que llamamosdeterminado o implicado. • Ejemplo: – El código de estudiante determina el nombre del mismo: Cód_Estudiante Nombre
2. Dependencias Funcionales DESCRIPTORES EQUIVALENTES – Dos descriptores X e Y se dice que son equivalentes si: X Y Y X • Ejemplo: – Los atributos Cód_Estudiante y DNI son equivalentes (se supone quedos alumnos distintos no pueden tener ni el mismo código ni el mismoDNI), es decir: Cód_Estudiante DNI
2. Dependencias Funcionales GRAFO DE DEPENDENCIAS – Grafo de dependencias: Representa un conjunto de atributos y las DFexistentes entre ellos. Es una herramienta muy útil a la hora de explicitar lasDF. Cod_Estudiante Nombre_Est, Direccion Nota, Semestre Cod_Curso Nombre, Num_horas, Cod_Plan
2. Dependencias Funcionales • Dependencia funcional completa o plena: Se dice que Ytiene dependencia funcional plena o Completade Y, si depende funcionalmente de X, pero no depende deningún subconjunto de X. Se representa por X ==> Y Cód_Curso, Cód_Edición, Cód_Estudiante → Nota • Dependencia funcional X → Y es trivial si Y ⊆ X Cód_Curso, Cód_Edición →Cód_Curso
2. Dependencias Funcionales • Una DF elemental es una DF plena, no trivial y en la que el implicado esun atributo único: X → Y es elemental si
2. Dependencias Funcionales – Únicamente las DF elementales son útiles para la normalización. Elresto de DF no interesan y no se tienen en cuenta. • Dado el esquema de relación R (X, Y, Z)en el que se cumple que XY , Y Z , YX se dice que Z tiene una DF transitiva respecto a X a través de Y. – Se representa por X Z – Notar que X e Y no tienen que ser equivalentes
2. Dependencias Funcionales • DF transitiva estricta: – Es cuando además de las condiciones anteriores, también se cumple que Z Y • Ejemplo de DF transitiva: – Dada la relación CURSO_PROGRAMA(Cód_Curso, Cód_Programa, Cód_Departamento) – en donde se tiene para cada curso su código, el programa que lo incluyey el departamento del que depende el programa (suponemos que uncurso se imparte en un único programa y que un programa lo prepara unúnico departamento) se tendrán las siguientes DF
2. Dependencias Funcionales Cód_Curso Cód_Programa Cód_Programa Cód_Departamento – Además, como en un programa se imparten varios cursos: Cód_Programa Cód_Curso – y por tanto, se cumple la DF transitiva Cód_Curso Cód_Departamento que también es estricta porque Cód_Departamento Cód_Programa
3. Necesidad de un Método Formal de Optimización NECESIDAD DE UN METODO FORMAL DE OPTIMIZACION DEL DISEÑO RELACIONAL •Los esquemas de relación obtenidos durante la etapa de diseño lógico, segúnla metodología ya explicada, pueden presentar algunos problemas derivadosde fallos en: – la percepción del UD, – el diseño del esquema E/R, o – el paso al modelo relacional. • Entre estos problemas cabe destacar los siguientes: – Incapacidad para almacenar ciertos hechos. – Redundancias y, por tanto, posibilidad de inconsistencias. – Ambigüedades.
3. Necesidad de un Método Formal de Optimización NECESIDAD DE UN METODO.. (cont..) –Pérdida de información (aparición de tuplas espurias). – Pérdida de DF, es decir, de ciertas restricciones de integridad que dan lugar ainterdependencias entre los datos. – Existencia de valores nulos (inaplicables). – Aparición en la BD de estados que no son válidos en el mundo real (anomalías de inserción, borrado y modificación).
3. Necesidad de un Método Formal de Optimización Formalmente plantearemos la teoría de la normalización en los siguientes términos: Dado un esquema de relación R(A, D) (esquema origen), siendo A el conjunto de atributos y D el conjunto de dependencias existentes entre ellos, se trata de transformar, por medio de sucesivas proyecciones, este esquema de partida en un conjunto de n esquemas de relación (esquemas resultantes): {Ri (Ai, Di) } i=1,n tales que cumplan unas determinadas condiciones.
3. Necesidad de un Método Formal de Optimización •Se trata, por tanto, de buscar un conjunto de esquemas Ri que sean equivalentes a R (para lo cual será preciso definir el Concepto de equivalencia de esquemas) y que sean también mejores (en el sentido que enunciaremos) que el esquema origen.• Son tres las propiedades que han de cumplir los esquemas de relación Ri para ser equivalentes a R y mejores que R: a) Conservación de la información. b) Conservación de las dependencias. c) Mínima redundancia de los datos (normalización de las relaciones).
3. Necesidad de un Método Formal de Optimización • Si se cumplen a) y b), es decir, la transformación de R en {Ri} se hace sin pérdida de información ni de dependencias, se dice que {Ri} es equivalentea R.• y si las relaciones resultantes {Ri} están en formas normales más avanzadas que el esquema origen R, se dice que {Ri} es mejor que R.• Además del grado de normalización, existen otros criterios para calificar la bondad de un esquema relacional:– eficiencia frente a las consultas, y– captar mejor la semántica del mundo real.
• Ejemplo de diseño inadecuado: problemas de redundancia; y anomalías demodificación, inserción y borrado.
4. Formas Normales •Formas Normales Básicas: –Inicialmente, Codd propuso en 1970 tres formas normales basadas en lasDF: primera (1FN), segunda (2FN) y tercera forma normal (3FN),CODD (1970). – Debido a que en 3FN aún persisten algunos problemas en las relaciones,en 1974 Codd y Boyce introdujeron una definición más restrictiva de latercera formal normal, que se denominó Forma Normal de Boyce-Codd(FNBC).
4. Formas Normales • Formas Normales Avanzadas: –En 1977 y 1979 Fagin introduce la cuarta (4FN) y quinta (5FN) formasnormales respectivamente. Ambas están basadas en otro tipo dedependencias distintas de las funcionales: las dependencias multivaluadas(4FN) y las dependencias de combinación (5FN). • Cuando un esquema de relación está en una Forma Normal,implícitamente también está en las formas normales inferiores.
5. Primera Forma Normal (1FN) •La primera forma normal (1FN) es una restricción inherente al modelorelacional, por lo que su cumplimiento es obligatorio: – para que una tabla pueda ser considerada una relación no debe admitir gruposrepetitivos, esto es, debe estar en 1FN.
6. Segunda Forma Normal (2FN) SEGUNDA FORMA NORMAL •La 2FN está basada en el concepto de dependencia plena y en lasinterrelaciones existentes entre los atributosprincipales (los que seencuentran en alguna de las claves) y no principales (los que no seencuentran en ninguna clave). Definición: • Se dice que una relación está en 2FN si: – Está en 1FN. – Cada atributo no principal tiene DF plena respecto de cada una de las claves. • Siempre es posible transformar un esquema de relación que no esté en 2FN, en esquemas de relación en 2FN, sin que se produzca pérdida de informacióno de dependencias.
6. Segunda Forma Normal (2FN) •La 2FN no se cumple cuando: – Algún atributo no principal, depende funcionalmente de algúnsubconjunto de una clave. • Siempre están en 2FN las relaciones: – Binarias. – Con todas las claves simples, es decir, que contienen un sólo atributo. – Que todos los atributos son principales, es decir, forman parte de algunaclave.
6. Segunda Forma Normal (2FN) ORDEN_ITEM La relación está en 2FN ??????
6. Segunda Forma Normal (2FN) SOLUCION ORDEN_ITEM ITEM
6. Segunda Forma Normal (2FN) SEGUNDA FORMA NORMAL. EJM Determinar si la siguiente relación se encuentra en 2FN VENTAS (COD_PRODUCTO,COD_ALMACEN, CANTIDAD, DIR_ALMACEN) SOLUCION N_VENTAS (COD_PRODUCTO, COD_ALMACEN, CANTIDAD) ALMACEN (COD_ALMACEN ,DIR_ALMACEN)
7. Tercera Forma Normal (3FN) TERCERA FORMA NORMAL •La 3FN está basada en el concepto de dependencia transitiva. Definición: • Un esquema de relación R, está en 3FN si, y sólo si: – Está en 2FN. – No existe ningún atributo no principal que dependa transitivamente de algunaclave de R. • Siempre es posible transformar un esquema de relación que no esté en 3FN,en esquemas de relación en 3FN, sin que se produzca pérdida de informacióno de dependencias.
7. Tercera Forma Normal (3FN) •La 3FN no se cumple cuando: – Existen atributos no principales que dependen funcionalmente de otrosatributos no principales. • Siempre están en 3FN las relaciones: – Binarias. – En las que todos los atributos son principales. – Que tienen un único atributo no principal.
7. Tercera Forma Normal (3FN) ORDEN La relación está en 3FN ??????
7. Tercera Forma Normal (3FN) ORDEN CLIENTE
7. Tercera Forma Normal (3FN) • Ahora revisemos si la relación ORDEN_ITEM está en 3FN?
Esquema Relacional Final • ITEM (id_item, descrip_item, precio) • ORDEN_ITEM(id_orden, id_item, cantidad) • ORDEN (id_orden, fecha, id_cliente) • CLIENTE (id_cliente, Nombre_cliente, direccion)
7. Tercera Forma Normal (3FN) TERCERA FORMA NORMAL. EJM DETERMINAR SI LA SIGUIENTE RELACION ESTA EN 3FN EMPLEADO (COD_EMP, COD_DPTO, NOMBRE_DPTO) NO SE ENCUENTRA EN 3FN SOLUCION EMPLEADO (COD_EMP, COD_DPTO) DEPARTAMENTO (COD_DPTO, NOMBRE_DPTO)