Download - Teoria de La Normalizacion
-
11Tema 8. Teora de la normalizacin
8. Teora de la Normalizacin
Objetivos Apreciar la importancia y utilidad de emplear la teora de la
normalizacin en la etapa de diseo lgico de bases de datos relacionales, para detectar y corregir esquemas relacionales diseados inadecuadamente.
Comprender los conceptos de dependencia funcional y dependencia multivalorada.
Entender el significado de las formas normales 1FN, 2FN, 3FN, FNBC y 4FN.
Comprender los diferentes procedimientos algortmicos de la teora de la normalizacin que permiten determinar las claves de, o normalizar, una relacin.
2Tema 8. Teora de la normalizacin
Contenidos
8.1. Motivacin1. Dificultades en el diseo de esquemas relacionales2. Obtencin de esquemas relacionales de calidad
8.2. Dependencias funcionales8.3. Las tres primeras formas normales y la forma normal de
Boyce/Codd8.4. Enfoques de diseo relacional: Anlisis y Sntesis8.5. Dependencias multivaloradas y cuarta forma normal
8. Teora de la Normalizacin
-
23Tema 8. Teora de la normalizacin
Bibliografa
[EN 2002] Elmasri, R.; Navathe , S.B.: Fundamentos de Sistemas de Bases de Datos . 3 Edicin. Addison-Wesley. (Cap. 14 y 15)
[EN 1997] Elmasri, R.; Navathe , S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2 Ed. Addison-Wesley Iberoam. (Cap. 12 y 13)
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseo de bases de datos relacionales. Ra-Ma. (Cap. 4 al 6)
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases de datos . 3 Edicin. McGraw-Hill. (Cap. 7)
[CBS 1998] Connolly; Begg; Strachan: Database Systems: A Practical Approach to Design, Implementation and Management. 2nd Ed. Add.-Wesl. (Cap. 6)
[D 2001] Date, C.J.: Introduccin a los sistemas de bases de datos. 7 Edicin. Prentice-Hall. (Cap. 10 al 12)
8. Teora de la Normalizacin
4Tema 8. Teora de la normalizacin
Objetivo principal del desarrollo de un esquema de bases de datos relacional:
Crear una representacin precisa y adecuada de los datos, sus relaciones y sus restricciones
Definicin de normalizacin (E.F. Codd, 1972):
Tcnica para producir un conjunto de relaciones(tablas) con propiedades deseables, dados los
requisitos de datos de una organizacin
8.1 MotivacinDiseo en el modelo relacional de datos
-
35Tema 8. Teora de la normalizacin
Recordemos que... esquema de relacin = { atributos } esquema de BD relacional= { esquemas de relacin }
Cmo obtener un esquema de BDR? Segn el sentido comn del diseador de BD, o Mediante transformacin del esquema conceptual (diagrama MERE)
Pero, cmo saber si mi esquema es ... mejor que el tuyo?... ms apropiado?... de mayor calidad?
Necesitamos pautas o teoras que ayuden al diseador a identificar el agrupamiento ptimo de los atributos para cada relacin en el esquema
intuicin?
8.1 MotivacinDiseo en el modelo relacional de datos (2)
6Tema 8. Teora de la normalizacin
Se puede evaluar la idoneidad de esquemas de relacin en...Nivel lgico interpretacin
de cada esquema de relacin (base o vista) ydel significado de sus atributos
JSi el esquema de relacin es bueno, el usuario comprende su significado realizar consultas correctas
Nivel de almacenamiento cmo se almacenan y actualizan las tuplas de cada relacin base
8.1 MotivacinDiseo en el modelo relacional de datos (y 3)
-
47Tema 8. Teora de la normalizacin
Propiedades no deseables que puede tener un esquema de relacin diseado de forma incorrecta
Repeticin de informacin
Anomalas de actualizacin de la base de datos
Incapacidad para representar cierta informacin
Prdida de informacin
8.1 MotivacinDificultades en el diseo de esquemas relacionales
8Tema 8. Teora de la normalizacin
Ejemplo 1: informacin sobre pedidos (y productos y clientes) almacenada en una nica relacin
PEDIDOnPed codProd descProd precProd uds cifCli nomCli ciudCli distanc12 P1 silla 100 12 A12345678 Forte Madrid 40009 P1 silla 100 30 V22332233 Calero Valencia 20022 P1 silla 100 15 N43344334 Carazo Alicante 8015 P2 mesa 250 35 A12345678 Forte Madrid 40024 P2 mesa 250 20 V22332233 Calero Valencia 20005 P2 mesa 250 20 K11112222 Mitra Madrid 40011 P3 silln 175 10 N43344334 Carazo Alicante 80...
8.1 MotivacinDificultades en el diseo de esquemas relacionales (2)
-
59Tema 8. Teora de la normalizacin
Ejemplo 1 (continuacin)PEDIDO ( nPed, codProd, descProd, precProd, uds, cifCli, nomCli, ciudCli, distanc )
Existe repeticin de informacin? Hay anomalas de actualizacin?
Qu ocurre si aadimos otro pedido, el n 27, hecho por el cliente Soriano (CIF G22224444) de Yecla (a 100 km.), de 5 unidades del producto P3 con precio 175?
Qu pasa si el cliente Forte de Madrid se traslada a Valencia? Y si el producto P1 aumenta de precio?
Qu ocurre si eliminamos el producto P2 de la relacin PEDIDO?
Existe incapacidad para representar informacin? Cmo representar (almacenar) un cliente que no haya realizado ningn pedido? Y un producto que todava no haya sido pedido por un cliente?
8.1 MotivacinDificultades en el diseo de esquemas relacionales (3)
10Tema 8. Teora de la normalizacin
Ejemplo 2: informacin sobre prstamos (y sucursales) almacenada en una nica relacin
PRSTAMOidSuc ciudSuc activo nomCli numPrest importeCentro Arganzuela 10.818.215 Santos P-17 1.202Moralzarzal La Granja 2.524.250 Gmez P-23 2.404Navacerrada Aluche 2.043.440 Lpez P-15 1.803Centro Arganzuela 10.818.215 Soto P-14 1.803Becerril Aluche 480.810 Santos P-93 601Collado Aluche 9.616.194 Abril P-11 1.082Navas Alcal de H. 360.607 Valdivieso P-29 1.442Segovia Cerceda 4.447.490 Lpez P-16 1.570Centro Arganzuela 10.818.215 Gonzlez P-63 2.404Navacerrada Aluche 2.043.440 Rodrguez P-25 3.005Galapagar Arganzuela 8.534.375 Amol P-10 2.645
8.1 MotivacinDificultades en el diseo de esquemas relacionales (4)
-
611Tema 8. Teora de la normalizacin
Ejemplo 2 (continuacin)PRESTAMO ( idSuc, ciudSuc, activo, nomCli, numPrest, importe )
Existe repeticin de informacin?
Hay anomalas de actualizacin? Qu pasa si aadimos otro prstamo, P-31, por 1.803, para el cliente Rodrguez, hecho
por la sucursal Navacerrada (ubicada en Aluche y con activo de 2.043.440)? Qu ocurre si la sucursal Centro se traslada a otra ciudad? Qu pasa cuando todos los prstamos de una sucursal se hayan pagado?
Existe incapacidad para representar informacin? Cmo almacenar una sucursal que no haya concedido todava ningn prstamo?
8.1 MotivacinDificultades en el diseo de esquemas relacionales (5)
12Tema 8. Teora de la normalizacin
La solucin es descomponer el esquema en varias relaciones
Ejemplo 2: PRESTAMO ( idSuc, ciudSuc, activo, nomCli, numPrest, importe)
Descomposicin en dos esquemas (son proyecciones de PRESTAMO)
SUCURSAL_CLIENTE ( idSuc, ciudSuc, activo, nomCli )
PRESTAMO_CLIENTE ( nomCli, numPrest, importe )
8.1 MotivacinDificultades en el diseo de esquemas relacionales (6)
-
713Tema 8. Teora de la normalizacin
SUCURSAL_CLIENTE
idSuc ciudSuc activo nomCliCentro Arganzuela 10.818.215 SantosMoralzarzal La Granja 2.524.250 GmezNavacerrada Aluche 2.043.440 LpezCentro Arganzuela 10.818.215 SotoBecerril Aluche 480.810 SantosCollado Aluche 9.616.194 AbrilNavas Alcal de H. 360.607 ValdiviesoSegovia Cerceda 4.447.490 LpezCentro Arganzuela 10.818.215 GonzlezNavacerrada Aluche 2.043.440 RodrguezGalapagar Arganzuela 8.534.375 Amol
8.1 MotivacinDificultades en el diseo de esquemas relacionales (7)
14Tema 8. Teora de la normalizacin
PRESTAMO_CLIENTE
nomCli numPrest importeSantos P-17 1.202Gmez P-23 2.404Lpez P-15 1.803Soto P-14 1.803Santos P-93 601Abril P-11 1.082Valdivieso P-29 1.442Lpez P-16 1.570Gonzlez P-63 2.404Rodrguez P-25 3.005Amol P-10 2.645
8.1 MotivacinDificultades en el diseo de esquemas relacionales (8)
-
815Tema 8. Teora de la normalizacin
Consulta: obtener las sucursales con prstamos con importe < 1.202 Es necesario reconstruir la relacin PRESTAMO: JOIN entre SUCURSAL_CLIENTE y PRESTAMO_CLIENTE, va el atributo nomCli
SELECT idSuc FROM Sucursal_Cliente SC, Prstamo_Cliente PCWHERE SC.nomCli=PC.nomCli AND importe < 1202;
equivalente a esta otra sentencia:SELECT idSuc FROM Sucursal_Cliente NATURAL JOIN Prstamo_Cliente WHERE importe < 1202;
Resultado obtenido: tres tuplas ( (Centro...), (Becerril...), (Collado...)) Pero el resultado correcto es: ( (Becerril...), (Collado...) )
8.1 MotivacinDificultades en el diseo de esquemas relacionales (9)
16Tema 8. Teora de la normalizacin
SUCURSAL_CLIENTE * PRESTAMO_CLIENTEidSuc ciudSuc activo nomCli numPrest importeCentro Arganzuela 10.818.215 Santos P-17 1.202Centro Arganzuela 10.818.215 Santos P-93 601Moralzarzal La Granja 2.524.250 Gmez P-23 2.404Navacerrada Aluche 2.043.440 Lpez P-15 1.803Navacerrada Aluche 2.043.440 Lpez P-16 1.570Centro Arganzuela 10.818.215 Soto P-14 1.803Becerril Aluche 480.810 Santos P-17 1.202Becerril Aluche 480.810 Santos P-93 601Collado Aluche 9.616.194 Abril P-11 1.082Navas Alcal de H. 360.607 Valdivieso P-29 1.442Segovia Cerceda 4.447.490 Lpez P-15 1.803Segovia Cerceda 4.447.490 Lpez P-16 1.570Centro Arganzuela 10.818.215 Gonzlez P-63 2.404Navacerrada Aluche 2.043.440 Rodrguez P-25 3.005Galapagar Arganzuela 8.534.375 Amol P-10 2.645
8.1 MotivacinDificultades en el diseo de esquemas relacionales (10)
-
917Tema 8. Teora de la normalizacin
Hay ms tuplas en SUCURSAL_CLIENTE * PRESTAMO_CLIENTE que en PRESTAMO, pero existe menos informacin:
descomposicin de reunin con prdida
Cul es la causa de esta prdida de informacin?
Es la siguiente descomposicin de reunin sin prdida?SUCURSAL( idSuc, ciudSuc, activo )INFO_PRESTAMO ( idSuc, nomCli, numPrest, importe )
L Una descomposicin descuidada puede conducir a otro diseo incorrecto, debido a la prdida de informacin
8.1 MotivacinDificultades en el diseo de esquemas relacionales (y 11)
18Tema 8. Teora de la normalizacin
Para crear buenos esquemas de relacin, o para medir su calidad...Seguir pautas informales de diseoEmplear una tcnica formal: normalizacin
Se minimizar la aparicin de las propiedades no deseables
8.1 MotivacinObtencin de esquemas relacionales de calidad
-
10
19Tema 8. Teora de la normalizacin
Semntica de los atributos de un esquema de relacin
PAUTA 1: Disear esquemas de relacin con significado fcil de entender. Evitar combinar atributos de mltiples tipos de entidad e interrelacin en una relacin. Si una relacin proviene de un nico tipo de entidad o interrelacin suele tener un significado claro; en caso contrario suele ser una mezcla ambigua.
Reduccin de valores redundantes en las tuplas minimizar espacio de almacenamiento ocupado por las relaciones base evitar anomalas de actualizacin
PAUTA 2: Disear esquemas de relaciones base sin anomalas de actualizacin. Si para incrementar la eficiencia, se permite la posibilidad de anomalas, indicarlas claramente para su tratamiento correcto por parte de las aplicaciones con acceso a los datos (aunque, normalmente, se crearn vistas para las consultas ms frecuentes).
8.1 MotivacinObtencin de esquemas relacionales de calidad (2)Pautas de diseo de esquemas de relacin
20Tema 8. Teora de la normalizacin
Reduccin de nulos en las tuplas NULL tiene mltiples significados, lo que dificulta...
El entendimiento de la semntica de los atributos y La especificacin de operaciones JOIN y agregadas (SUM, AVG...)
NULL supone el desperdicio de espacio de almacenamiento
PAUTA 3: Evitar atributos que puedan contener NULL en las relaciones base. Si no es posible, conseguir que NULL se aplique slo a casos excepcionales y no a la mayora delas tuplas.
Evitar la prdida de informacin: tuplas falsas (espurias) Esta pauta puede expresada de manera ms formal
(Propiedad de Reunin sin Prdida --se ver)
PAUTA 4: Disear las relaciones de forma que puedan ser reunidas (JOIN) mediante condiciones de igualdad sobre atributos Clave Primaria y Clave Externa, para evitar tuplas falsas.
8.1 MotivacinObtencin de esquemas relacionales de calidad (3)Pautas de diseo de esquemas de relacin
-
11
21Tema 8. Teora de la normalizacin
Proceso de normalizacin Mtodo formal, que identifica relaciones con base en su clave primaria
(o candidatas en el caso de la FNBC) y las dependencias funcionales entre sus atributos
Series de tests sobre cada esquema de relacin individual, para determinar si satisface o no los requisitos de determinada forma normal
El esquema relacional de BD puede ser normalizado hasta una forma normal especfica, para evitar propiedades no deseables
Formas normales Basadas en dependencias funcionales entre los atributos de una relacin: 1FN, 2FN, 3FN FNBC (R. Boyce y Codd, 1974) definicin ms fuerte de la 3FN
4FN, 5FN (Fagin, 1977, 1979)
8.1 MotivacinObtencin de esquemas relacionales de calidad (y 4)Normalizacin de esquemas de relacin
22Tema 8. Teora de la normalizacin
Sea R un esquema de relacin, cuyos atributos son a1, a2, ...an En general, una dependencia funcional a b es una...
Restriccin entre dos conjuntos de atributos (descriptores) a y bPropiedad inherente al contenido semntico de los datos, que
se debe cumplir para cualquier extensin de una relacin r con esquema de relacin R
Una dependencia funcional... Describe un esquema de relacin R, mediante la especificacin de
restricciones (sobre atributos) que deben cumplirse siempre Es definida por alguien que conoce (bien) la semntica de los atributos del
esquema de relacin R
El concepto de dependencia funcional es esencial para el diseo de esquemas de base de datos sin redundancia
8.2 Dependencias funcionales
-
12
23Tema 8. Teora de la normalizacin
Sea R un esquema de relacin, cuyo conjunto de atributos es A, ysean los descriptores a y b, donde a A, b A, se dice que
aa bbsi "" t1, t2 r(R) y t1[aa]=t2[aa]
entonces t1[bb]=t2[bb]
Es decir, bb depende funcionalmente de aa si para cualesquiera dos tuplas t1y t2 (de la extensin de una relacin r(R) cualquiera) que tengan los mismos valores en los atributos que forman a, tambin tienen los mismos valores para los atributos que forman b
Tambin se dice que a determina funcionalmente a b Que a b no significa que dado a pueda deducirse el valor de b Si a b , no sabemos nada acerca de si b a o no
8.2 Dependencias funcionalesDefinicin formal
24Tema 8. Teora de la normalizacin
Son propiedades de la semntica de los atributos Una dependencia funcional (en adelante, df) no puede ser demostrada,
pero s afirmada por observacin de la realidad
Son propiedades del esquema de relacin (intensin) y no delcontenido (extensin)
A partir de la observacin de una extensin concreta de una relacin rcon esquema R, r(R), slo se puede deducir que no existe (no se cumple) cierta dependencia funcional
Extensiones permitidas (vlidas) y no permitidas Si cierta df es cierta para un esquema de relacin R, entonces cualquier
extensin de una relacin r(R) que no cumple dicha df, ser una extensin no permitida (no vlida)
8.2 Dependencias funcionales
-
13
25Tema 8. Teora de la normalizacin
Dado un conjunto de dependencias funcionales DF que R satisface, podemos deducir que R cumple otras dfs
Sern dfs implicadas lgicamente por DF No es necesario conocer la extensin de ninguna relacin r(R)
Sea R(A, DF) donde A={a, b, c} y DF={a b, b c}, entonces la df a c tambin se satisface en R
Normalmente, en DF slo se especifican las dfs obvias para un esquema de relacin R: las determinadas sin dificultad a partir de la semntica de los atributos de R
A partir de ellas, se puede inferir el conjunto completo de dfs que se cumplen en R
Esto es esencial para el diseo de buenos esquemas de relacin
8.2 Dependencias funcionalesReglas de inferencia
26Tema 8. Teora de la normalizacin
Sean los descriptores a, b, g, d, todos subconjuntos de A Regla de reflexividad
Si b a entonces a b
Regla de aditividad (de aumentatividad)Si a b entonces ag bg
Regla de transitividadSi a b y b g entonces a g
Conjunto de 3 reglas de inferencia completo y correcto... ... pero tedioso de utilizar
8.2 Dependencias funcionalesAxiomas de Armstrong
dependencia funcional
trivial
-
14
27Tema 8. Teora de la normalizacin
... deducibles a partir de los Axiomas de Armstrong
Regla de pseudotransitividadSi a b y gb d entonces ag d
Regla de unin (aditiva)Si a b y a g entonces a bg
Regla de descomposicin (de proyectividad)Si a bg entonces a b y a g
8.2 Dependencias funcionalesOtras reglas de inferencia
N slo para laparte derecha
de una df!!
28Tema 8. Teora de la normalizacin
El cierre de DF (DF+) es el conjunto de todas las dfs que puedan ser inferidas a partir de DF, aplicando los axiomas de Armstrong
Una df a b se infiere de un conjunto de dfs DF de R si toda extensin de r(R) que cumple DF, tambin cumple a b
Decir que una df aa bb DF+ significa que se deriva o es inferiblea partir de las dfs contenidas en DF
El clculo de DF+ suele tener un coste computacional excesivo...
8.2 Dependencias funcionalesCierre de un conjunto de dependencias funcionales
-
15
29Tema 8. Teora de la normalizacin
... por eso su obtencin sigue los siguientes pasos:
1. Establecer los conjuntos de atributos a que son determinantes(implicantes o parte izquierda) de una df de DF
2. Para cada a aplicar los Axiomas de Armstrong para determinarlos atributos que dependen funcionalmente de a
El paso 2 es el clculo del cierre de un descriptor a sobre un conjunto de dependencias funcionales DF, denotado por aa+DF
8.2 Dependencias funcionalesCierre de un conjunto de dependenc. funcionales (2)
30Tema 8. Teora de la normalizacin
a+ = aREPETIR HASTA QUE a+ NO CAMBIE
PARA CADA b d EN DFSI b a+ Y d a+
ENTONCES a+= a+ d
Sea R(A, DF), donde A={a,b,c,g,h,i} y DF={ab, ac, cgh, cgi, bh}Calcule {ag}+DF
Sea R(A, DF), donde A={a,b,c,d,e,f} y DF={abc, bcad, de, cfb}Calcule {ab}+DF
8.2 Dependencias funcionales
Clculo del cierre de un descriptor aa+DF
Cierre de un conjunto de dependenc. funcionales (3)
-
16
31Tema 8. Teora de la normalizacin
La dependencia funcional aa bb se cumple en un conjunto DF de dependencias funcionales si aa bb DF+
a b DF+ si y slo si bb aa+DF
Comprobar que a b se cumple en DF es ver si bb depende funcionalmente de aa con base en las dependencias funcionales de DF
Como a+DF contiene todo atributo que depende funcionalmente de a con base en DF, slo habr que comprobar si entre ellos est b
Sea R(A, DF), donde A={a,b,c,d,e,f} y DF={abc, bcad, de, cfb}Compruebe si se cumplen estas dependencias funcionales: ab d d a
8.2 Dependencias funcionales
Comprobacin del cumplimiento de una df en DF
Cierre de un conjunto de dependenc. funcionales (y 4)
32Tema 8. Teora de la normalizacin
Hasta ahora hemos estudiado el concepto intuitivo de (super)clave descriptor que identifica unvocamente cada tupla en una relacin
Definicin formal de clave un descriptor es clave si todos los atributos de la relacin dependen
funcionalmente de lSea R(A, DF), el descriptor K A es clave si (K)+DF = A
Es decir, su cierre es el conjunto completo de atributos de R Esto asegura que no hay dos tuplas distintas con igual valor para K
Determinacin del conjunto K de (super)claves de R(A, DF)K = A PARA CADA a EN K (todos los subconjuntos posibles de A)
SI ( K-a )+DF = A , ENTONCES K = K - a Tras esto, puede aplicarse el algoritmo siguiente (a partir del paso 3), para
ver cules de las claves encontradas son claves candidatas (mnimas) en R
8.2 Dependencias funcionalesDeterminacin de claves de un esquema de relacin
-
17
33Tema 8. Teora de la normalizacin
Algoritmo para determinar si aa es clave candidata de R(A, DF)1. CALCULAR a+DF2. SI a+ DF = A , ENTONCES a es superclave,
SI NO, a no es clave3. SI a es superclave, ENTONCES
calcular todos los subconjuntos a de aREPETIR PARA CADA a
SI a+DF = A , ENTONCES a no es claveSI ninguna a cumple lo anterior, a es clave candidata
Sea PRESTAMO (nsocio, nomsocio, codlibro, fecha, editorial, pas),donde DF={ nsocio nomsocio,
nomsocio nsocio, Es clave {nomsocio, codlibro}?codlibro editorial, editorial pas, {nsocio,codlibro} fecha}
8.2 Dependencias funcionalesDeterminacin de si un descriptor es clave
34Tema 8. Teora de la normalizacin
Sean DF1 y DF2 conjuntos de dependencias funcionales para Rse dice que DF2 se sigue de DF1, o bien que DF1 recubre a DF2 si cada extensin de R que satisface toda df de DF1, tambin
cumple toda df de DF2, o lo que es lo mismo: si cada df en DF2 tambin est en DF1+ (puede inferirse de DF1)
DF1 y DF2 son equivalentes si DF1 recubre a DF2 y DF2 recubre a DF1
que es lo mismo que decir...
DF1 y DF2 son equivalentes si DF1+ = DF2+
8.2 Dependencias funcionalesEquivalencia de dos conjuntos de dependencias funcionales
-
18
35Tema 8. Teora de la normalizacin
A menudo las dfs de un esquema R pueden ser presentadas de varias maneras diferentes, sin que ello signifique cambiar el conjunto de instancias legales de una relacin con dicho esquema
Esas maneras sern distintos conjuntos de dependencias funcionales DFi equivalentes entre s
Un ejemplo, (quiz algo tonto pero til) es el siguiente:DF1={ a b ; b c } es equivalente a DF2={a b ; b c ; a c }
Ser el conjunto de reglas de inferencia (los axiomas de Armstrong, por ejemplo) lo que permitir convertir un conjunto de dependencias funcionales en otro equivalente
8.2 Dependencias funcionalesEquivalencia de dos conjuntos de dependencias funcionales (2)
36Tema 8. Teora de la normalizacin
Es costoso comprobar que DF1 y DF2 son equivalentes, pues supone calcular DF1+ y DF2+
As que suele calcularse as:1. Comprobar si DF1 recubre a DF22. Comprobar si DF2 recubre a DF1si 1 y 2 tienen como resultado S, entonces DF1 y DF2 son equivalentes
Y para comprobar si DF1 recubre a DF2 es necesario ver si toda df a b en DF2 tambin est en DF1+, es decir
a. Calcular a+DF1 para cada a b en DF2b. Ver si b a+DF1si todas las df de DF2 cumplen b, entonces DF1 recubre a DF2
8.2 Dependencias funcionalesEquivalencia de dos conjuntos de dependencias funcionales (y 3)
-
19
37Tema 8. Teora de la normalizacin
Conjunto de dependencias funcionales simplificado, DFm Toda df tiene un solo atributo en la parte derecha No tiene dependencias funcionales redundantes: no se puede quitar una df
de DFm y obtener un conjunto de dfs equivalente a DFm
No tiene atributos extraos: no se puede quitar un atributo de una df en DFmy obtener un conjunto de dfs equivalente a DFm
Atributo extrao en una dependencia funcional de DF Sea una df a b en DF,
aa es un atributo extrao si (aa - a) bb DF+
El atributo a puede ser eliminado sin modificar el cierre de DF
Dependencia funcional redundante de DF La df a b es redundante si puede derivarse de G={DF (aa bb)}
es decir, si bb aa +G La df d puede ser eliminada sin modificar el cierre de DF
8.2 Dependencias funcionalesRecubrimiento cannico o minimal
38Tema 8. Teora de la normalizacin
Es interesante utilizar el recubrimiento minimal de un conjunto de dependencias funcionales porque...
Toda dependencia funcional es una restriccin de integridad(semntica). Si no hay dfs redundantes, se minimiza el coste de mantenimiento de la integridad de la BD sin disminuir la semntica
DFm se utiliza para normalizar una relacin y para calcular las claves, as que se disminuye el coste de los algoritmos empleados para ello
Dependencia funcional completa a b es completa si la parte derecha b no depende de ningn
subconjunto de la parte izquierda a (b depende de a en su conjunto)
8.2 Dependencias funcionalesRecubrimiento cannico o minimal (2)
-
20
39Tema 8. Teora de la normalizacin
0. Transformar toda df del conjunto DF en elemental, es decir:a. Completab. Con un solo atributo en el implicado (parte derecha)c. No trivial
1. Eliminar atributos extraosREPETIR PARA CADA a b EN DF
L = aREPETIR POR CADA ATRIBUTO a DE a
SI b (a - a)+DF ENTONCES L= L - aREEMPLAZAR a b POR L b en DF
2. Eliminar dependencias funcionales redundantesH = DFREPETIR PARA CADA a b EN DF
G = H - {a b} SI b a+G ENTONCES H= G
3. DFm = H
8.2 Dependencias funcionalesRecubrimiento cannico o minimal (3)
40Tema 8. Teora de la normalizacin
El orden de los pasos 1 y 2 no puede intercambiarse Si se intercambian, no siempre se obtiene el recubrimiento minimal
Sea R(A, DF), donde A={a, b, c} y DF={ab c, c b, a b}Calcule DFm
El recubrimiento minimal DFm no es nico Sea LIBRO(codlibro, isbn, editorial, pais),
donde DF={codlibro isbn editorial, isbn codlibro editorial pais,editorial pais}
Calcule DFm
Sea R(a, b, c), donde DF={a bc,
b ac,c ab}
Calcule DFm
8.2 Dependencias funcionalesRecubrimiento cannico o minimal (y 4)
-
21
41Tema 8. Teora de la normalizacin
Uso de un conjunto de dependencias funcionales para diseo correcto de esquemas de relacin
Definicin de formas normales que representan buenos diseos Sea R(A, DF) mal diseado
Contiene redundancias: desperdicio de espacio y posibilidad de propiedades no deseables (anomalas de actualizacin, etc.)
Ser necesario descomponer R en un conjunto de n esquemasde relacin
{ Ri (Ai,DFi) } i:1..nque cumpla las propiedades de
Conservacin de la informacin Conservacin de las dependencias Mnima redundancia de datos (normalizacin de relaciones)
8.3 Formas normalesNormalizacin usando dependencias funcionales
42Tema 8. Teora de la normalizacin
Sea PRESTAMO(idsuc, ciudsuc, activo, nomcli, numprest, importe), donde DF={ idsuc activo ciudsuc, numprest importe idsuc nomcli }La siguiente descomposicin cumple las propiedades anteriores:
SUCURSAL(idsuc, activo, ciudsuc)PRESTAMO(idsuc, numprest, importe)CLIENTE(nomcli, numprest)
Las Ri son equivalentes a R, y mejores que R Al descomponer no se pierde informacin ni dependencias funcionales Se minimiza (o elimina) la redundancia de datos
8.3 Formas normalesNormalizacin usando dependencias funcionales (2)
-
22
43Tema 8. Teora de la normalizacin
La informacin contenida en R(A, DF) debe ser la misma que la contenida en las Ri(Ai, DFi); para ello, debe conseguirse...
Conservacin de los atributos Ai = A Conservacin del contenido (tuplas o extensin) *ri = r "" r, extensin de R, la reunin natural de extensiones ri de las Ri, ha
de producir la r de origen: reconstruccin de la extensin original Si no se conserva el contenido, aparecen tuplas falsas
Una descomposicin de reunin con prdida puede no ser detectada para algunas extensiones
Si al reunir determinadas extensiones de las Ri no se detectan tuplas falsas
Es necesario encontrar una forma de descomponer conservando siempre la informacin
Descomposicin en proyecciones independientes (se ver)
8.3 Formas normalesNormalizacin usando dependencias funcionales (3)Conservacin de la informacin
44Tema 8. Teora de la normalizacin
La descomposicin de R en los Ri debe conservar el conjunto de dependencias funcionales DF de R, pues cada dependencia funcional es una restriccin de integridadque refleja semntica del mundo real
(DFi )+= DF+
El conjunto de dependencias de origen es equivalente a la unin de los conjuntos de dependencias de los esquemas resultantes
De este modo se consigue que cualquier actualizacin de la base de datos obtenga siempre una relacin legal (cuya extensin tras la actualizacin cumple todas las dependencias funcionales dadas)
8.3 Formas normalesNormalizacin usando dependencias funcionales (4)Conservacin de las dependencias funcionales
-
23
45Tema 8. Teora de la normalizacin
Los Ri deben estar en una forma normal superior a la de R As se reduce (o elimina) la redundancia
separando los datos en relaciones distintas
y por tanto, se evitan propiedades no deseables anomalas de actualizacin incapacidad para representar cierta informacin, ...
Formas normales basadas en dependencias funcionales1FN2FN3FN, FNBC
8.3 Formas normalesNormalizacin usando dependencias funcionales (5)Minimizacin de la redundancia
46Tema 8. Teora de la normalizacin
R est en 1FN si ningn atributo toma un valor compuesto(dominio no atmico), ni multivalorado (ms de un valor a la vez)
Inherente al modelo relacional de datos
LIBRO (esquema incorrecto: no est en 1FN)cdigo ttulo autor |9090 Fundamentos de sistemas de bases de datos Elmasri , Navathe8070 Diseo de bases de datos relacionales de Miguel , Piattini, Marcos
8.3 Formas normalesNormalizacin usando dependencias funcionales (6)Minimizacin de la redundancia: Primera Forma Normal
Multivalorado
LIBRO (esquema en 1FN)cdigo ttulo autor |9090 Fundamentos de sistemas de bases de datos Elmasri9090 Fundamentos de sistemas de bases de datos Navathe8070 Diseo de bases de datos relacionales de Miguel8070 Diseo de bases de datos relacionales Piattini8070 Diseo de bases de datos relacionales Marcos
Redundancia
-
24
47Tema 8. Teora de la normalizacin
i Un atributo principal es un atributo que forma parte de una clave
R est en 2FN si est en 1FN y cada atributo no principal tiene dependencia funcional completa respecto de cada clave
Es decir, no existe un atributo no principal que dependa funcionalmente de parte de una clave
PUBLICA (articulo, revista, nmero, pgina, editorial) DF={ articulo, revista, nmero pgina,
revista editorial } PUBLICA no est en 2FN, por qu?
8.3 Formas normalesNormalizacin usando dependencias funcionales (7)Minimizacin de la redundancia: Segunda Forma Normal
48Tema 8. Teora de la normalizacin
q Varias definiciones equivalentes entre s:
R est en 3FN si todo atributo no principal slo tiene dependencia funcional respecto de las claves
Ningn atributo no principal depende funcionalmente de otrosatributos no principales
todos los atributos no principales son independientes entre s
No existen dependencias funcionales transitivas respecto de las claves
8.3 Formas normalesNormalizacin usando dependencias funcionales (8)Minimizacin de la redundancia: Tercera Forma Normal
-
25
49Tema 8. Teora de la normalizacin
q Definicin formalR(A, DF) est en 3FN respecto a DF si para toda dependencia funcional ab en DF+ (aA, bA), se cumple al menos una de las siguientes condiciones: a b es una dependencia funcional trivial, es decir, bb aa a es una superclave del esquema R, es decir aa+ = A Cada atributo a en bb -aa es principal (est contenido en alguna clave
candidata de R)
SOCIO (dni, ciudad, pas) DF = { dni ciudad, dni pais, ciudad pas }La relacin SOCIO no est en 3FN, por qu?
8.3 Formas normalesNormalizacin usando dependencias funcionales (9)Minimizacin de la redundancia: Tercera Forma Normal (y 2)
50Tema 8. Teora de la normalizacin
i Nota: un determinante es el implicante o parte izquierda de una df
La FNBC es una definicin ms estricta de la 3FN
R(A,DF) est en FNBC respecto a DF si para toda dependencia funcional a b en DF+ (aA, bA), se cumple al menos una de estas condiciones: a b es una dependencia funcional trivial, es decir, bb aa a es una superclave del esquema R, es decir aa + = A
Es decir, R est en FNBC si todo determinante contiene una clave
8.3 Formas normalesNormalizacin usando dependencias funcionales (10)Minimizacin de redundancia: Forma Normal de Boyce-Codd
-
26
51Tema 8. Teora de la normalizacin
La FNBC no requiere que todas las claves aparezcan como determinantes
Si R est en 3FN y slo tiene una clave, o bienR tiene varias claves pero ninguna de ellas es compuesta, o bienR tiene varias claves compuestas pero no solapadas,
entonces R est en FNBC
Es decir, si R tiene claves solapadas puede estar en FNBC o puede no estarlo (vase siguiente ejemplo)
8.3 Formas normalesNormalizacin usando dependencias funcionales (11)Minimizacin de redundancia: FN de Boyce-Codd (2)
52Tema 8. Teora de la normalizacin
ARTICULO1 (codart, ttulo, revista, nmero, pgina) DF = { codart ttulo, Un ttulo nunca se repite en una misma revista
titulo codart, Un artculo puede publicarse en varias revistascodart revista nmero pgina;ttulo revista nmero pgina; pgina revista nmero codart, ttulo }
Est en 3FN, pero no en FNBC
ARTICULO2 (codart, revista, nmero, pgina) DF = { codart, revista, nmero pgina;
pgina, revista, nmero codart }Est en 3FN, y tambin en FNBC
8.3 Formas normalesNormalizacin usando dependencias funcionales (12)Minimizacin de redundancia: FN de Boyce-Codd (y 3)
Claves de ARTICULO1:CK1= { revista, nmero, codart } CK2= { revista, nmero, ttulo } CK3= { revista, nmero, pgina }
Claves de ARTICULO2:CK1 = { revista, nmero, codart }CK2 = { revista, nmero, pgina }
-
27
53Tema 8. Teora de la normalizacin
Las siguientes afirmaciones son ciertas Todo esquema R con una clave simple (un solo atributo), est en 2FN Si en R todos los atributos son principales, R est en 3FN Todo esquema R con slo 2 atributos est siempre en FNBC Todo esquema R con 3 atributos y una sola clave compuesta
por 2 atributos, est en FNBCqIntente comprobar la veracidad de estas afirmaciones!
Lo ms correcto es tener los esquemas de relacin en FNBC, pero si no es posible, basta con llegar a la 3FN
1FN y 2FN no son buenos diseos sino escalones para llegar a 3FN o FNBC El proceso de normalizacin disminuye la redundancia
y por tanto el desperdicio de espacio y las propiedades no deseables ... pero penaliza las consultas
pues se necesitarn JOINs, cuyo coste es elevado
8.3 Formas normalesNormalizacin usando dependencias funcionales( y 13)
54Tema 8. Teora de la normalizacin
Se parte del esquema de relacin universal R y de su conjunto de dependencias funcionales, DF
Se descompone R sucesivamente en proyecciones que conservanla informacinlas dependencias
Los esquemas resultantes cada vez ...tienen menos atributos (menor grado)estn en formas normales ms avanzadas
Fin del proceso ...Al llegar a la FN deseada, oSi seguir implica la prdida de dependencias
Separa informacin referente a conceptos distintos Empleo de rboles de descomposicin
8.4 Enfoques de diseo relacionalAnlisis o descomposicin: diseo descendente
-
28
55Tema 8. Teora de la normalizacin
Obtiene esquemas de relacin a partir deatributosdependencias funcionales entre dichos atributos
Agrupa informacin referente a un mismo concepto
8.4 Enfoques de diseo relacionalSntesis relacional: diseo ascendente
Comparacin anlisis vs. sntesis Semejanzas
Tienen el mismo objetivo Basadas en los conceptos de dependencias y recubrimiento minimal
Diferencias La sntesis slo considera dependencias funcionales El anlisis considera, adems de las dependencias funcionales, las
dependencias multivaloradas y dependencias de reunin o combinacin
56Tema 8. Teora de la normalizacin
Examinar un esquema relacional R para... 1. Determinar su nivel de normalizacin2. si R no est en 3FN ni en FNBC, descomponer R en proyecciones
sin redundancias ni propiedades no deseables
1. Determinacin del nivel de normalizacin de R
Cmo determinar si un esquema de relacin est en 3FNa. Encontrar todas las claves para ...b. Determinar componentes de dichas claves (atributos principales) y c. Comprobar que ningn atributo no principal, depende
de otro atributo no principal Cmo determinar si un esquema de relacin est en FNBC
a. Comprobar que todo determinante es clave-- menor coste computacional
8.4 Enfoques de diseo relacional: Anlisis
-
29
57Tema 8. Teora de la normalizacin
2. Descomposicin del esquema R (A, DF)
Si R no est en 3FN ni en FNBC, hemos de sustituirlo por un conjunto de proyecciones Ri (Ai, DFi)
La descomposicin debe realizarse...
Sin prdida de informacin:R = R1 *...* Rn , para toda extensin de cualquier relacin r(R)
Sin prdida de dependencias funcionales( DFi)+ = DF+
Es decir, debe realizarse una descomposicin sin prdidas: con la que se obtiene proyecciones independientes
8.4 Enfoques de diseo relacional: Anlisis (2)
58Tema 8. Teora de la normalizacin
Sea R una relacin y R1, R2 dos de sus proyecciones, entoncesR1 y R2 son independientes si y slo siSus atributos comunes son la clave primaria de, al menos, una
de las dos proyeccionesCada dependencia funcional en R puede deducirse de las
dependencias funcionales de R1 y R2
PELICULA(titulo, ao, duracin, tipo, estudio, actor), DF={ titulo ao duracin tipo estudio } Redundancia: se repite todo por cada actor participante en la pelcula Causa: transformacin de un atributo multivalorado (actor) No est en FNBC porque (ttulo, ao) no es clave; la clave es (ttulo, ao, actor) Descomposicin en proyecciones independientes:
R1(ttulo, ao, duracin, tipo, estudio) con DF1={titulo ao duracin tipo estudio}R2(titulo, ao, actor), con DF2 vaco
8.4 Enfoques de diseo relacional: Anlisis (3)Descomposicin en proyecciones independientes
-
30
59Tema 8. Teora de la normalizacin
Algoritmo de descomposicinTomar a b de DF+ no trivial, donde a no es superclaveObtener dos proyecciones de R(A, DF)
R1 (aa , bb, DF1) y R2 (A - bb, DF2),donde DF1 y DF2 son conjuntos de dfs sobre R1 y R2 respectivamente
Si R1 (o R2) no est en FNBC, descomponerla de nuevo
La descomposicin resultante es de reunin sin prdidas, pero no siempre preserva las dependencias (caso FNBC)
LIBRO ( A={ codlibro, editorial, pas }, DF={ codlibro editorial, editorial pas } )
otros aa bbR2 R1
8.4 Enfoques de diseo relacional: Anlisis (4)Descomposicin en proyecciones independientes
Gua en el proceso de descomposicinen proyecciones independientes:Utilizar las dependencias funcionalesque violen la FN deseada (FNBC, 3FN)
60Tema 8. Teora de la normalizacin
Determinacin de las dependencias funcionales que cumple cada proyeccin resultante de una descomposicin
Sea R(A, DF) y sea R1(A1, DF1) una de las proyecciones de R, DF1? Considerar cada descriptor aa , subconjunto de A1 Calcular aa+, respecto del conjunto de dependencias DF (#) Para cada atributo a tal que
a es un atributo de R1 ( a A1 ) a est contenido en a+ ( a aa + ) a no est contenido en a ( a aa )la dependencia funcional aa se cumple en R1, es decir (aaa) DF1
(#) No es necesario determinar el cierre de ... todo el conjunto de atributos de R1 (es decir, si a = A1) los a que no contengan la parte izquierda de alguna dependencia los a que contengan un atributo que no sea parte izquierda de alguna dependencia
8.4 Enfoques de diseo relacional: Anlisis (5)Descomposicin en proyecciones independientes
-
31
61Tema 8. Teora de la normalizacin
Las dos proyecciones independientes resultantes cumplen uno de estos principios de descomposicin sin prdidas:
R1 R2 R1 - R2 o bienR1 R2 R2 - R1
Siempre es posible descomponer una relacin en dos proyecciones independientes para llegar a la 3FN
Esto no siempre es posible para llegar a la FNBC, pues a veces se pierde informacin y/o dependencias funcionales
1. PROYECTA(pelcula, cine, ciudad), DF = { pelcula ciudad cine, cine ciudad } 2. NOTA(dniProf, nomProf, dniAlu, calific)
DF= { dniProf nomProf, nomProf dniProf, dniProf dniAlu calific }
8.4 Enfoques de diseo relacional: Anlisis (6)Descomposicin en proyecciones independientes
62Tema 8. Teora de la normalizacin
1. Determinar el recubrimiento minimal DFm
2. Determinar las claves de R3. Obtener proyecciones independientes hasta que...
se alcanza la FN deseada oseguir descomponiendo suponga prdidas
Descomposicin en la FNBC de R(A, DF)
1. Determinar el recubrimiento minimal DFm2. Determinar las claves de R3. Obtener proyecciones independientes hasta que todo determinante es
una clave (se ha llegado a la FNBC) o seguir implique prdidas
R(A, DF), donde A= { a, b, c, d, e, f, g } y DFm = { b ac , ed , df }
8.4 Enfoques de diseo relacional: Anlisis (7)Proceso de anlisis o descomposicin de R(A,DF)
-
32
63Tema 8. Teora de la normalizacin
Aplicar el algoritmo al siguiente esquema de relacin para llevarlo a la FNBCCUENTA (idsuc, ciudsuc, activo, nomcli, codcuenta, saldo)donde DF={idsuc activo ciudsuc, codcuenta idsuc saldo}y CK={codcuenta,nomcli}
iteracin 1R1(idsuc, activo, ciudsuc); DF1={idsuc activo ciudsuc}; CK1={idsuc}R2(idsuc, nomcli, codcuenta, saldo); DF2={codcuenta idsuc saldo}; CK2={nomcli, codcuenta}
iteracin 2R1 est en FNBC, pero R2 no, as que se sustituye por
R3(idsuc, codcuenta, saldo); DF3={codcuenta saldo idsuc}; CK3={codcuenta}R4(nomcli, codcuenta); DF4= ; CK4={nomcli, codcuenta}
iteracin 3R3 y R4 estn en FNBC
El conjunto de esquemas de relacin resultante es { R1, R3, R4 }, todos en FNBC
8.4 Enfoques de diseo relacional: Anlisis (8)Proceso de anlisis o descomposicin de R(A,DF)
64Tema 8. Teora de la normalizacin
Aplicar el algoritmo al siguiente esquema de relacin para llevarlo a la FNBC :BANQUERO_PERSONAL(idsuc, nomcli, nombanquero)donde DF={nombanquero idsuc, idsuc nomcli nombanquero}y las claves CKa={idsuc, nomcli} , CKb={nomcli, nombanquero}
iteracin 1R1(nombanquero, idsuc); DF1{nombanquero idsuc}; CK1={nombanquero}R2 (nomcli, nombanquero); DF2= ; CK2={nomcli, nombanquero}
iteracin 2R1 y R2 estn en FNBC
El conjunto de esquemas resultante es { R1, R2 }, todos en FNBC, pero... slo preserva nombanquero idsuc (adems de las df triviales) y no conserva idsuc nomcli nombanquero
La violacin de esta df no se detectar, a menos que se calcule la reunin (JOIN)
8.4 Enfoques de diseo relacional: Anlisis (y 9)Proceso de anlisis o descomposicin de R(A,DF)
-
33
65Tema 8. Teora de la normalizacin
1. Determinar el recubrimiento minimal DFm2. Agrupar las dependencias funcionales de DFm con el mismo determinante
Es decir, agrupar las aA1 , aA2...aAn , para cada antecedente a3. Formar una Ri para cada grupo, con los atributos que aparecen en el grupo y las
dependencias funcionales de DFm con a como antecedenteRi (a A1 ... An) con DFi={ a A1, ..., a An }
4. Si existen atributos que no aparecen en ningn determinante ni implicado,formar una Ri con ellos, sin dependencias funcionales asociadas.
5. Si ninguna Ri contiene una clave de la R original, aadir una relacin con los atributos que forman tal clave de R
Obtiene las Ri en 3FN Aplicando sntesis, siempre es posible encontrar una descomposicin de
reunin sin prdida que preserve las dependencias y est en 3FN
8.4 Enfoques de diseo relacional: SntesisProceso de sntesis relacional para R(A,DF)
66Tema 8. Teora de la normalizacin
Aplicar sntesis al siguiente esquema de relacin para llevarlo a la 3FNBANQUERO_PERSONAL(idsuc, nomcli, nombanquero, idoficina)donde DF={nombanquero idsuc idoficina, idsuc nomcli nombanquero}y las claves CKa={idsuc, nomcli} , CKb={nomcli, nombanquero}
paso 1. DFm coincide con DF pasos 2 y 3
R1(nombanquero, idsuc, idoficina); DF1{nombanquero idsuc idoficina}; CK1={nombanquero}R2 (idsuc, nomcli, nombanquero); DF2= {idsuc nomcli nombanquero}; CK2={idsuc, nomcli}
paso 4Todos los atributos han sido colocados
paso 5R2 ya contiene una clave de BANQUERO_PERSONAL , luego el proceso acaba
El conjunto de esquemas resultante es { R1, R2 }, todos estn en 3FN
8.4 Enfoques de diseo relacional: Sntesis (y 2)Proceso de sntesis relacional para R(A,DF)
-
34
67Tema 8. Teora de la normalizacin
Es posible que todava exista redundancia en un esquema de relacin en FNBC
Una dependencia multivalorada, dmv, proviene de dos o ms atributos multivalorados que son independientes entre s
ESTUDIANTE_RESIDENTE(dni, estudios, actividad) ACTOR(nomactor, calle, ciudad, titulopeli, aopeli)
La nica forma de expresar la independencia de los conjuntos de valores ...
estudios vs. actividades de los estudiantes direcciones de los actores vs. pelculas en las que han participado
... es hacer que para cada actor, cada direccin aparezca con cada una de las pelculas, y para cada estudiante, cada valor de estudios aparezca con cada actividad
Las dmv son una consecuencia de la transformacin de una R en la 1FN, cuando existen varios atributos multivalorados e independientes entre s
8.5 Dependencias multivaloradas y 4FN
68Tema 8. Teora de la normalizacin
Sea el esquema de relacin R(A, D) y dos descriptores a y b,aa bb (aa multidetermina bb) si y slo si,para cada par de tuplas t1 y t2 de r(R) tales que t1[aa ] = t2[aa]es posible encontrar un par de tuplas t3 y t4 en r(R) que cumplent1[a] = t2[a] = t3[a] = t4[a]t3[b] = t1[b] y t4[b] = t2[b]t3[A- a - b] = t2[A- a - b] y t4[A- a - b] = t1[A- a - b]
Para cada valor de a, existen 0 o ms valores de b, independientemente de los valores del resto de atributos (A- a - b)
Que se verifique a b slo depende de a y de b, pero que se cumpla a bdepende, adems, del resto de los atributos: las dmv dependen del contexto
aa bb significa que siempre que aparezcan dos tuplas con distintos valores de bb, pero el mismo en aa, los valores de bb debern repetirse con cada valor distinto de A- aa - bb que ocurra con dicho valor de aa
Ejemplo: nombreactor calle, ciudad
8.5 Dependencias multivaloradas y 4FNDefinicin formal de dependencia multivalorada
-
35
69Tema 8. Teora de la normalizacin
Regla de dependencias triviales
Si R cumple a b entonces cumple ag , donde g b pues se han quitado componentes de b que tambin
estaban en a
ad , donde b d pues se han aadido componentes a b que tambin estaban en a, siempre que d - b a
Regla de aumento
Si R cumple a b y g d, entonces cumple ad bg
Regla de transitividad para dmv
Si R cumple a b y b g, entonces cumple a g-b
Regla de replicacin
Si R cumple a b, entonces cumple a b
8.5 Dependencias multivaloradas y 4FNReglas de inferencia para dmvs
70Tema 8. Teora de la normalizacin
Regla de complemento
Si R cumple a b, tambin cumple a A-a-b Regla de combinacin para dmv y df
Si R cumple que a b y $ d/ db=, d g y gb, entonces a g
Dependencia multivalorada trivial
Sean a = {a1, a2... an}, b = {b1, b2 ... bm} descriptores de R(A, D),
aa bb es una dmv trivial si y slo si cumple los bi estn entre los ai (es decir ba), o bien todos los atributos de R estn entre los ai y bi (es decir ab=A)
Ejemplo de dmv no trivial nombreactor calle, ciudad
8.5 Dependencias multivaloradas y 4FNReglas de inferencia para dmvs (y 2). Dmv trivial
-
36
71Tema 8. Teora de la normalizacin
Es una generalizacin de la FNBC, que elimina las dmv no triviales R(A, D) est en 4FN si para toda dmv no trivial aa bb,
se cumple que aa es una superclave de R
8.5 Dependencias multivaloradas y 4FNCuarta forma normal
Si R no est en 4FN, por contener una dmv ab, donde a no contiene una clave de R, se debe dividir R en dos esquemas:
R1, con todos los atributos de a y los de bR2, con todos los atributos de a y el resto de atributos A-a-bN Asignar adecuadamente a cada Ri las dependencias funcionales y multivaloradas
Cumple los principios de descomposicin sin prdidas puesto queab y aA-a-b
R1(nombreactor, calle, ciudad)R2(nombreactor, titulopeli, aopeli)
Descomposicin en la 4FN