600 likes | 895 Views
Universidad de Murcia Facultad de Informática Diseño de Bases de Datos. Tema 5. Diseño Relaciona l. El diseño de una BD R elacional puede abordarse de dos formas distintas: Obteniendo el esquema relacional directamente :
E N D
Universidad de Murcia Facultad de Informática Diseño de Bases de Datos Tema 5
Diseño Relacional • El diseño de una BDRelacional puede abordarse de dos formas distintas: • Obteniendo el esquema relacional directamente: Objetos y reglas captadas del análisis del mundo real, representadas por un conjunto de esquemas de relación, sus atributos y restricciones de integridad. • Realizando el diseño del esquema "conceptual" de la BD (modelo E/R) y transformándolo a esquema relacional. DBD. Diseño Relacional y Normalización
Ejemplo de diseño inadecuado • Redundancia de información: ciudad, distancia (ciudad); precio (artículo). • Anomalías de modificación: !podemos tener el mismo artículo con dos precios! (igual argumento para ciudad y distancia). inconsistencias • Anomalías de inserción: ¿Podemos registrar nuevo artículo?, ¿Nuevo cliente?, ¿Nueva ciudad, distancia? • Anomalías de borrado: Si eliminamos tupla de pedido de artículo A3 o cliente C4 pérdida de información. DBD. Diseño Relacional y Normalización
Ejemplo de diseño inadecuado • Redundancia de información: • datos repetidos • desperdicio de espacio, actualización complicada • mal diseño: • anomalías, redundancia e inconsistencias de la información • imposibilidad para representar cierta información • pérdida de información • normalización • conversión de una relación con ciertos problemas a dos o más relaciones que no tienen tales problemas DBD. Diseño Relacional y Normalización
Principio básico de diseño: • "hechos distintos se deben almacenar en objetos distintos" DBD. Diseño Relacional y Normalización
Teoría de Normalización • Técnica formal de análisis y organización de datos; trata de evitar la redundancia y anomalías de actualización. • Introduce formalización en el diseño lógico de BDR. • Además permite mecanizar parte del proceso al disponer de instrumentos algorítmicos de ayuda al diseño. • Proceso de normalización: disminuye las anomalías de actualización, pero penaliza las consultas (combinación consume muchos recursos). DBD. Diseño Relacional y Normalización
Formas normales • un esquema de relación está en una determinada forma normal si satisface un determinado conjunto específico de restriccionesdefinidas sobre los atributos del esquema (dependencias). • 1ª FN (Codd, 1970) • Concepto de relación normalizada. • 2ª, 3ª FN (Codd, 1970), FNBC (Boyce/Codd, 1974) • Basadas en análisis de dependencias funcionales. • 4ª FN. Fagin, 1977 • Basada en análisis de dependencias multivaluadas. • 5ª FN. Fagin, 1979 • Basada en análisis de dependencias de proyección/combinación. DBD. Diseño Relacional y Normalización
Formas normales Relaciones en 2ªFN Relaciones en 3ªFN Relaciones en FNBC Relaciones en 4ªFN Relaciones en 5ªFN Relaciones normalizadas Relaciones DBD. Diseño Relacional y Normalización
Dependencias • restricciones de integridad impuestas por el usuario. • propiedades inherentes al contenido semántico de los datos. • se han de cumplir para cualquier extensión del esquema de una relación. • No se pueden demostrar, pero sí afirmar por observación del minimundo a representar. • Del análisis de la extensión de un esquema relacional sólo podremos deducir que no existe una determinada dependencia. • Si una dependencia es cierta para un determinado esquema de relación, una extensión no será válida si no la cumple. DBD. Diseño Relacional y Normalización
Dependencia funcional • Sean A y B atributos de una misma tabla o relación R. Se dice que B es funcionalmente dependiente de A y se denota A B si todo posible valor de A tiene asociado un único valor de B, • o lo que es lo mismo, en todas las tuplas de r(R) en las que el atributo A toma el mismo valor “v1”, el atributo B toma también un mismo valor “v2”. DBD. Diseño Relacional y Normalización
Dependencia funcional definición • Sean X e Y subconjuntos de A (A, conjunto de atributos de R). Decimos que X determina o implica a Y en R (= Y depende funcionalmente de X) si para dos tuplas cualesquiera de r(R) que tengan iguales valores en X,también son iguales los valores en Y. • Se representa por X Y • Def: Sean R(A:D), X A, Y A. X Ysi r(R), ti,tj r(R), [x (ti)=x(tj) y(ti) = y(tj)] (t1, t2 r (t1[X] = t2[X] t1[Y] = t2[Y] ) DBD. Diseño Relacional y Normalización
Diagrama de dependencias funcionales • Ejemplo: R ( A, DF ). R:pedidos A:{artículo,cliente, cantidad, precio, ciudad, distancia}. DF: ({artículo,cliente} {cantidad,precio,ciudad, distancia}, artículo precio, cliente {ciudad, distancia}, ciudad distancia ) Diagrama de Dependencias Funcionales DBD. Diseño Relacional y Normalización
Dependencia funcional plena o completa • Sea X (conjunto de atributos). Se dice que Y tiene dependencia funcional plena o completa de X, • si depende funcionalmente de X • pero no depende de ningún subconjunto del mismo • X Y sii X' X | X' Y(X determina completamente "" a Y si y solo si no existe un subconjunto X' de X tal que ese subconjunto X' determine funcionalmente a Y) • P.e.(artículo, cliente) cantidad es una DF completa, pero • (artículo, cliente) precio no es una DF completa puesto que artículo precio; DBD. Diseño Relacional y Normalización
Dependencia funcional transitiva • Si XY, Y-/X, YZ entoncesZ depende transitivamente de X ( X--Z ). • P.e. • Cliente ciudad, • ciudad -/ cliente (no determina funcionalmente), y • cliente distancia, • por tanto, ciudad --- distancia • (cliente determina “transitivamente” a distancia). DBD. Diseño Relacional y Normalización
Normalización de un esquema de BD Relac. DBD. Diseño Relacional y Normalización
Segunda Forma Normal (2ªFN). • Un esquema de relación R(A,DF) está en 2ªFN si y sólo si • está en 1ªFN (es decir, si la relación está normalizada) • y sus atributosno primarios dependen completamente de la clave primaria de R. (atributos no primarios: que no formen parte de la clave primaria). • Si una relación R no está en 2ª FN, se puede normalizar descomponiendo esa relación en: • Una relación con los atributos de clave primaria, más los atributos con dependencia completa de ella. • Una relación para cada "parte" de la clave primaria, más los atributos que dependan funcionalmente de esa parte. DBD. Diseño Relacional y Normalización
Descomposición a 2ª FN (informal) • Ejemplo: PEDIDOS se descompone en: PEDIDOS'({artículo,cliente, cantidad}, {[artículo,cliente] cantidad}) ARTICULOS ({artículo, precio}, {artículo precio} ) CLIENTES({cliente,ciudad,distancia}, {clienteciudad,ciudaddistancia}) DBD. Diseño Relacional y Normalización
Tercera Forma Normal (3ªFN) • Un esquema de relación R(A,DF) está en FN3 si y sólo si • está en FN2 y • ninguno de sus atributos noprimarios depende transitivamente de la clave primaria de R. • Es decir no hay DF transitivas. • Descomposición informal: Si una relación no está en 3ª FN, y tenemos los conjuntos de atributos X,Y,Z tales que XY, YZ (por tanto X --- Z ): • Una relación formada por la clave primaria (X) más los atributos que dependen directamente de ella. • Una relación para los atributos de Y y Z. DBD. Diseño Relacional y Normalización
Descomposición a 3ª FN (informal) • Ejemplo: CLIENTES la descomponemos en: CLIENTES' ({cliente, ciudad}, {cliente ciudad}) CIUDADES ({ciudad, distancia}, {ciudad distancia}) DBD. Diseño Relacional y Normalización
Implicación lógica de DFs. • Dado un esquema relacional R, una dependencia funcional df de R está implicada lógicamente por un conjunto de dependencias DF de R si cada ejemplar de la relación r(R) que satisface DF también satisface df. • R({ABCGHI}, {AB, AC, CGH, CGI, BH} ¿ AH ? Si t1[A]=t2[A], AB t1[B]=t2[B], BH t1[H]=t2[H] AH • Cierre (clausura) de DF: Dado un conjunto de dependencias funcionales DF, llamaremos cierre de DF, y lo representaremos por DF+, al conjunto de todas las dependencias funcionales posibles que implicadas lógicamente en DF. DBD. Diseño Relacional y Normalización
Reglas de inferencia de DFs • Dado un conjunto DF de dependencias funcionales, podemos probar que se cumplen otras ciertas dependencias funcionales inferidas de DF. • "Axiomas" de Armstrong: Sea R (A:D); X ,Y, Z, W subconjuntos de A. Se verifica: 1) Reflexividad. Si X, conjunto de atributos, Y X, entonces se verifica que X Y. 2) Aumentatividad. Si X Y, Z conjunto de atributos, entonces se verifica que XZ YZ. (XY es lo mismo que X Y, unión) 3) Transitividad. Si X Y e Y Z, entonces se verifica que X Z. • Estas reglas forman un sistema completo de reglas de inferencia, porque dado DF permiten calcular DF+ • Son correctas (seguras) puesto que no generan dependencias funcionales incorrectas. DBD. Diseño Relacional y Normalización
Otras reglas • A partir de ellas, se pueden deducir otra serie de propiedades interesantes: 4) Unión. Si XY y X Z, entonces X YZ. {(XY), (XZ) [aumento] (XX XY), (XY ZY) [trans] (X YZ)} 5) Pseudotransitividad. Si XY y WYZ, entonces WXZ. { (XY) [aumento] (WXWY) [trans, WYZ] (WXZ)} 6) Descomposición. Si XY y ZY, entonces XZ. { (ZY) [reflex] (YZ) [trans, XY] (XZ) } DBD. Diseño Relacional y Normalización
Ej. axiomas: • R({A,B,C,D,E},{A B, C D, D E}) • ¿ AC ABCDE ? 1. A B (dada) 2. AC ABC (aumento, 1, AC) 3. C D (dada) 4. D E (dada) 5. C E (transitividad, 3, 4) 6. C DE (union, 3, 5) 7. ABC ABCDE (aumento, 6, ABC) 8. AC ABCDE (transitividad, 2, 7) DBD. Diseño Relacional y Normalización
Cierre de un descriptor • X+ : Conjunto de todos los atributos determinados funcionalmente por un descriptor X en DF. (XX+) • Algoritmo de Cierre de un descriptor respecto a un DF: • Entrada: R, DF. (suponemos que los atributos de partida son todos los contenidos en DF y R es un subconjunto de ellos) • Salida: R+ • Proceso: 1) R+ := R 2) Repetir (hasta que no se añadan más atributos a R+): 2.1) Para cada X Y en DF: Si X R+ e Y R+ entonces R+ := R+ Y • [Comentarios: 1. R R ; 2. X R+, R+ X (reflexiva); si XY, entonces R+Y (transitiva); por tanto, Y puede ser incluido en R+ (unión) ] DBD. Diseño Relacional y Normalización
Ejemplo cierre de un descriptor • R(A,B,C,G,H,I), (AB, AC, CGH, CGI, BH} • ¿(AG)+? 1) AG AG 2) Repetir 2.1) Primer “Para cada” 21a. A B, B AG AG AGB 21b. A C, C AGB AG AGBC 21c. CG H, H AGBC AG AGBCH 21d. CG I, I AGBCH AG AGBCHI 21e. B H, H AGBCHI nada Segundo… 21a,21b,21c,21d,21e nada No se añaden más atributos => Fin Repetir DBD. Diseño Relacional y Normalización
Aplicaciones de cierres • Dado DF, comprobar si una dependencia funcional XY se halla en DF+ • Si X X+, Y X+ XY DF+ (descomposición) • Comprobar superclaves • Definición de Superclave: Dado R(A, DF), se denomina superclave SK de R a un subconjunto no vacío de A tal que SK A sea derivable de DF; • SK ≠ , SK A DF+ • Comprobaremos si SK+ en DF contiene todos los atributos de R. • Definición de clave candidata: Dado R(A, DF), se denomina clave K de R a un subconjunto no vacío de A que sea superclave y no exista ningún subconjunto estricto K' de K tal que K' A ; • K ≠ KA DF+ K' K | K‘ A DBD. Diseño Relacional y Normalización
Aplicaciones de cierres • Dado R(A,DF), Cálculo de DF+ • Para cada Y A, • Se obtiene Y+ en DF • Para cada Z Y+ se genera una dependencia funcional YZ • Equivalencia de dos conjuntos de dependencias: Dos conjuntos de dependencias funcionales DF1 y DF2 son equivalentes si, y sólo si, DF1+ = DF2+ • (todas las dependencias de DF2 son inferibles de DF1 y viceversa). • Si para toda XY DF2 se cumple Y X+ en DF1 y recíprocamente, para toda ZWDF1 se cumple WZ+ en DF2, entonces DF1 y DF2 son equivalentes. DBD. Diseño Relacional y Normalización
Recubrimiento minimal • Las dependencias funcionales son restricciones de integridad que deben ser comprobadas en caso de actualización. Interesa minimizar este conjunto de restricciones. • Un recubrimiento minimal DFm es un conjunto de dependencias equivalente a DF. • De entre todos los conjuntos equivalentes interesan aquellos conjuntos de dependencias elementales que cumplen la propiedad de no contener ninguna dependencia redundante (e.d. ninguna dependencia que se pueda deducir del resto aplicando los axiomas de Armstrong), ni atributos extraños. DBD. Diseño Relacional y Normalización
Recubrimiento minimal • Dependencia redundante: • una dependencia d DF es redundante si se puede derivar de {DF - d} mediante la aplicación de los axiomas de Armstrong. • Atributo extraño (raro): • Dada X Y DF, a X se dice que es un atributo extraño (ajeno) en la dependencia si la dependencia (X-a) Y DF+. DBD. Diseño Relacional y Normalización
Algoritmo para obtener un Recubrimiento minimal: • Entrada: F, Conjunto de dependencias funcionales elementales (plenas, no triviales, único atributo en implicado). • Salida: H, recubrimiento minimal de F. • Proceso: (X,L: descriptores (conjuntos de atributos); A,B: atributos) 1. Eliminación de atributos extraños: 1.1. Repetir para cada X B F : 1.1.1. L := X 1.1.2. Repetir para cada A X: Si B (L - A)+Fentonces L := L - A 1.1.3. DF := DF - ( X B ) + ( L B ) 2. Eliminación de dependencias redundantes: 2.1. H := F 2.2. Repetir para cada X A DF: G := H - ( XA) Si A X+G entonces H := G DBD. Diseño Relacional y Normalización
Técnicas principales para el Diseño Relacional • Diseño del esquema conceptual en un modelo de datos de alto nivel (como el ER) y su posterior transformación en un conjunto de relaciones. • En esta técnica podemos aplicar informalmente los principios de normalización comentados (evitar dependencias parciales o transitivas), tanto durante la fase de diseño conceptual, como posteriormente al conjunto de relaciones obtenidas mediante el proceso de transformación. DBD. Diseño Relacional y Normalización
Técnicas principales para el Diseño Relacional • Considerar el diseño de la BD relacional estrictamente en términos de dependencias (funcionales y de otros tipos que veremos) entre los atributos de la BD. • Este proceso es denominado algunas veces como síntesis relacional, puesto que los esquemas de relación son “sintetizados” mediante el adecuado agrupamiento de atributos. • Cada esquema de relación representaría a un grupo de atributos lógicamente coherente y poseería las ventajas asociadas con la normalización (no redundancia, no anomalías, ...). • Durante el proceso de normalización descompondremos un determinado esquema de relación que no esté en una determinada forma normal en múltiples esquemas de relación hasta un diseño final con relaciones en las que se hubiese alcanzado la forma normal deseada. • Caso extremo (descomposición estricta): • comenzamos sintetizando un único esquema de relación (relación universal), que incluye todos los atributos de la BD. DBD. Diseño Relacional y Normalización
Objetivos de la normalización. • Dado un conjunto A de atributos y el conjunto DF de dependencias existentes entre ellos, R(A, DF), se trata de transformar este esquema origen en un conjunto de n esquemas de relación {Ri (Ai, DFi)}, 1 i n [esquemas resultantes], equivalentes y mejores que R: a) Conservación de la información. b) Conservación de dependencias. c) Mínima redundancia de los datos (mayor grado de normalización). DBD. Diseño Relacional y Normalización
n p * = r r ( ) Ri i = 1 a. Conservación de la información: a.1. Conservación de atributos: el conjunto de atributos de los esquemas resultantes ha de ser igual al conjunto de atributos del esquema origen. a.2. Conservación del contenido (tuplas): para toda extensión r de R, la reunión natural (natural join, * ) de las relaciones resultantes tiene que producir la relación origen. • (nota: * operador de reunión natural, operador de proyección) • Si la descomposición no cumple esta propiedad, e.d. no es una descomposición y reunión sin pérdidas (de información), cuando se aplica la operación de reunión natural a las relaciones resultantes, aparecen tuplas espúreas en la relación resultado DBD. Diseño Relacional y Normalización
descomposición y reunión con pérdida * DBD. Diseño Relacional y Normalización
Descomposición y Reunión Sin Pérdida • Propiedad RSP1: Sea R un esquema de relación y DF un conjunto de dependencias funcionales de R. R1 y R2 forman una descomposición de R que tiene la propiedad de reunión sin pérdida (lossless join) si por lo menos una de las dependencias funcionales siguientes está en DF+: • R1 R2 R1 - R2 • R1 R2 R2 - R1 DBD. Diseño Relacional y Normalización
Descomposición y Reunión Sin Pérdida • Propiedad RSP2: Si una descomposición D = {R1, R2,..., Rm} de R tiene la propiedad de reunión sin pérdida con respecto al conjunto de dependencias funcionales DF sobre R, y si una descomposición D1 = {Q1, Q2, ..., Qk} de Ri tiene la propiedad de reunión sin pérdida con respecto a la “proyección de DF sobre Ri”, entonces la descomposición D2 = {R1, R2, ..., Ri-1 , Q1,.Q2, ..., Q k , Ri+1 , ..., Rm} de R es una descomposición reunión sin pérdida respecto a DF. • “restricción / proyección de DF sobre Ri ” : subconjunto de las dependencias funcionales X Y en DF+ tales que los atributos en X U Y están todos contenidos en Ri ) DBD. Diseño Relacional y Normalización
b. Conservación de dependencias. • Sea DF un conjunto de dependencias funcionales sobre R y sea D = {R1, R2, ..., Rn} una descomposición de R. La restricción (proyección) de DF sobre Ri es el conjunto DFi de todas las dependencias de DF+ que incluyen únicamente atributos de Ri. Sea DF' = DF1 DF2 ... DFn un conjunto de dependencias funcionales en R. La descomposición D de R conservará las dependencias si DF'+ = DF+ (equivalentes) DBD. Diseño Relacional y Normalización
Forma Normal de Boyce y Codd (FNBC). • Un esquema de relación R(A,DF) está en FNBC si X Y DF+no trivial (Y X), se verifica que X es superclave de R. (X+ = A) • Un diseño de BD está en FNBC si cada esquema de relación de la BD está en FNBC. DBD. Diseño Relacional y Normalización
Algoritmo de descomposición: a. Tomaremos una X Y DF+ no trivial y X no superclave. • Siempre será posible puesto que R no está en FNBC, e.d. existe al menos una dependencia funcional X Y, tal que X no superclave. Si X, Y no disjuntos, tomaríamos X (Y-X) (por axiomas de Armstrong). b. Obtendremos dos proyecciones S(XY, DFs) y T((A-Y), DFt). (DFs, DFt restricciones de DF sobre S y T). • Como X Y DF+ y sus atributos son los de S, también es aplicable a S; por aumento XXY, es decir X superclave (no viola condición para que S esté en FNBC). c. Si S o T no están en FNBC, las descomponemos. • Llegará un momento en que, o bien no hay dependencias cuyo antecedente no sea superclave (es decir, tablas en FNBC), • o se llega a una relación binaria indescomponible la cual estará en FNBC (puesto que si V(A1,A2) no en FNBC, quiere decir que hay una dependencia A1A2, no trivial con antecedente no superclave: imposible, pues por Ax.A A1A1A2). DBD. Diseño Relacional y Normalización
Algoritmo FNBC: resultado := {R}; listo := falso; (Calcular DF+;) Mientras (no listo) hacer: Si ( Ri resultado | Ri no en FNBC ) Sea (XY en Ri, no trivial | X Ri DF+ y XY= ) resultado:=(resultado - Ri) ( Ri - Y) ( XY ); si no listo:=verdadero; • Por el procedimiento seguido, la descomposición es de reunión sin pérdida (reversible por reunión natural, propiedades RSP1 y RSP2). • No puede asegurarse en general que se hayan preservado las dependencias. DBD. Diseño Relacional y Normalización
Tercera Forma Normal (FN3). • Definiciones generales, • atributo primo: atributo que forma parte de una clave candidata. • Un esquema de relación R está en FN2 si está en FN1 y todo atributo no primo A de R depende funcionalmente de manera completa de toda clave candidata de R. • Un esquema de relación R está en FN3 si está en FN2 y ningún atributo no primo depende transitivamente de alguna clave candidata de R. DBD. Diseño Relacional y Normalización
Tercera Forma Normal (FN3). • Redefinición de FN3: Un esquema de relación R(A,DF) está en FN3 si X Y DF+ se verifica alguna de las siguientes condiciones: • X Y trivial. • X es superclave de R. • X no es superclave y cada atributo A (Y - X) está contenido en una clave candidata de R. • Un diseño de BD está en FN3 si cada esquema de relación de la BD está en FN3. FNBC DBD. Diseño Relacional y Normalización
Ejemplo: FN3 y FNBC • imparte (estudiante, curso, profesor) • DF: (1) estudiante, curso profesor; (2) profesor curso • K: { (estudiante, curso), (estudiante, profesor)} • No en FNBC pues antecedentes de (2) no es superclave, • pero si en FN3 pues los consecuentes son atributos primos. • Descomposición a FNBC por profesorcurso: E P C DBD. Diseño Relacional y Normalización
Algoritmo de síntesis (descomposición de R a FN3): a. Reemplazar X A1A2 ... An por X A1, X A2, ... X An en DF b. Calcular DFm recubrimiento mínimo de DF; c. Creamos un esquema de relación { X A1... An}para cada conjunto de dependencias en DFm con el mismo antecedente X. X A1, X A2, ... X An son todas las dependencias en Dfm con X como antecedente. X será la clave de esta relación. d. Si quedan atributos de R sin colocar en ningún esquema de relación: creamos un nuevo esquema de relación con todos ellos. e. Si ningún esquema de relación contiene una clave de R Creamos un esquema de relación para los atributos de cualquier clave de R • Cada Ri en FN3 pues se parte de DFm (eliminando parciales y transitivas). • Asegura la conservación de dependencias construye una relación por cada una. • Garantiza que la descomposición es de reunión sin pérdida pues al menos un esquema contiene una clave candidata de la relación que se descompone. DBD. Diseño Relacional y Normalización
Otras dependencias • dependencias funcionales: el tipo de dependencia más importante en la teoría de diseño de bases de datos relacionales. • Sin embargo, en muchos casos las relaciones tienen restricciones que no pueden ser expresadas mediante dependencias funcionales. • En los siguientes puntos, trataremos estos tipos adicionales de dependencias que pueden ser usados para representar otros tipos de restricciones sobre relaciones. • Estas dependencias nos conducirán a formas normales más avanzadas DBD. Diseño Relacional y Normalización
Dependencias multivaluadas • son una consecuencia de la 1ª forma normal, la cual no permite que un atributo en una tupla tome un conjunto de valores. • Si tenemos dos o más atributos multivaluados independientes (no directamente relacionados) en un mismo esquema de relación, tendremos que repetir cada valor de un atributo con cada valor de los otros atributos para conservar la instancia de la relación consistente. DBD. Diseño Relacional y Normalización
Dependencias multivaluadas • Definición: Dada la relación R(A), se cumple que X ↠ Y (X multidetermina a Y, X e Y descriptores, subconjuntos de A) si para cada valor de X hay un conjunto de cero o más valores de Y, independientemente de los valores de los atributos (A-XY). • Dado R(A), X ↠ Y en R si y sólo si u, v r(R) tales que u[X]=v[X] , u[Y]v[Y] , u[A-X-Y]v[A-X-Y] t, w r(R) tales que u[X] = v[X] = t[X] = w[X]u[Y] = t[Y]v[Y] = w[Y] u[A-XY] = w[A-XY] v[A-XY] = t[A-XY] • Por simetría, X ↠ (A-XY), e.d. X ↠ Y | Z (Z= A-XY). DBD. Diseño Relacional y Normalización
Para cada valor de X, existe un conjunto de 0 o más valores de Y, independientemente de los valores del resto de atributos (A-XY) • Que se verifique X →Y sólo depende de X y de Y, pero que se cumpla X ↠ Y depende, además, del resto de los atributos (las dmv dependen del contexto) • X ↠ Y significa que siempre que aparezcan dos tuplas con distintos valores de Y, pero el mismo valor en X, los valores de Y deberán repetirse con cada valor distinto de A-XY que ocurra con dicho valor de X • Dependencias Multivaluadas Triviales si X = Y, Y X, X Y = A DBD. Diseño Relacional y Normalización
Reglas de Inferencia • R1. Reflexiva DF’s : Si Y X ent. X → Y • R2. Aumento DF’s : X →Y |= XZ → YZ • R3. Transitiva DF’s : X →Y, Y →Z |= X →Z • R4. Complemento DMV’s : X ↠Y |= X ↠(A - (X Y)) • R5. Aumento DMV’s : X ↠Y, W Z |= WX ↠ YZ • R6. Transitiva DMV’s : X ↠Y, Y ↠Z |= X ↠ (Z - Y) • R7. Replicación DF’s y DMV’s : X →Y |= X ↠ Y • R8. Coalescencia DF’s y DMV’s : Si X ↠Y y W tal que WY= y WZ e Y Z entonces X → Z • (R7 : DF caso especial de DMV, pues satisface la definición formal de DMV. Una DF es una DMV con la restricción adicional de que como máximo 1 valor de Y esté asociado a un valor de X). DBD. Diseño Relacional y Normalización