Download presentation
La descarga está en progreso. Por favor, espere
1
Dependencias Funcionales
Francisco Moreno 02/02/2020 Bases de Datos I
2
Introducción La normalización de relaciones pretende diseñar “buenas” relaciones El concepto de dependencia funcional (DF) es un paso esencial para el proceso de normalización Bajo los criterios de minimizar la redundancia* y evitar cierto tipo de anomalías (se ven posteriormente) * Hasta cierto punto 02/02/2020 Bases de Datos I
3
DF: Definición 1 Dada una relación R, el atributo y R depende funcionalmente del atributo x R si y solo si: - Un único valor de y en R está asociado con cada valor de x en R (en cualquier momento dado) x y y pueden ser atributos compuestos 02/02/2020 Bases de Datos I
4
DF: Definición 2 Dada una relación R, el atributo y R depende funcionalmente del atributo x R si y solo si siempre que dos tuplas concuerden en su valor de x, deben por fuerza concordar en su valor de y Las definiciones 1 y 2 son equivalentes 02/02/2020 Bases de Datos I
5
Representación de DF x y Lectura: x determina funcionalmente a y
O también: y depende funcionalmente de x 02/02/2020 Bases de Datos I
6
{NIT, calif} {nombre, calif, ciudad}
Ejemplo Sea: PROVEEDOR NIT nombre calif ciudad 101 Colanta A Bello 201 Alpina A Rionegro 973 Alquería B Bello Analizar si en esta muestra se cumplen las siguientes DF: NIT nombre {NIT, nombre} calif calif ciudad NIT calif nombre ciudad ciudad calif NIT ciudad nombre NIT NIT {calif, ciudad} {NIT, calif} {nombre, calif, ciudad} CP CA 02/02/2020 Bases de Datos I
7
Observaciones Una muestra de datos por sí sola es insuficiente para determinar si una DF se cumple en una relación (a menos que la muestra sea representativa), pero sí puede mostrar que una DF no se cumple 02/02/2020 Bases de Datos I
8
Observaciones Sea c una clave candidata (CC) R y atr un atributo R entonces siempre se cumple que: c atr; atr R Por lo tanto, la CP de una relación R determina funcionalmente a todos los atributos de R ¿Puede un atributo que NO sea CC determinar funcionalmente a otro? ¿Pueden dos atributos determinarse mutuamente? 02/02/2020 Bases de Datos I
9
Ejemplo CP compuesta Sea la muestra (representativa): ENVÍO
año_fundación NIT prod cantidad tipo_prod Leche Lácteo Chorizo Embutido Yogur Lácteo Pasas Fruta Leche Lácteo Pasas Fruta Leche Lácteo 02/02/2020 Bases de Datos I
10
{NIT, prod} año_fundación Verdadero (V) {NIT, prod} tipo_prod V
Note que NIT por sí solo NO es CC y aun así determina a año_fundación Obsérvese que: {NIT, prod} año_fundación Verdadero (V) {NIT, prod} tipo_prod V {NIT, prod} cantidad V {NIT, prod} NIT V {NIT, prod} prod V NIT año_fundación V NIT cantidad Falso(F) prod tipo_prod V tipo_prod NIT F Note que producto por sí solo no es CC y aun así determina a tipo_prod 02/02/2020 Bases de Datos I
11
DF Completa: Definición
El atributo y R es dependiente POR COMPLETO del atributo x R, si depende funcionalmente de x y no depende funcionalmente de ningún z, donde z x. Ejemplo. Sean las DFs de ENVÍO en la muestra dada: NIT año_fundación {NIT, prod} año_fundación De estas dos DFs ¿cuál es completa? Para llevar a cabo el proceso de normalización se deben encontrar las DF completas 02/02/2020 Bases de Datos I
12
Axiomas de Armstrong para DFs
Sean A,B,C,D atributos (pueden ser compuestos) de una relación R. 1. Reflexión Si B A, entonces A B 2. Aumento Si A B entonces AC BC 3. Transitividad Si A B y B C entonces A C AC representa la unión de A y C. Por simplicidad, se escribirá sin las llaves {A, C} 02/02/2020 Bases de Datos I
13
Teoremas A A Demostración Si A BC, entonces: A B
1. Autodeterminación A A Demostración 2. Descomposición Si A BC, entonces: A B A C 02/02/2020 Bases de Datos I
14
Teoremas 3. Unión Si A B y A C entonces A BC 4. Composición
Demostración 4. Composición Si A B C D entonces AC BD 02/02/2020 Bases de Datos I
15
5. Teorema de Unificación de Darwen Si A B C D
Entonces: A {C – B} BD Tarea: Demostrarlo. A partir de un conjunto dado de DFs en una relación R, por medio de los teoremas y axiomas se pueden derivar otras DFs existentes en R Los axiomas son completos y confiables* * Del inglés “sound”. 02/02/2020 Bases de Datos I
16
Ejemplo Dado el conjunto S de DFs en R: A BC B E CD EF S
¿Se cumple que AB EC? ¿CDA F? ¿AB FC? ¿AD F? S 02/02/2020 Bases de Datos I
17
Cierre de un atributo K bajo S: K
+ S Cierre (K, S) { cierre K FOREVER ∀ FD S: x y DO IF x cierre THEN cierre = cierre y END IF END ∀ IF cierre no cambió THEN RETURN cierre END FOREVER Nota: K puede ser un atributo compuesto 02/02/2020 Bases de Datos I
18
S Ejemplo: Sea A BC B E CD EF
Determinar K , para K = AB y para K = CDA ¿Cuál es el significado de K ? ¿Cuál es su utilidad? S + S + S 02/02/2020 Bases de Datos I
19
S-: Recubrimiento (cierre) mínimo (canónico) de S.
S+: Cierre de S. Conjunto de todas las posibles DFs que se pueden derivar a partir de S. S-: Recubrimiento (cierre) mínimo (canónico) de S. Subconjunto mínimo de DFs S a partir del cual se puede generar S. ¿Utilidad de estos cierres? Algoritmos para generarlos 02/02/2020 Bases de Datos I
20
Atributos Extraños (Raros)
Si S es un conjunto de DFs en una relación R y x y S, entonces el atributo a es extraño (raro) en x y si: x = az, y S implica a {S – {x y}} {z y} o y = aw, y {S – {x y}} {x w} implica a S 02/02/2020 Bases de Datos I
21
Algoritmo para calcular S-
S-(S) { Repeat { - Si existen x y x z sustituir por x yz - Si existe alguna DF con un atributo extraño, eliminarlo de dicha DF (Nota: si al eliminarlo el lado derecho queda vacío*, eliminar la DF, ver ejemplo) } Until S no cambie } Teorema de la unión Ver documento anexo en la página del curso * Se trata de una DF trivial, ya que el conjunto vacío es subconjunto de cualquier conjunto (axioma de reflexión). 02/02/2020 Bases de Datos I
Similar presentations
© 2025 SlidePlayer.es Inc.
All rights reserved.