La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 5 Diseño de Bases de Datos Universidad de Murcia

Presentaciones similares


Presentación del tema: "Tema 5 Diseño de Bases de Datos Universidad de Murcia"— Transcripción de la presentación:

1 Tema 5 Diseño de Bases de Datos Universidad de Murcia
Facultad de Informática Diseño de Bases de Datos Tema 5

2 Diseño Relacional El diseño de una BD Relacional 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

3 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

4 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

5 Principio básico de diseño:
"hechos distintos se deben almacenar en objetos distintos" DBD. Diseño Relacional y Normalización

6 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

7 Formas normales un esquema de relación está en una determinada forma normal si satisface un determinado conjunto específico de restricciones definidas 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

8 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

9 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

10 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

11 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  Y si  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

12 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

13 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

14 Dependencia funcional transitiva
Si XY, Y-/X, YZ entonces Z 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

15 Normalización de un esquema de BD Relac.
DBD. Diseño Relacional y Normalización

16 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 atributos no 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

17 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}, {clienteciudad,ciudaddistancia}) DBD. Diseño Relacional y Normalización

18 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 no primarios 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 XY, YZ (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

19 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

20 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}, {AB, AC, CGH, CGI, BH} ¿ AH ? Si t1[A]=t2[A], AB  t1[B]=t2[B], BH  t1[H]=t2[H]  AH 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

21 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

22 Otras reglas A partir de ellas, se pueden deducir otra serie de propiedades interesantes: 4) Unión. Si XY y X Z, entonces X  YZ. {(XY), (XZ) [aumento] (XX  XY), (XY ZY) [trans] (X YZ)} 5) Pseudotransitividad. Si XY y WYZ, entonces WXZ. { (XY) [aumento] (WXWY) [trans, WYZ] (WXZ)} 6) Descomposición. Si XY y ZY, entonces XZ. { (ZY) [reflex] (YZ) [trans, XY] (XZ) } DBD. Diseño Relacional y Normalización

23 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

24 Cierre de un descriptor
X+ : Conjunto de todos los atributos determinados funcionalmente por un descriptor X en DF. (XX+) 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 XY, entonces R+Y (transitiva); por tanto, Y puede ser incluido en R+ (unión) ] DBD. Diseño Relacional y Normalización

25 Ejemplo cierre de un descriptor
R(A,B,C,G,H,I), (AB, AC, CGH, CGI, BH} ¿(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

26 Aplicaciones de cierres
Dado DF, comprobar si una dependencia funcional XY se halla en DF+ Si X X+, Y  X+  XY  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 ≠   KA DF+    K' K | K‘  A DBD. Diseño Relacional y Normalización

27 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 YZ 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 XY  DF2 se cumple Y  X+ en DF1 y recíprocamente, para toda ZWDF1 se cumple WZ+ en DF2, entonces DF1 y DF2 son equivalentes. DBD. Diseño Relacional y Normalización

28 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

29 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

30 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 : L := X Repetir para cada A  X: Si B  (L - A)+F entonces L := L - A 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 - ( XA) Si A  X+G entonces H := G DBD. Diseño Relacional y Normalización

31 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

32 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

33 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

34 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) i = 1 n Ri r * p ( ) 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

35 descomposición y reunión con pérdida
* DBD. Diseño Relacional y Normalización

36 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

37 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

38 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

39 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

40 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 XXY, 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 A1A2, no trivial con antecedente no superclave: imposible, pues por Ax.A A1A1A2). DBD. Diseño Relacional y Normalización

41 Algoritmo FNBC: resultado := {R}; listo := falso; (Calcular DF+;)
Mientras (no listo) hacer: Si ( Ri  resultado | Ri no en FNBC ) Sea (XY en Ri, no trivial | X  Ri DF+ y XY=  ) 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

42 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

43 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

44 Ejemplo: FN3 y FNBC E P C 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 profesorcurso: E P C DBD. Diseño Relacional y Normalización

45 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

46 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

47 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

48 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

49 Dependencias Multivaluadas Triviales si X = Y, Y  X, X  Y = A
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

50 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 WY= y WZ 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

51 Cuarta Forma Normal (FN4):
R(A, DEP) en FN4 si y sólo si para toda dependencia no trivial X ↠ Y  DEP+, el antecedente X es superclave de R. Descomposición sin pérdida de R en R1, R2 si: (R1  R2) ↠ (R1 - R2) (simetría : (R1R2) ↠ (R2 - R1) [Teorema (Fagin, 77): R(A,B,C) se puede descomponer (reunión sin pérdida) en R1(A,B), R2(A, C) si y sólo si A ↠ B | C en R ] DBD. Diseño Relacional y Normalización

52 Descomposición a FN4 de una relación R
a. Resultado= {R} b. Mientras que  Q en Resultado, Q no en FN4 b1. Encuentre X ↠ Y en Q, no trivial, X no superclave b2. Reemplace Q por (Q - Y) y (X  Y) DBD. Diseño Relacional y Normalización

53 Dependencias de Combinación
Las DF y DMV analizadas, permiten la descomposición sin pérdida de una relación en dos de sus proyecciones. Sin embargo, existen relaciones donde no se puede llevar a cabo una descomposición binaria sin perdida. Aun no existiendo DF ni DMV pueden existir redundancias y anomalías. DBD. Diseño Relacional y Normalización

54 DBD. Diseño Relacional y Normalización

55 Dependencia de reunión
Sea R(A), X1, X2, ..., Xn, conjuntos de atributos de A. A la condición de que la descomposición de R proyectando sobre X1, X2, ..., Xn sea reversible por reunión la llamaremos Dependencia de reunión: DR (X1, X2, ..., Xn) En un esquema de relación R(A) se cumple la DC (X1, X2, ..., Xn ) si toda extensión r(R) se puede construir combinando proyecciones sobre X1,...,Xn : r =  R1 [r] * ... *  Rn [r] (necesariamente (X1...Xn)=A) La DR será trivial si algún Xi = A. [ DR(X1,X2) puede escribirse también como X ↠Y|Z, donde X=X1 X2, Y=X1-X2, Z=X2-X1. Por tanto, las DMV pueden considerarse como un caso particular de las de reunión cuando n=2.] DBD. Diseño Relacional y Normalización

56 Sea DC (R1,R2,R3) entonces <a1,b1,c1> R sii <a1,b1>  R1, <b1,c1>  R2, <c1,a1>  R3 Es decir, si <a1,b1,c> R,<a,b1,c1> R,<a1,b,c1>  R entonces también <a1,b1,c1>  R. [Cuando un suministrador S suministra el componente P, el proyecto J usa el componente P y el suministrador S suministra al menos un componente al proyecto J, entonces S también suministrará P a J] Las dos últimas tuplas deben de existir en SPJ para que se cumpla la DR(SP,PJ,JS). DBD. Diseño Relacional y Normalización

57 Quinta Forma Normal (FN5)
Un esquema de relación estará en FN5 con respecto al conjunto de dependencias F (DF, DMV, DC) si en cada dependencia de reunión DR(R1,...,Rn) no trivial en F+, cada Ri es una superclave de R. La dificultad de la FN5 está en la identificación de las dependencias de combinación, las cuales no tienen una interpretación intuitiva. Ejemplo SPJ: La clave de SPJ será (S#,P#,J#). Tenemos la DC (SP, PJ, JS), en donde ningún Ri es una superclave (contiene la clave) de SPJ. Por tanto SPJ no está en FN5. DBD. Diseño Relacional y Normalización


Descargar ppt "Tema 5 Diseño de Bases de Datos Universidad de Murcia"

Presentaciones similares


Anuncios Google