Cálculo de Claves Candidatas

Anuncio
Normalización Tema 16 Contenido Introducción Normalización de Relaciones Bibliogra;a 2 www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción •  Al diseñar una BD relacional, podemos obtener diferentes
esquemas
•  La teoría de la normalización consigue una formalización
en el diseño lógico
•  ¿Qué propiedades debe tener un esquema para
representar adecuadamente la realidad y qué problemas
se pueden derivar de un diseño inadecuado?
•  La teoría de la normalización permite afrontar el problema
de diseño de bases de datos relacionales de una manera
rigurosa y objetiva
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción Formas de abordar el proceso de modelado:
a)  Realizando el proceso de diseño en dos fases
b)  O b t e n i e n d o e l e s q u e m a r e l a c i o n a l
directamente
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción: Proceso de diseño en dos fases a) Proceso de diseño en dos fases:
ESTUDIANTE (Cod_Estud, nombre, apellido, dirección)
SOLICITA (Cód_Beca, Cod_Estud, Fecha)
BECA (Cod_Beca, Nombre, Requisito)
www.kybele.urjc.es ¿Es Correcto?
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción: Proceso de diseño en dos fases Cod_Beca
Cod_Estud
Fecha
Cod_Beca
Nombre
Requisito
A22321
012323
10/10/08
A22321
METRICA
Ing. Técnico
B56784
763476
12/11/08
B56784
ERASMUS
Ing. Técnico
A22231
763476
14/10/08
G65434
HIMMPA
Ing. Superior
G65434
763476
15/09/08
G65434
012323
17/09/08
G65434
987765
21/09/08
B56784
012323
11/11/08
B56784
987765
10/10/08
A22321
012323
12/11/08
A22321
232457
17/09/08
Cod_Estud
Nombre_E
Apellido
Dirección
012323
Roberto
Hens
Antonio López 43
763476
Luis
García
Av. Ciudades 29
987765
Gregorio
Celada
Pl. Paises 67
232457
María
García
Rio Miño 2
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción: Esquema relacional directamente b) Obteniendo el esquema relacional directamente:
ESTUDIANTE_SOLICITA_BECA
Cod_Estud
nombre
apellidos
dirección
Cod_Bec
nom_beca
requisito
Fecha
012323
Roberto
Hens
Antonio López 43
A22321
METRICA
Ing. Téc
10/10/08
763476
Luis
García
Av. Ciudades 29
B56784
ERASMUS
Ing. Téc
12/11/08
763476
Luis
García
Av. Ciudades 29
A22231
METRICA
Ing. Téc
14/10/08
763476
Luis
García
Av. Ciudades 29
G65434
HIMMPA
Ingenie.
15/09/08
012323
Roberto
Hens
Antonio López 43
G65434
HIMMPA
Ingenie.
17/09/08
987765
Gregorio
Celada
Pl. Países 67
G65434
HIMMPA
Ingenie.
21/09/08
012323
Roberto
Hens
Antonio López 43
B56784
ERASMUS
Ing. Téc
11/11/08
987765
Gregorio
Celada
Pl. Países 67
B56784
ERASMUS
Ing. Téc
10/10/08
012323
Roberto
Hens
Antonio López 43
A22321
METRICA
Ing. Téc
12/11/08
232457
María
García
Rio Miño 2
A22321
METRICA
Ing. Téc
17/09/08
¿Es correcto? ¿Recoge la misma información?
¿Es mejor o peor que el anterior?
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción: Posibles Problemas • 
• 
• 
• 
• 
• 
• 
Incapacidad para almacenar ciertos hechos. Redundancias y, por tanto, posibilidad de
inconsistencias. Ambigüedades. Pérdida de información (aparición de tuplas espurias). Pérdida de dependencias funcionales Existencia de valores nulos (inaplicables) Aparición de estados que no son válidos en el mundo
real
Estos problemas podemos tenerlos en cualquiera de los dos casos www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Introducción: Pérdida de Información Cod_Asig
Nom_Alum
Aula
IS
Juan
330
DBD
Juan
318
DBD
Leire
121
IS
Leire
330
Cod_Asig
Cod_Asig
Cod_Asig
Aula
DBD
318
DBD
121
IS
330
www.kybele.urjc.es Nom_Alum
Aula
IS
Juan
330
DBD
Juan
318
DBD
Juan
121
DBD
Leire
318
DBD
Leire
121
IS
Leire
330
Nom_Alum
IS
Juan
DBD
Juan
DBD
Leire
IS
Leire
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Tuplas
espurias
Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Teoría de la Normalización Dado un conjunto A de atributos y el conjunto D de dependencias existentes entre ellos que consAtuyen un esquema de relación R(A, D), se trata de transformar, por medio de sucesivas proyecciones, este esquema de parAda en un conjunto de n esquemas de relación ​{​𝑹↓𝒊 (​𝑨↓𝒊 , ​𝑫↓𝒊 ,)}↑𝒏 ​ ↓𝒊=𝟏 tales que cumplan unas determinadas condiciones: El conjunto de esquemas ​𝑹↓𝒊 deberan ser equivalentes a 𝑹 y mejores que el esquema de parAda www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Normalización de Relaciones Pasos para normalizar relaciones: 1. 
Calculo de las dependencias funcionales, mulAvaluadas, jerárquicas y en combinación que existen entre los atributos de la relación. 2. 
Calculo del recubrimiento minimal. 3. 
Calculo de las claves candidatas de la relación, de los atributos principales y de los no principales. 4. 
Cálculo de la de la forma normal en que se encuentra la relación 5. 
Aplicar los métodos de descomposición y síntesis para obtener la forma normal deseada.
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Dependencias entre los datos Las dependencias son propiedades inherentes al contenido semánQco de los datos; forman parte de las restricciones de usuario del modelo relacional y se han de cumplir para cualquier extensión de un esquema de relación. Sin pérdida de generalidad vamos a considera que el esquema relacional está compuesto por un único esquema de relación: R(A, DEP) • 
• 
A: conjunto de dependencias existentes entre los atributos DEP: cjto. de dependencias existentes entre los atributos Tipos: funcionales, mulQvaluadas, jerárquicas… www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Dependencias Funcionales Si para cada valor de X, solamente existe un único valor de Y implicado
x→ y
Ejemplo: dni _ profesor → nombre _ profesor
Si x →
y e y →
x entonces x ↔
y X e Y son equivalentes www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Dependencias Funcionales: Tipos DF Trivial: x →
y y además Y es un subconjunto de X 1. 
Ejemplo: nombre _ profesor → nombre _ profesor
2. 
DF Elemental: Si Y es un atributo único, se trata de una dependencia plena (no parcial) y no trivial. 3. 
DF TransiAva: R ({x, y , z}, DEP )
x→ y
y→ z
y→ x
www.kybele.urjc.es x− → z
R({nombre _ profesor , codigo _ postal , ciudad }, DEP )
nombre _ profesor → codigo _ postal
codigo _ postal → ciudad
codigo _ postal → nombre _ profesor
Además sí, z → yDF Transitiva Estricta
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Dependencia MulQvaluada X mulAdetermina a Y, si para cada valor de X existe un conjunto bien definidos de valores posible en Y, con independencia del resto de los atributos de la relación. x →→ y
Ejemplo: Nombre
Titulación
Juan
Mag. Música
Juan
Ing. Informática
Ana
Ing. Caminos
Tipos: Dependencias mulAvaluadas jerárquicas www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Dependencias Jerárquicas X mulAdetermina jerárquicamente a Y y Z si: X mulAdetermina a Y y X mulAdetermina a Z Ejemplo: www.kybele.urjc.es Nombre
Titulación
Proyecto
Pedro
Mag. Música
A
Pedro
Ing. Informática
B
Maria
Ing. Caminos
A
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Cierre de un Descriptor Cierre de un conjunto de dependencias:
•  DF + : conjunto de todas las dependencias
funcionales implicadas por DF.
•  Primera aproximación: axiomas de Armstrong:
§  Reflexividad: si Y ⊆ X, entonces X → Y
§  Aumento: si X → Y, entonces XZ → YZ
§  Transitividad: si X → Y y Y → Z, entonces X →
Z
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Cierre de un Descriptor (II) • 
Podemos calcular DF+ aplicando los axiomas • 
Calcular el cierre de un subconjunto tal que X sea implicante: cierre transi(vo de un descriptor X de R respecto al conjunto de dependencias DF, (X+ DF) • 
Dado R(A, DF), se define X+DF como un subconjunto de los atributos de A tales que X → X+DF ∈ DF+, siendo X+ DF máximo en el senAdo de que la adición de cualquier atributo vulneraría la condición anterior • 
Consecuencias: cálculo de SK (superclave) y K (clave) • 
Algoritmo de Ullman www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Ejemplo: Cierre TransiQvo de un Descriptor Sea R ({A, B, C, D, E, F}, DF), donde DF={A → B, B → A, C
→ A, D → C, (E, C) → D, A → F, C → F}
Hallar el cierre del descriptor (E, C)
E, C → E, C
E, C → E, C, D
E, C → E, C, D, A
E, C → E, C, D, A, B
E, C → E, C, D, A, B, F
Por tanto,
(E, C)+ = E, C, D, A, B, F
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Equivalencia de conjuntos de DF Dado DF, X → Y ∈ DF+ sii Y ⊆ X+DF DF1 y DF2 son equivalentes si DF+1 = DF+2. § 
§ 
Si para toda dependencia X → Y∈DF2 se cumple que Y ⊆ X+DF1, entonces toda dependencia de DF2 está en DF1 y por tanto DF1 es un recubrimiento de DF2 Si para toda dependencia Z → W∈DF1 se cumple que W ⊆ Z+DF2, entonces toda dependencia de DF1 está en DF2 y por tanto DF2 es un recubrimiento de DF1 está Si se cumplen ambas condiciones, DF1 y DF2 son mutuamente recubrimientos, luego son equivalentes www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Cálculo del Recubrimiento Minimal m
Un conjunto de dependencias es mínimo, y se denota , DEP
cuando se cumplen las siguientes condiciones: a) 
b) 
Todas son dependencias son elementales (plenas, no triviales y con un único atributo implicado) No existen atributos extraños. A es extraño en X
→
Y
sí, ( X − A) → Y
c) 
No existe en la relación ninguna dependencia redúndate. R({A, B, C}, { A → C , AB → C})
R({A, B, C},{ A → B, B → C , A → C})
Se pueden obtener varios de conjuntos de dependencias mínimos válidos www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Cálculo de Claves Candidatas Dado un esquema de relación R(A,DEP) se denomina superclave de la relación R a un conjunto no vacio de atributos perteneciente de A, tal que estos atributos determinan a todo el conjunto A, es decir, que el cierre transiAvo de ese conjunto de atributos sea todo A El cierre transiAvo de X se define como el conjunto de atributos determinados por X aplicando los axiomas de Armstrong, denotado. +
X
Ejemplo: R({A, B, C , D}{ A → B, D; B → C})
A+ = { A, B, C , D}
B + = {B, C}
C + = {C}
D + = {D}
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Cálculo de Claves Candidatas (II) Se denomina clave candidata (CC) de una relación a una superclave tal que cumple que ningún subconjunto de la misma determina a todo A Ejemplo: { A}
{B, A}
CC ya que determina a todos los atributos No es CC, aunque determina a todos los atributos, porque el subconjunto {A} determina a todos los atributos. Atributos Principales y No Principales •  AP: Cuando forma parte de laguna de las claves candidatas de la relación. • 
ANP: Cuando no forma parte de ninguna de las claves candidatas www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Formas Normales Esquemas en 1FN
Esquemas en 2FN
Esquemas en 3FN
Esquemas en FNBC
Esquemas en 4FN
Esquemas en 5FN
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 1FN. Primera Forma Normal Condiciones: • 
Cada atributo solo toma un valor del dominio. No existen grupos repeAdos Ejemplo: Nombre
Titulaciones
Nombre
Titulaciones
Miguel
Informática
Miguel
Informática
Física
Miguel
Física
Vanesa
E. Infantil
Vanesa
E. Infantil
La primera forma normal es una restricción inherente al modelo relacional, por lo que su cumplimiento es obligatorio para toda relación www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 2FN. Segunda Forma Normal Condiciones: • 
• 
Se encuentra en 1FN Cada atributo no principal (ANP) tiene dependencia funcional completa
respecto de alguna de las claves. Ejemplo: NO ESTÁ EN 2FN
R ({A, B, C , D}, { A, B → C ; A → D})
{ A, B} : CC
AP : { A}{B}
ANP : {C}{D}
www.kybele.urjc.es ESTÁ EN 2FN
R1({A, B, C}, { A, B → C})
R 2({A, D}, { A → D})
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 3FN. Tercera Forma Normal Condiciones: • 
• 
Se encuentra en 2FN No existe ningún atributo no principal (ANP) que dependa transiQvamente de alguna clave de R. Ejemplo: NO ESTÁ EN 3FN
R ({A, B, C}, { A → B; B → C})
{ A} : CC
AP : { A}
ANP : {B}{C}
www.kybele.urjc.es ESTÁ EN 3FN
R1({A, B}, { A → B})
R 2({B, C}, {B → C})
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 FNBC. Forma Normal Boyce-­‐Codd Condiciones: • 
• 
Se encuentra en 3FN Si y solo si todo determinante es clave candidata. Ejemplo: NO ESTÁ EN FNBC
R({A, B, C , D}, { A ↔ B; A, C → D})
ESTÁ EN FNBC
R1({A, B}, { A ↔ B})
{ A}, {B} : NoCC
{ A, C}, {B, C} : CC
www.kybele.urjc.es R 2({A, C , D}, { A, C → D})
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 4FN. Cuarta Forma Normal Condiciones: • 
Si y solo si las únicas dependencias mulQvaluadas no triviales son aquellas en las que una clave mulQdetermina un atributo. Ejemplo: NO ESTÁ EN 4FN
R({A, B, C}, { A →→ B; A →→ C})
C no participa
www.kybele.urjc.es B no participa
ESTÁ EN 4FN
R1({A, B}, { A →→ B})
R 2({A, C}, { A →→ C})
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 5FN. Quinta Forma Normal Condiciones: • 
• 
Se encuentra en 4FN. Toda dependencia de combinación está implicada por una clave candidata. Definición: “Una relación se encuentra en 5FN si y solo sí toda dependencia funcional, mulAvaluada o de combinación no trivial es consecuencia de las claves candidatas” www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Métodos de Descomposición y Síntesis ObjeAvo: • 
Transformar, por medio de proyecciones, un esquema de relación en un conjunto de n esquemas resultantes. • 
Los n esquemas resultantes serán equivalentes a la relación inicial y tendrán menor redundancia en los datos. A tener en cuenta: • 
• 
• 
• 
Conservación de la información. Conservación de las dependencias. Mínimas redundancias en los datos. Avanzar en las formas normales. www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Proceso de Descomposición 1) Hallar un recubrimiento minimal DFm
2) Determinar la(s) clave(s), AP y ANP 3) Identificar la FN en que se encuentra la relación Si se desea llegar a una forma normal más avanzada: 4) Agrupar las DF que tengan el mismo implicante y/o equivalente 5) Obtener proyecciones independientes sobre cada una de las DF
(o de los grupos), de forma que los atributos que aparecen en la
DF constituyen una nueva relación y los ANP, así como la DF,
desaparezcan de la relación origen. 6) Proseguir esta descomposición repitiendo el paso 5 hasta que no
pueda continuarse porque todas las DF estén implicadas por una
clave.
Nos aseguramos relaciones en 5FN
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Ejemplo: Proceso de Descomposición R
R({AT }, {DEP m })
AT = { A, B, C , D, E , F }
DEP m = { A, B → C; A, D → F ; A, C → E}
R1
AT = { A, C , E}
DEP = { A, C → E}
R1’
Claves:{A,C}
5FN
R2
www.kybele.urjc.es AT = { A, D, F }
DEP = { A, D → F }
Claves:{A,D}
5FN
Claves:{A,B,D}
1FN
AT = { A, B, C , D, F }
DEP = { A, B → C ; A, D → F }
R3
AT = { A, B, C}
DEP = { A, B → C}
Claves:{A,B}
Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 5FN
Claves:{A,B,D}
1FN
Proceso de Síntesis 1) 
Hallar un recubrimiento minimal DFm
2) 
Agrupar las DF en particiones que tienen el mismo implicante,
uniendo los atributos equivalentes
3) 
Crear un esquema Ri para cada parAción, que tenga como atributos todos los que parAcipen en las dependencias y como grupo de dependencias las del grupo. 4) 
Si existen atributos que no son implicantes ni implicados ,
formar un esquema de relación con estos sin dependencias o
alternativamente crear un esquema con la clave de la relación
sin dependencias.
Nos aseguramos relaciones en FNBC
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Ejemplo: Proceso de Síntesis R({AT }, {DEP m })
AT = { A, B, C , D, E , F }
DEP m = { A, B → C; A, D → F ; A, C → E}
Se crea un nuevo esquema de relación por cada conjunto de dependencias que poseen el mismo implicante R1({A, B, C},{ A, B → C})
R 2({A, D, F }, { A, D → F })
R3({A, C , E},{ A, C → E})
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Contenido Introducción Normalización de Relaciones •  Dependencias y cálculo del cierre de un descriptor. •  Cálculo del recubrimiento minimal. •  Cálculo de las claves candidatas •  Formas Normales •  Métodos de descomposición y síntesis Bibliogra;a www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 Bibliogra;a & Date, C. J. “An Introduction to Database Systems” (8ª
edición), Addison-Wesley, 2004. (Existe traducción al
castellano de la 7ª Ed.)
& Piattini, M., Marcos, E., Calero, C. y Vela, B. Tecnología y
Diseño de Bases de Datos, Ed.: RA-MA, 2006
& de Miguel A., et al. Diseño de Bases de Datos. Problemas
Resueltos. Ed.: RA-MA, 2001
www.kybele.urjc.es Diseño de Bases de Datos y Seguridad de la Información -­‐ 2010 
Descargar