Dependencias Funcionales. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz



Documentos relacionados
Dependencias Funcionales. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

Normalización n de Bases de Datos Relacionales. Bases de Datos. Malos Diseños. Índice. Muchos Problemas. Definición

DISEÑO DE BASES DE DATOS RELACIONALES

Normalización. Carlos A. Olarte Bases de Datos I

Aseveraciones. Disparadores. Ejemplo de aseveración. Ejemplo de disparador. Ejemplo de disparador en SQL:1999

DISEÑO DE BASES DE DATOS RELACIONALES Normalización Parte 2 FNBC, 3FN

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

Normalización. Universidad Nacional de Colombia Facultad de Ingeniería

RESTRICCIONES DE INTEGRIDAD Y DEPENDENCIAS FUNCIONALES Bases de Datos Universidad de Talca, II Semestre Jorge Pérez R.

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

Modelo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Normalización. Tema 16

Normalización. Bases de Datos

4.Diseño de Bases de Datos (I)

Tema 5: Diseño de Bases de Datos

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

Cálculo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Dep. Multivaluadas y Cuarta F.N.

Antes de entrar a definir la forma normal de Boyce-Codd, necesitamos conocer qué se entiende por determinante.

Tema 3. Espacios vectoriales

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Diseño de bases de datos Diapositiva 1

Normalización 1NF 2NF 3NF BCNF 4NF

Divisibilidad y números primos

Subespacios vectoriales en R n

Modelo Relacional. Normalización

NORMALIZACION. Definición.

Unidad 3. NORMALIZACIÓN.

Tema 6: Teoría de la Normalización

Un ejemplo simple de normalización de bases de datos relacionales (hasta 3FN)

Tema 2. Espacios Vectoriales Introducción

El modelo relacional

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

Matrices equivalentes. El método de Gauss

Examen de Ficheros y bases de datos ( ) Convocatoria de febrero I PARCIAL

Temario. Índices simples Árboles B Hashing

ESTRUCTURAS ALGEBRAICAS

Espacios vectoriales. Bases. Coordenadas

Conceptos generales sobre bases de datos relacionales y MS-Access

DOMINIO Y RANGO página 89. Cuando se grafica una función existen las siguientes posibilidades:

1. Números Reales 1.1 Clasificación y propiedades

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalización

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Práctico 6 Diseño Relacional

Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES. ÁLGEBRA PARA INGENIEROS (Solucionario)

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Tema 2: Modelo Entidad-Asociación (E-A)

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Campos conservativos. f(x) = f (x) = ( f x 1

y los conos serán todos los diagramas (acá usamos la palabra en el sentido habitual, no en el que acabamos de definir) de la forma

1. Producto escalar, métrica y norma asociada

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

Escenas de episodios anteriores

ÁLGEBRA DE MATRICES. Al consejero A no le gusta ninguno de sus colegas como presidente.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

NORMALIZACIÓN DE BASES DE DATOS

Semana 08 [1/15] Axioma del Supremo. April 18, Axioma del Supremo

H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS

Normalización. El diseño que hemos recibido está compuesto de estas dos relaciones:

Dominios de factorización única

Ecuaciones de primer grado con dos incógnitas

Tema 6: Diseño de bases de datos relacionales.

Aproximación local. Plano tangente. Derivadas parciales.

Listas de vectores y conjuntos de vectores

LÍMITES Y CONTINUIDAD DE FUNCIONES

1º) Siempre que se pueda, hay que sacar factor común: :a b ± a c ± a d ± = a (b ± c ± d ± ):

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d

Aplicaciones lineales continuas

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

x

01 Índice. GESTOR DE CONTENIDOS Manual de uso 01 ÍNDICE OBJETO DEL DOCUMENTO ESTRUCTURA GRÁFICA DEL SISTEMA... 3

4 APLICACIONES LINEALES. DIAGONALIZACIÓN

CERTAMEN 2 90 minutos 20 puntos

Capítulo 1 Lenguajes formales 6

Capítulo 2 Tratamiento Contable de los Impuestos. 2.1 Normas Internacionales de Contabilidad

March 25, 2010 CAPÍTULO 2: LÍMITES Y CONTINUIDAD DE FUNCIONES EN EL ESPACIO EUCLÍDEO

7 Diseño de Bases de Datos Relacionales: Normalización

Espacios generados, dependencia lineal y bases

ESTIMACIÓN. puntual y por intervalo

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

Eduardo Mora y Marta Zorrilla Pág

a < b y se lee "a es menor que b" (desigualdad estricta) a > b y se lee "a es mayor que b" (desigualdad estricta)

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

1. SOLUCIONES A LOS EJERCICIOS PROPUESTOS

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

E 1 E 2 E 2 E 3 E 4 E 5 2E 4

Normalización de bases de datos

Nota 2. Luis Sierra. Marzo del 2010

VECTORES EN EL ESPACIO. 1. Determina el valor de t para que los vectores de coordenadas sean linealmente dependientes.

Ejemplo 1.2 En el capitulo anterior se demostró que el conjunto. V = IR 2 = {(x, y) : x, y IR}

Apuntes de Matemática Discreta 9. Funciones

Diferenciabilidad. Definición 1 (Función diferenciable). Cálculo. Segundo parcial. Curso

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

MATERIAL INSTRUCCIONAL DE APOYO

Transcripción:

Dependencias Funcionales Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Conceptos básicos Las DF son un tipo particular de restricción. Permiten expresar hechos acerca de la realidad que se está modelando con la BD.

Se definió superclave Sea R un esquema de relaciones. Un subconjunto K de R es una superclave de R si, en cualquier relación legal r(r), t1,t2 r / t1 t2 t1[k] t2[k]. Es decir, dos tuplas en cualquier relación legal r(r) no pueden tener el mismo valor en el conjunto de atributos K.

Dependencia Funcional (DF) La noción de DF generaliza la noción de superclave: Sea α R y β R. La DF α β se cumple en R si en cualquier relación legal r(r), t1, t2 r / t1[α] = t2 [α] también se cumple que t1[β] = t2 [β]

Dependencia Funcional (DF) Utilizando la notación de la DF, decimos que K es una superclave de R si K R. Es decir, K es una superclave si siempre que t1[k]=t2[k], también se cumple que t1[r]=t2[r] (es decir, t1 = t2) Las DF permiten expresar restricciones que no pueden expresarse con superclaves.

Ejemplo Consideremos la relación r y veamos qué DF se satisfacen. A a 1 a 1 B b 1 b 2 C c 1 c 1 D d 1 d 2 a 2 b 2 c 2 d 2 a 2 b 3 c 2 d 3 a 3 b 3 c 2 d 4

A C se satisface. Las dos tuplas con valor a1 en A tienen el mismo valor en C, c1. Las dos tuplas con valor a2 en A tienen el mismo valor en C, c2. No existen otros pares de tuplas distintos que tengan el mismo valor en A.

C A no se satisface. Sean t1=(a2, b3, c2, d3) y t2=(a3,b3, c2, d4) tienen el mismo valor en C, c2 y distintos valores en A, a2 y a3, respectivamente. hemos encontrado un par de tuplas t1 y t2 tales que tl [C] = t2 [C] pero t1 [A] t2 [A].

r satisface muchas otras DF. Por ejemplo: AB D A A y las demás DF triviales (una DF de la forma α β es trivial si β α )

Llamaremos F al conjunto de DF Usaremos las DF de dos formas: Para especificar restricciones en el conjunto de relaciones legales. (F se cumple en R). Es decir: una dependencia que se cumple en un esquema. Para probar si una relación es legal bajo un conjunto dado de DF. (r satisface a F). Es decir: una relación que satisface una dependencia.

Ejemplo Sean los esquemas de relación del ejemplo bancario: En una instancia de la relación cliente, se satisface calle ciudad-cliente. Pero, en el mundo real dos ciudades pueden tener calles con el mismo nombre. Por tanto, no incluiríamos calle ciudad-cliente en el conjunto de DF que se deben cumplir.

Ejemplo En la relación préstamo se satisface número-préstamo cantidad. En el mundo real exigimos que cada préstamo tenga una única cantidad. Por tanto, imponemos la restricción de que se cumpla número-préstamo cantidad en esquema-préstamo.

Ejemplo En la relación sucursal se satisface nombre-sucursal activo y activo nombre-sucursal. Exigimos que nombre-sucursal activo se cumpla en esquema-préstamo y no queremos exigir que se cumpla activo nombresucursal.

Al diseñar una BDR se listan las DF que se deben cumplir siempre. En el ejemplo bancario: En Esquema-sucursal: nombre-sucursal ciudad-sucursal nombre-sucursal activo En Esquema-cliente: nombre-cliente ciudad-cliente nombre-cliente calle En Esquema-préstamo: número-préstamo cantidad número-préstamo nombre-sucursal En Esquema-depósito: número-cuenta saldo número-cuenta nombre-sucursal

Cierre de un conjunto de DF Dado un conjunto F de DF, podemos probar que se cumplen otras ciertas DF. Se dice que F implica lógicamente dichas DF. Ejemplo: Sean: el esquema de relaciones R=(A,B,C,G,H,I) y el conjunto de DF: A B A C CG H CG I B H

La DF A H se implica lógicamente. Demostración: Sean t1, t2 tuplas tales que t1 [A] = t2 [A] Como A B, se deduce de la definición de DF que t1[b]= t2[b] Además, como B H, se deduce de la definición que t1 [H] = t2 [H] Por tanto, siempre que t1 y t2 son tuplas tales que t1[a]=t2[a], también se cumple que t1[h] = t2[h] es decir A H.

Definición Sea F un conjunto de DF. El cierre de F ( F+ ) es el conjunto de DF que F implica lógicamente. Dado F, podemos calcular F+ directamente de la definición formal de DF

Axiomas de Armstrong Una técnica para calcular F+ se basa en tres axiomas o reglas de inferencia para DF. (Armstrong, 1974) Aplicando estas reglas repetidamente, podemos encontrar F+ completo dado F.

Axiomas de Armstrong α, β, γ... representan conjuntos de atributos; A, B, C... representan atributos individuales; α β representa α U β. Regla de reflexividad: Si α es un conjunto de atributos y β α, entonces se cumple α β Regla de aumento: Si se cumple α β y γ es un conjunto de atributos, entonces se cumple γ α γ β Regla de transitividad: Si se cumple α β, y se cumple β γ entonces se cumple α γ

Axiomas de Armstrong Estas reglas son seguras porque no generan DF incorrectas. (Correctas: cualquier DF inferida se cumple en R) Las reglas son completas porque para un conjunto dado F de DF, nos permiten generar F+ completo. (se obtienen todas las DF posibles).

Reglas adicionales derivadas de los axiomas de Armstrong Regla de unión: Si α β y α γ, entonces se cumple α β γ Regla de descomposición: Si α β γ, entonces se cumplen α β y α γ Regla de pseudotransitividad: Si α β y γ β δ entonces se cumple α γ δ

Ejemplo F = Sea R = (A, B, C, G, H, I) y {A B, A C, CG H, CG I, B H}. Algunos miembros de F+, serán: A H - Como A B y B H, aplicamos la regla de transitividad. Es más fácil usar los Axiomas de Armstrong para demostrar A H de lo que fue deducir directamente de las definiciones como hicimos anteriormente.

Ejemplo F = Sea R = (A, B, C, G, H, I) y {A B, A C, CG H, CG I, B H}. CG HI - Como CG H y CG I, la regla de unión implica que CG HI.

Ejemplo F = Sea R = (A, B, C, G, H, I) y {A B, A C, CG H, CG I, B H}. AG I Necesitamos varios pasos para demostrar AG I. Primero, observar que se cumple A C. Usando la regla de aumento, vemos que AG CG. Además, como tenemos que CG I, así por la regla de transitividad se cumple AG I.

Cierre de conjuntos de atributos Definición: Sea α un conjunto de atributos. Al conjunto de todos los atributos determinados funcionalmente por α bajo un conjunto F de DF se le llama cierre de α bajo F ( α+ ).

Cierre de conjuntos de atributos α es una superclave si α+ = R. α+ = conjunto de atributos determinados funcionalmente por α.

Algoritmo para calcular α+ Entrada: un conjunto F de DF y el conjunto α de atributos. Salida: se almacena en la variable resultado. resultado : = α ; while (cambios en resultado) do for each DF β γ in F do begin if β resultado then resultado:= resultado U γ ; end

Funcionamiento del algoritmo Empezamos con resultado = AG. La primera vez que ejecutamos el bucle while para probar cada DF encontramos que A B nos hace incluir B en resultado. (A B está en F, A resultado (que es AG), por tanto resultado: = resultado U B ). A C hace que resultado se convierta en ABCG. CG H hace que resultado se convierta en ABCGH. CG I hace que resultado se convierta en ABCGHI.

Funcionamiento del algoritmo La segunda vez que ejecutamos el bucle while: no se añaden atributos nuevos a resultado y el algoritmo termina. Este algoritmo es correcto y encuentra α+ completo. se demuestra aplicando los AA y las reglas asociadas con ellos.

Definición: Dos conjuntos de DF son equivalentes si sus clausuras son iguales. E y F son equivalentes E+ = F+

Recubrimiento minimal (canónico) Un recubrimiento canónico Fc es un restricción de un conjunto dado de DF que: minimiza el número de DF a ser probadas en el caso de una actualización. el conjunto de DF resultantes da el conjunto de tablas normalizadas (1 tabla x cada DF).

Recubrimiento minimal (canónico) Recubrimiento canónico de F es un conjunto de DF tal que: F implica lógicamente a todas las dependencias en Fc, y Fc implica lógicamente a todas las dependencias en F. Además Fc debe cumplir las propiedades: Cada DF αβ en Fc no contiene atributos extraños a α. Los atributos extraños son atributos que pueden eliminarse de α sin cambiar Fc+. A es extraño a α si A α y Fc implica lógicamente a (Fc - { α β } U { α - A β }).

Recubrimiento minimal (canónico) Cada DF αβ en Fc no contiene atributos extraños a β. Los atributos extraños son atributos que pueden eliminarse de β sin cambiar Fc+. A es extraño a β si A β y (Fc - { α β } U { α β - A }) implica lógicamente a Fc. Cada lado izquierdo de una DF en Fc es único. Es decir, no existen dos DF α1β1 y α2β2 en Fc tales que α1 = α2.

Otra definición Toda DF de F tiene un solo atributo en el lado derecho. No podemos quitar ninguna y seguir teniendo un conjunto equivalente. No se puede reemplazar ninguna X A por Y A con Y X y Y X y seguir siendo equivalente.

Cálculo del recubrimiento canónico Utilizar la regla de unión para sustituir cualquier dependencia en F de la forma α1 β1 y α1 β2 con α1 β1 β2. Probar cada DF α β para ver si hay un atributo extraño en α. Probar cada DF α β para ver si hay un atributo extraño en β. Repetir este proceso hasta que no ocurra ningún cambio en el bucle.

Ejemplo: Cálculo del recubrimiento canónico Sea el esquema (A, B, C) con el conjunto de DF: A BC B C A B AB C

Ejemplo: Cálculo del recubrimiento canónico Sea el esquema (A, B, C) con el conjunto de DF: A BC B C A B AB C Hay dos DF con el mismo conjunto de atributos en el lado izquierdo: A BC y A B. Por regla de unión se combinan en: A BC. A es extraño en AB C porque B C implica lógicamente a AB C y así ((F - { AB C}) U { B C}) implica lógicamente a Fc. La supresión de A de AB C da B C que está en el conjunto de DF. Así, el conjunto de DF es: A BC B C y se cumplen las propiedades de un recubrimiento canónico.

Diseño de BDR El objetivo del diseño de una BDR: es generar un conjunto de esquemas de relaciones que permitan almacenar información sin redundancia innecesaria, pero que a la vez nos permita recuperar información fácilmente. Una técnica consiste en diseñar esquemas que tengan una forma normal adecuada. Se definirán formas normales usando las DF. Los defectos que puede tener una BD mal diseñada son: repetición de información incapacidad para representar cierta información pérdida de información Se verán en detalle en el tema normalización Se solucionan descomponiendo el esquema de relación con problemas en varios esquemas de relaciones.

Descomposición sin pérdida Una relación con muchos atributos mal diseñada se puede descomponer en dos ó más esquemas con menos atributos. Si esta descomposición no se hace bien puede llegarse a otra forma de diseño defectuoso. Ejemplo: Si el esquema préstamo: esquema-préstamo = (nombre-sucursal, número-préstamo, nombre-cliente, cantidad) se descompone en dos esquemas: esquema-cant = (cantidad, nombre-cliente) esquema-prest = (nombre-sucursal, número-préstamo, cantidad) se obtienen las siguientes relaciones:

Adams 1300 1300 16 North Town Williams 1200 1200 29 Pownal Jackson 1500 1500 14 Downtown Brooks 2200 2200 10 Brighton Smith 2000 2000 23 Redwood Glenn 2500 2500 25 Perryridge Turner 900 900 11 Round Hill Hayes 1500 1500 15 Perryridge Curry 500 500 93 Mianus Jones 1000 1000 17 Downtown nombre-cliente cantidad cantidad número-préstamo nombre-sucursal

Si para alguna consulta se necesita reconstruir préstamo a partir de esta descomposición, se puede obtener mediante: cant x prest La relación resultante es: númeropréstamo nombresucursal Downtown Mianus Perryridge Round Hill Perryridge Redwood Brighton Downtown Pownal North Town Downtown Downtown Perryridge Redwood nombrecliente 17 93 15 11 25 23 10 14 29 16 18 14 15 23 Jones Curry Hayes Turner Glenn Smith Brooks Jackson Williams Adams Johnson Hayes Jackson Johnson cantid a d 1000 500 1500 900 2500 2000 2200 1500 1200 1300 2000 1500 1500 2000 Downtown 18 Smith 2000

La relación resultante contiene tuplas adicionales (en rojo) respecto a préstamo. Así las consultas que se efectúen podrían producir resultados erróneos. Aunque se tienen más tuplas, se pierde información. Este tipo de descomposición se denomina descomposición con pérdida y es un mal diseño. Es esencial que al descomponer una relación en varias relaciones más pequeñas que la descomposición sea sin pérdida.

Criterio para determinar si una descomposición tiene pérdida: Sea R un esquema de relaciones y F un conjunto de DF en R. R1 y R2 forman una descomposición de R. Esta es sin pérdida si por lo menos una de las siguientes DF está en F+: R1 intersección R2 R1 R1 intersección R2 R2 R1 intersección R2 es clave primaria ó candidata de alguna de las dos.

Conservación de las dependencias Cuando se actualiza la BD el sistema debe poder comprobar que la actualización no creará una relación ilegal, es decir una que no satisfaga todas las DF dadas. Definición Sea F un conjunto de DF en R y sea R1, R2,.., Rn una descomposición de R. La restricción de F a Ri es el conjunto Fi de todas las DF en F+ que incluyen únicamente atributos de Ri. Definición Sea F' = F1 U... U Fn. F' es un conjunto de DF en R. En general, F' <> F, pero puede ser F'+ = F+. Decimos que una descomposición que tiene la propiedad F'+ = F+ es una descomposición que conserva las dependencias.