Formas Normales Descomposición de Relaciones Primera Forma

Anuncio
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Formas Normales
Elementos de
Bases de Datos
Una forma normal es una restricción sobre un
esquema de base de datos que,
presumiblemente, previene ciertas propiedades
indeseables.
Dpto.Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Estudiaremos las siguientes formas normales:
„
Lic. María Mercedes Vitturini
[[email protected]]
„
„
Clase 11
„
1er. Cuatrimestre de 2004
Primera Forma Normal: 1FN.
Segunda Forma Normal: 2FN.
Tercera Forma Normal: 3FN.
Forma Normal de Boyce-Codd: FNBC.
Elementos de Bases de Datos
Clase 11
Descomposición de Relaciones
Si bien un esquema de relación R puede no
satisfacer cierta forma normal, es posible obtener
una descomposición ρ=(R1,…,Rk) tal que cada
esquema Ri la satisface.
Esto es, los valores de los dominios no son
valores compuestos (conjuntos, listas, etc).
Ventajas de la 1FN:
Sería deseable que la descomposición hallada
preserve dependencias y sea join sin pérdida.
Además de respetar una forma normal alta.
Representación Tabular.
Lenguajes de Consulta más simples.
„ Definición de Restricciones de Integridad más simples.
„
„
3
4
Definiciones previas:
El esquema:
Personas (DNI, Apellido, Nombres, Domicilio
{Hobby})
Š El grupo que se repite de hobby no respeta la 1FN.
El esquema:
„
Elementos de Bases de Datos
Clase 11
Segunda Forma Normal
Ejemplos
„
Primera Forma Normal
Definición: Un esquema de relación R está en
primera forma normal (1FN) si los valores en
dom(A) son atómicos para cada atributo A en R.
Definición: Una descomposición ρ=(R1,…,Rk)
satisface una forma normal determinada si cada Ri
satisface esa forma normal.
Elementos de Bases de Datos
Clase 11
2
Artículos (código, nombre, descripción)
Š Con código de la forma ddcccc, donde dd representa el
departamento que lo comercializa y cccc el número
interno de artículo, no respeta la 1FN.
Elementos de Bases de Datos
Clase 11
5
Definición: Dados un conjunto de df's F y una df X→Y en
F+, se dice que Y es parcialmente dependiente de X si
en F X→Y no está reducido a izquierda, esto es Y
dependede de un subconjunto de los atributos de X. Si
X→Y está reducido a izquierda entonces Y es totalmente
dependiente de X.
Definición: Dado un esquema de relación R, un atributo
A en R y un conjunto de df's F, un atributo A es primo
en R con respecto a F si A es parte de alguna llave de R.
De lo contrario, se dice que A es no primo.
Elementos de Bases de Datos
Clase 11
6
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Segunda Forma Normal
Ejemplo de 2FN
Definición 1: Un esquema de relación R está en
Consideremos los siguientes atributos:
segunda forma normal (2FN) con respecto a un
Viajes (vuelo, día, piloto, puertaEmb)
conjunto de df's F si está en 1FN y cada atributo no
primo es totalmente dependiente de cada llave en R.
„
El esquema R=(DGPV) tiene como df's a:
F = { VD → PG, V → G }
La llave de este esquema es VD.
V y D son atributos primos, P y G son no primos.
El esquema no está en 2FN porque G (atributo no
primo) es parcialmente dependiente de VD (que es
llave de la relación).
Definición 2: Un esquema de relación R está en
segunda forma normal (2FN) con respecto a un
conjunto de df's F si para cada df X → A (A ∉ X) en F
se verifica que:
„
„
X no es un subconjunto propio de una llave, o bien:
A es primo.
Elementos de Bases de Datos
Clase 11
O en forma reducida Viajes(VDPG)
Elementos de Bases de Datos
Clase 11
7
Ejem
plo
Ejemplo de 2FN
8
Vuelo
Dia
Piloto
Puerta de Embarque
112
01/09/2004
Díaz Joaquin
1
112
10/09/2004
Peralta Mario
1
125
05/09/2004
Torres Manuel
2
125
10/092004
Marini Matias
2
132
11/09/2004
Peralta Mario
1
146
04/09/2004
Marini Matias
3
146
12/09/2004
Díaz Joaquin
3
Para el ejemplo anterior con el esquema R=(DGPV) y las
mismas df's: F = {VD→PG, V→G}
Sea la descomposición:
ρ=(R1,R2)=(VDP,VG)
con las df's {VD→P} y {V→G} respectivamente.
Esquema R1=(VDP), llave VD, P es atributo no primo
y se satisface la 2FN.
Esquema R2=(VG) llave V, G es atributo no primo y
se satisface la 2FN.
Como cada subesquema satisface la 2FN, la
descomposición ρ satisface la 2FN. Además esta
descomposición tiene las propiedades jsp y pd.
Elementos de Bases de Datos
Clase 11
Piloto
01/09/2004
Díaz Joaquin
Vuelo
Puerta de Embarque
112
10/09/2004
Peralta Mario
112
1
125
05/09/2004
Torres Manuel
125
2
125
10/092004
Marini Matias
132
11/09/2004
Peralta Mario
132
1
146
04/09/2004
Marini Matias
146
3
146
12/09/2004
Díaz Joaquin
Elementos de Bases de Datos
Clase 11
Ejemplo: R=(Vuelo, Día, Id-Piloto, Nombre_Piloto) y el
conjunto F={Vuelo Día → Id-Piloto Nombre_Piloto, IdPiloto → Nombre_Piloto}. El atributo Nombre_Piloto es
transitivamente dependiente de Vuelo Día pues:
Vuelo Día → Id-Piloto (pero no Id-Piloto → Vuelo Día)
Id-Piloto → Nombre.
Definición 1: Un esquema de relación R está en
tercera forma normal (3FN) con respecto a un
conjunto de df's F si está en 1FN y cada atributo no
primo no es transitivamente dependiente de una
superllave de R.
Definición 2: Un esquema de relación R está en
tercera forma normal (3FN) si para cada dependencia
funcional X → A (A ∉ X) en F se verifica que:
„
„
Elementos de Bases de Datos
Clase 11
10
Tercera Forma Normal
Definición: Dado un esquema de relación R, un
subconjunto X de R, un atributo A en R y un conjunto de
df's F, se dice que A es transitivamente dependiente de X
si existe un subconjunto Y de R tal que X→Y, no es el
caso que Y→X, e Y→A está en F pero A no está en XY.
„
Dia
112
9
Dependencia Transitiva
„
Vuelo
11
X es superllave, o bien:
A es primo.
Elementos de Bases de Datos
Clase 11
12
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Algoritmo Descomposición3FNpd
Ejemplo de 3FN
Dado un esquema con los atributos V: Vuelo, D:
Día, I: IdPiloto, N: Nombre
El esquema R=(DINV) tiene como df's a:
F = {VD → IN, I → N}
La llave es VD con V, D atributos primos y I, N
son no primos.
El esquema R no está en 3FN.
ρ = (R1,R2) = (VDI,NI)
con las df’s {VD → I} y {I → N} respectivamente satisface la 3FN. Además tiene las
propiedades de jsp y pd.
Algoritmo Descomposición3FNpd
Datos de Entrada: un esquema R y un conjunto de df’s F.
Datos de Salida: una descomposición S en 3FN que pd.
Comienzo del Algoritmo
G ← CubrimientoMínimoReducido(F).
Abrir a derecha las df's de G.
Si existen atributos en R no involucrados en ninguna df de G,
tanto a izquierda y a derecha entonces esos atributos pueden
formar un esquema y ser eliminados de R.
Si una de las df's de G involucra todos los atributos de R
Entonces
S ← R.
Sino
S consiste de los esquemas XA para cada X → A en G.
Fin del Algoritmo
Elementos de Bases de Datos
Clase 11
(CTHRSG)
Consideremos los atributos C: Curso, T: Profesor, H:
Hora, R: Aula, S: Estudiante, G: Grado y las df’s:
•
•
•
•
14
Ejemplo 3FN y PD
Ejemplo
•
Elementos de Bases de Datos
Clase 11
13
C→T: Cada curso tiene un profesor.
HR→C: Solo un curso puede estar en un aula en un
momento.
HT→R: Un profesor puede estar en un aula en un
momento.
CS→G: Cada estudiante tiene un grado en cada curso.
HS→R: Un estudiante puede estar en un sólo aula en un
momento.
El esquema completo es (CGHRST).
Elementos de Bases de Datos
Clase 11
C→T, HR→C, HT→R,
CS→G, HS→R
(CT)
C→T
HR→C
(THR)
(CSG)
HT→R
HS→R
CS→G
¿Es JSP? Podemos usar el algoritmo de la tabla.
Elementos de Bases de Datos
Clase 11
15
Ejemplo 3FN y PD
(HRS)
(CHR)
16
Ejemplo 3FN y PD
CT
CHR
THR
C
a1
a1
b31
T
a2
b22
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CT
CHR
THR
C
a1
a1
b31
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CSG
HRS
a1
b51
b42
b52
b43
a3
b44
a4
a5
a5
a6
b56
CSG
HRS
a1
b51
a2
b52
b43
a3
b44
a4
a5
a5
a6
b56
CT
CHR
THR
C
a1
a1
b31
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CT
CHR
THR
C
a1
a1
a1
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CSG
HRS
a1
b51
a2
b52
b43
a3
b44
a4
a5
a5
a6
b56
CSG
HRS
a1
a1
a2
b52
b43
a3
b44
a4
a5
a5
a6
b56
Elementos de Bases de Datos
Clase 11
C→T
17
Elementos de Bases de Datos
Clase 11
HR→C
18
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Ejemplo 3FN y PD
Ejemplo 3FN y PD
CT
CHR
THR
C
a1
a1
a1
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CT
CHR
THR
C
a1
a1
a1
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CSG
HRS
a1
a1
a2
b52
b43
a3
b44
a4
a5
a5
a6
b56
CSG
HRS
a1
a1
a2
a2
b43
a3
b44
a4
a5
a5
a6
b56
CT
CHR
THR
C
a1
a1
a1
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CT
CHR
THR
C
a1
a1
a1
T
a2
a2
a2
H
b13
a3
a3
R
b14
a4
a4
S
b15
b25
b35
G
b16
b26
b36
CSG
HRS
a1
a1
a2
a2
b43
a3
b44
a4
a5
a5
a6
b56
CSG
HRS
a1
a1
a2
a2
b43
a3
b44
a4
a5
a5
a6
a6
C→T
Elementos de Bases de Datos
Clase 11
Algoritmo Descomposición3FNpdjsp
Teorema 2: Sea ρ una descomposición de R en 3FN
obtenida con el algoritmo Descomposición3FNpd y sea
X una llave de R. Entonces σ = ρ ∪ {X} es una
desconposición de R en 3FN que es jsp y pd.
Nota: Si partimos de un esquema de n df's, la relación
puede tener a lo sumo n subesquemas ya que ciertas
df's pueden caer en un mismo esquema. Por ejemplo:
A→B y B→A estarían en un mismo esquema AB.
Elementos de Bases de Datos
Clase 11
Datos de Entrada: un esquema R y un conjunto de df’s F.
Datos de Salida: una descomposición G en 3FN, jsp y pd.
Comienzo del Algoritmo
G ← Descomposición3FNpd(R,F).
Si G no contiene algún subesquema con una llave de R
Entonces
Sea X una llave de R.
G ← G ∪ { X }.
Fin del Algoritmo
Elementos de Bases de Datos
Clase 11
21
Ejemplo 3FN, JSP y PD
(CTHRSG)
C→T, HR→C, HT→R,
CS→G, HS→R
(HS)
C→T
∅
HT→R
Tenemos que HS es llave
(pues HS+=HSRCTG=R).
(CSG)
CS→G
(CT)
(HRS)
(CHR)
HS→R
HR→C
HS ⊆ HRS
Descomposición en
3FN, JSP y PD.
Elementos de Bases de Datos
Clase 11
C→T, HR→C, HT→R,
CS→G, HS→R
C→T
(HRS)
(THR)
22
Ejemplo 3FN, JSP y PD
(CTHRSG)
HR→C
20
Algoritmo Descomposición3FNpdjsp
Teorema 1: El algoritmo Descomposición3FNpd
encuentra una descomposición en 3FN que preserva
dependencias.
(CHR)
JSP
Elementos de Bases de Datos
Clase 11
19
Descomposiciones 3FN y JSP
(CT)
CS→G
23
(THR)
HT→R
(CSG)
HS→R
CS→G
Descomposición en
3FN, JSP y PD.
Elementos de Bases de Datos
Clase 11
24
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Algoritmo DescomposiciónFNBCjsp
Forma Normal de Boyce-Codd
Definición 1: Un esquema de relación R está en forma
normal de Boyce-Codd (FNBC) con respecto a un
conjunto de df's F si para cada dependencia funcional
X→A (A∉X) en F vale se verifica que X es superllave
(llave para conjuntos mínimos reducidos).
Definición 2: Un esquema de relación R está en forma
normal de Boyce-Codd (FNBC) con respecto a un
conjunto de df's F si para cada subconjunto Y de R y
cada atributo A en R-Y, si Y→A entonces Y→R en F. Esto
es, si Y determina no trivialmente cualquier atributo de R
entonces Y es superllave de R.
Lema: Cualquier esquema de relación R que está en
FNBC con respecto a F está en 3FN con respecto a F.
Elementos de Bases de Datos
Clase 11
25
Ejemplo 1 de FNBC y JSP (a)
Llave:
C
(CTHRSG)
C→T, HR→C, HT→R,
CS→G, HS→R
(CT)
C→T
Llave:
CS
Llave:
HS
(CSG)
CS→G
(CHRS)
HR→C, HS→R, HC→R
Llaves:
HR,HC
¡Perdimos HS → R!
(HCR)
HC→R, HR→C
26
Llave:
HS
La descomposición obtenida en el ejemplo anterior
es:
ρ=(CT, CSG, HCR, HSC)
Esta descomposición es FNBC y JSP por
construcción. Esto es, lo garantiza el algoritmo.
En principio, no podemos asegurar si tiene la
propiedad de preservar dependencias. Dos
mecanismos para verificarlo:
„
(CHS)
HS→C
Elementos de Bases de Datos
Clase 11
Llave:
HS
„
Verificar si la unión de las dependencias profectadas
determina el conjunto F.
Usar el algoritmo Clausura para comprobar la
propiedad pd.
Elementos de Bases de Datos
Clase 11
27
28
Ejemplo 2 de FNBC y JSP
Ejemplo 2 de FNBC y JSP
Consideremos los atributos:
E: Estudiante, M: Materia, P: Profesor
Sea R=(EMP) y las df's {EM→P, P→M}. Este
esquema tiene dos llaves: EM y EP.
Todos los atributos de la relación son primos. Por lo
tanto, la relación está en 3FN pero no en FNBC.
La descomposición (EP,PM) resuelve el problema ya
que el esquema satisface la FNBC.
Sin embargo, claramente no preserva dependencias
(perdimos EM → P).
Elementos de Bases de Datos
Clase 11
Clase 11
Ejemplo JSP FNBC
Llave:
HS
(CHRSG)
HR→C, CS→G,
HS→R, HC→R
Algoritmo DescomposiciónFNBCjsp
Datos de Entrada: un esquema R y un conjunto de df’s F.
Datos de Salida: una descomposición en FNBC jsp.
Comienzo del Algoritmo
G ← CubrimientoMinimoReducido(F).
Abrir a derecha las df's de G.
Z toma el valor del esquema original R.
Repetir mientras Z no está en FNBC:
Se intenta descomponer Z en dos esquemas XA y Z\A tal que
XA está en FNBC (no en el esquema general) y vale X→A.
Se agrega XA a la descomposición.
Z toma el valor Z \ A.
Se considera al Z final una descomposición más.
Fin del Algoritmo
Elementos de Bases de Datos
29
Llaves:
EM, EP
Llave:
P
EMP
{EM → P, P → M}
PM
{P→M}
Elementos de Bases de Datos
Clase 11
EP
{}
Llave:
EP
30
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
¡Cuidado con las descomposiciones!
Uno debe recordar que la descomposición es la última
opción que debemos optar para resolver problemas de
anomalías o redundancia.
Por caso, si un esquema está en FNBC no debemos
descomponerlo aunque obtengamos una
descomposición FNBC, jsp y pd.
Ejemplo: I: Id-Empleado, N: Nombre, S: Salario, D:
Departamento. Sabemos que I → NSD y este esquema
ya está en FNBC. No debemos descomponerlo en (IN,
IS, ID) con las df's {I→N}, {I→S}, {I→D} respectivamente.
Elementos de Bases de Datos
Clase 11
„
EJ → ABCDEHIJKL es redundante pues tenemos la df E →
ABCDEHIJKL.
CHJK → ABCDEHIJKL es redundante pues tenemos la df
HJ→ABCDEHIJKL.
DEK → ABCDEHIJKL es redundante pues tenemos la df E
→ ABCDEHIJKL.
Luego, el conjunto cerrado en atributos no
redundante es:
F2 = { E → ABCDEHIJKL, HJ → ABCDEHIJKL } ∪
{ C → BC, DElementos
→ DI,
I →de DI,
de Bases
Datos AD → ADIL }
Clase 11
33
F1 = { E → ABCDEHIJKL, HJ → ABCDEHIJKL } ∪
{ EJ → ABCDEHIJKL, C → BC, D → DI, I → DI } ∪
{ DEK → ABCDEHIJKL, CHJK → ABCDEHIJKL, AD → ADIL }
Elementos de Bases de Datos
Clase 11
32
Ahora debemos eliminar atributos extraños a izquierda del conjunto de
df’s F2.
El conjunto F2 ya está reducido a izquierda. Por lo tanto, debemos
reducirlo a derecha:
I→ID ⇒Trivial I→D.
D→ID ⇒Trivial D→I.
• C→BC ⇒Trivial C→B.
• AD→ADIL ⇒Trivial AD→IL ⇒D equivalente a I AD→L.
• E→ABCDEHIJKL ⇒Trivial E→ABCDHIJKL ⇒D equivalente a I E→ABCDHJKL ⇒C determina
a B E→ACDHJKL ⇒AD determina a L E→ACDHJK ⇒HJ determina a ACDK E→HJ.
• HJ→ABCDEHIJKL ⇒Trivial HJ→ABCDEIKL ⇒C determina a B HJ→ACDEIKL ⇒D determina
a I HJ→ACDEKL ⇒AD determina a L HJ→ACDEK.
•
•
El conjunto reducido a derecha es:
F3 = { I → D, D → I, C → B, AD → L, E → HJ, HJ → ACDEK }
Elementos de Bases de Datos
Clase 11
34
Ejemplo Completo
Ejemplo Completo
El conjunto mínimo reducido de df’s es:
F3 = { I → D, D → I, C → B, AD → L, E → HJ, HJ → ACDEK }
¿Cuáles son las llaves de esta relación?
Atributos que serán parte de la llave:
Siempre: ninguno.
Nunca: B, L, K.
„Tal vez: A, C, D, E, H, I, J.
„
„
Debemos probar con todas las combinaciones de los atributos “Tal
vez” (hasta 27 = 128).
Primero probamos con llaves de un atributo, luego con llaves de
dos atributos, hasta (difícilmente sea necesario) probar con llaves
de 7 atributos.
En este caso las llaves son E y HJ.
Elementos de Bases de Datos
Clase 11
Sea R=(ABCDEHIJKL) y F el siguiente conjunto de df’s:
F0 = { E → JK, HJ → DEI, EJ → CDH, C → B, D → I }
∪ { I → D, DEK → AE, CHJK → A, DA → L }
Conjunto cerrado en atributos:
Ejemplo Completo
Ahora debemos eliminar df’s redundantes del
conjunto cerrado en atributos (F1).
„
Consideraremos un ejemplo completo en el cual
daremos un conjunto de df’s, obtendremos un
cubrimiento mínimo reducido y luego esquemas en 3FN
y FNBC.
31
Ejemplo Completo
„
Ejemplo Completo
35
El conjunto mínimo reducido de df’s es:
F3 = { I → D, D → I, C → B, AD → L, E → HJ, HJ → ACDEK }
Las llaves de la relación son E y HJ.
Ahora debemos abrir a derecha las df’s para hallar los
respectivos esquemas en 3FN y FNBC.
F4 = { I → D, D → I, C → B, AD → L, E → H, E → J }
∪ { HJ → A, HJ → C, HJ → D, HJ → E, HJ → K }
Para hallar una descomposición en 3FN y PD, tomamos un
esquema por cada dependencia (podrían caer más de una df
por esquema).
Luego, para que sea JSP debemos asegurar que algún
esquema contenga una llave de R.
Elementos de Bases de Datos
Clase 11
36
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Ejemplo FNBC y JSP
Ejemplo 3FN, JSP y PD
(ABCDEHIJKL) – {E,HJ}
(ABCDEHIJK) – Llaves E y HJ
I → D, D → I, C → B, AD → L, E → H, E → J, HJ → A,
I → D, D → I, C → B, AD → L, E → H, E → J,
HJ → C, HJ → D, HJ → E, HJ → K
HJ → A, HJ → C, HJ → D, HJ → E, HJ → K
Las df’s
subrayadas
fueron
introducidas
(con cambios)
en cada nuevo
subesquema.
(ABCEHIJKL) – {E,HJ}
(ID) – {D,I}
I→D, D→I
(DI)
I→D, D→I
(CB)
C→B
(AD)
AD→L
(HJK)
HJ→K
(HJC)
HJ→C
(HJA)
HJ→A
(HJD)
HJ→D
Verificar
si
esta
descomposición preserva dependencias.
37
Permite eliminar el mayor número de redundancias
posibles.
Es posible alcanzar una descomposición JSP.
No siempre se logra preservar dependencias.
−
„
„
Permite alcanzar una descomposición JSP.
Se logra preservar dependencias.
Pueden existir dependencias transitivas de atributos
primos.
38
Existen dos o más llaves candidatas, o bien:
Las llaves candidatas son compuestas, o bien:
Las llaves candidatas son solapadas (esto es, tienen al
menos un atributo en común).
El problema es que FNBC puede no preservar
dependencias.
FNBC, JSP y PD (aquí está el problema), podemos
aceptar una descomposición en 3FN, JSP y PD.
Elementos de Bases de Datos
Clase 11
39
Resultados importantes
40
Temas de la Clase de Hoy
Proposición 1: Si R está en 3FN con respecto a F y todas
las llaves de R son simples (consisten de un único atributo)
entonces R está en FNBC con respecto a F.
Formas Normales: 1FN, 2FN, 3FN y FNBC.
Descomposiciones
„
Proposición 2: Si R está en 3FN con respecto a F y tiene
una única llave entonces R está en FNBC con respecto a F.
Proposición 3: Si R1 y R2 con df’s F1 y F2 respectivamente
están en FNBC y tienen una llave en común, entonces R1 ∪
R2 con df’s F1 ∪ F2 está en FNBC.
Elementos de Bases de Datos
Clase 11
HJ → E, HJ → I, HJ → K
Elementos de Bases de Datos
Clase 11
En aquellos casos en los que no sucede esto, la
3FN y la FNBC son equivalentes.
• Cuando no podemos alcanzar una descomposición en
Elementos de Bases de Datos
Clase 11
(ACEHIJK) – {E,HJ}
E → H, E → J, HJ → A, HJ → C,
¿Por qué buscamos FNBC?
„
• La 3FN es la forma normal siguiente a FNBC.
+
(AIL) – {AI}
AI → L
La 3FN es apropiada en muchos casos pero no
en aquellos casos en los que:
La FNBC es la más alta forma normal.
+
HJ → E, HJ → I, HJ → K
E→ J
Comparación entre 3FN y FNBC
−
(ACEHIJKL) – {E,HJ}
AI → L, E → H, E → J, HJ → A, HJ → C,
HJ→E, E→H
Elementos de Bases de Datos
Clase 11
+
HJ → C, HJ → E, HJ → I, HJ → K
(CB) – {C}
C→B
(HJE)
Descomposición en
3FN, JSP y PD.
+
C → B, AI → L, E → H, E → J, HJ → A,
41
„
„
Algoritmo 3FN y pd.
Algoritmo 3FN, pd y jsp.
Algoritmo FNBC y jsp.
Bibliografía:
„ Principles of Database and Knowledge
Based Systems. Jeffrey Ullman. Capítulo 7
Elementos de Bases de Datos
Clase 11
42
7
Descargar