Normalización.

Anuncio
IES Azarquiel
Página 1 de 3
Gestión de Bases de Datos ____________________________________________
Normalización.
Angel Martínez Cañadas
amcanadas@gmail.com, IES Azarquiel, Toledo
I.
INTRODUCCIÓN
El proceso de normalización trata las dependencias que
existen entre los atributos de una relación. Los pasos que se
realizan para normalizar una relación son los siguientes:
1. Cálculo de las dependencias funcionales que existen
entre los atributos de la relación.
2. Cálculo del recubrimiento minimal.
3. Cálculo de las claves candidatas de la relación, de los
atributos principales y de los no principales.
4. Cálculo de la forma normal en la que se encuentra la
relación.
5. Aplicar los métodos de síntesis y análisis para obtener la
forma normal deseada.
II. CÁLCULO DE LAS DEPENDENCIAS
Entre los atributos de una relación (R) pueden existir
dependencias de varios tipos. Las dependencias son
propiedades inherentes al contenido semántico de los datos,
formando parte de las restricciones de usuario del modelo
relacional. Existen distintos tipos de dependencias: funcionales,
multivaluadas, jerárquicas y en combinación.
A. Dependencias funcionales
Definición: Sea el esquema de relación R(AT, DEP),
donde R es la relación, AT es el conjunto de atributos y DEP el
conjunto de dependencias, y X e Y dos subconjuntos de AT
denominados descriptores. Y depende funcionalmente de X (X
determina a Y) si para cada valore de X solamente existe un
único valor posible para Y. Se escribe:
X→Y
Además, al conjunto X se le denomina implicante o
determinante y al conjunto Y se le denomina implicado.
Ejemplo.
Un ejemplo de dependencia funcional es la que existe entre los
atributos DNI de profesor y Nombre de Profesor:
PROFESOR(AT, DEP)
AT= {DNI_profesor, Nombre_profesor}
DEP={DNI_profesor → Nombre_profesor})
Si además se cumpliera que no pueden existir dos profesores con
el mismo nombre, esto implicaría que el nombre también puede actuar
como clave de la relación Profesor, y por tanto también determina
funcionalemente a su DNI, es decir:
Nombre_profesor ↔ DNI_profesor
Cuando dos o más atributos se implican funcionalmente
mutuamente se dice que son equivalentes.
Algunas definiciones más necesarias para el proceso de
normalización de relaciones:
• Dependencia funcional (DF) trivial, cuando Y es un
subconjunto de X.
Ejemplo
Nombre_profesor → Nombre_profesor.
• DF elemental, si Y es un único atributo, es una
dependencia plena (no parcial) y no trivial
Ejemplo
Nombre_profesor → DNI_profesor.
• DF transitiva, si en el esquema de la relación
R({X,Y,Z},DEP) existen las dependencias X → Y; Y → Z;
Y -/-> X
Ejemplo
Nombre_profesor → Código_Postal;
Código_Postal → Ciudad;
Código_Postal -/-> Nombre_profesor
B. Dependencias multivaluadas
Sean X e Y dos descriptores. X multidetermina Y si para
cada valor de X existen un conjunto bien definido de valores
posibles en Y, con independencia del resto de los atributos. Se
escribe:
X →→ Y
Ejemplo
Por ejemplo,
titulación:
Nombre
Felipe
Felipe
Antonia
en la tabla siguiente el atributo DNI multidetermina a
Titulación
Magisterio Música
Técnico Superior ASIR
Ingeniero Informático
Existen otros tipos de dependencias más complejas, pero
no entraremos en ellas.
III. CÁLCULO DEL RECUBRIMIENTO MINIMAL
Un conjunto de dependencias es mínimo, y se denota
m
como DEP , cuando se cumplen las siguientes condiciones:
• Todas sus dependencias son elementales, es decir, que
todas sus dependencias sean plenas, no triviales y tengan
un único atributo implicado.
• No existe en ninguna de las dependencias atributos
extraños. Un atributo A perteneciente a X es extraño en la
dependencia X → Y si la dependencia (X-A) → Y se
deduce del resto de las dependencias de la relación. Por
ejemplo, sea R({A,B,C},{A → C, AB → C}), como el
atributo A implica funcionalmente a C, el atributo B es
redundante en la segunda dependencia.
• No existe en la relación ninguna dependencia redundante.
Una dependencia redundante si sus implicados se
deducen a partir del resto de las dependencias de la
relación. Por ejemplo, sea R({A,B,C}, {A → B, B → C, A →
Página 2 de 3
IES Azarquiel
————————————————————————————————————–
C}). Como el atributo A determina transitivamente al
atributo C, la última dependencia (A → C) es una
dependencia redundante.
Puede ocurrir que existan varios conjuntos de
dependencias mínimos válidos, ya que todo depende de la
elección de las dependencias redundantes y de los atributos
extraños que se eliminan en el proceso del cálculo del
conjunto minimal.
IV. CONJUNTO DE CLAVES CANDIDATAS
Dado un esquema de relación R(AT,DEP) se denomina
superclave de la relación a un conjunto no vacío de atributos
que determinan AT, es decir, que el cierre transitivo de ese
conjunto de atributos sea todo AT.
El cierre transitivo de X se define como el conjunto de
atributos determinados por X aplicando los axiomas de
+
Armstrong, y se escribe X .
Axiomas de Armstrong, suponiendo que X, Y o Z son
conjuntos de atributos:
Reflexividad . Si X,entonces X->X
Proyectividad. Si X->Y, y Z es subconjunto de Y, entonces X->Z
Aumentatividad. Si X->Y, y Z contiene a X, entonces Z->Y
Aditividad. Si X->Y y Z->V, X U Z -> Y U V
Transitividad. Si X->Z y Z->Y, entonces x->Y
Ejemplo
en el esquema
R({A,B,C,D},
{A → B,D
B → C })
A+={A, B, C, D}
B+={B, C}
C+={C}
D+={D}
Se denomina clave candidata de una relación a una
superclave tal que cumple que ningún subconjunto de la
misma determina a todo AT.
Por ejemplo, en R la única clave candidata que existe es A,
ya que determina todo AT. El conjunto {A, B} no sería clave
candidata porque el subconjunto {A} determina AT.
A. Atributos principales y no principales
Un atributo es principal cuando forma parte de alguna de
las claves candidatas de la relación. Un atributo es no principal
cuando no forma parte de ninguna clave candidata.
En el ejemplo, A es principal, mientras que el resto son
atributos no principales.
V. FORMA NORMAL DE UNA RELACIÓN.
Existen seis niveles de normalización de una relación. Una
relación se encuentra en uno u otro grado de normalización si
cumple una serie de propiedades (restricciones). Existes tres
formas normales basadas en las dependencias funcionales
(primera forma normal o 1FN, segunda forma normal o 2FN,
tercera forma normal o 3FN), una forma norma llamada forma
normal de Boyce-Codd (FNBC) y una cuarta y quinta forma
normal basada en dependencias multivaluadas y de
combinación. Cada forma normal incluye a las anteriores, es
decir, una relación en 3FN estará en 2FN y 1FN.
Las relaciones en primera forma normal (1FN) tienen más
redundancia de datos que los niveles superiores, y por lo tanto
más anomalías de actualización. La quinta forma normal (5FN)
es el grado de normalización máximo que puede alcanzar una
relación.
A. Primera Forma Normal
Se dice que una relación está en primera forma normal
(1FN) cuando cada atributo sólo toma un valor.
Ejemplo
Tabla que no está en 1FN:
Nombre
Titulaciones
Felipe
Magisterio Música
Técnico Superior ASIR
Antonia
Ingeniero Informático
Tabla que está en 1FN:
Nombre
Titulaciones
Felipe
Magisterio Música
Felipe
Técnico Superior ASIR
Antonia
Ingeniero Informático
La primera forma normal es una restricción del modelo
relacional, por lo que obligado que se cumpla en toda relación.
B. Segunda Forma Normal
Una relación se encuentra en 2FN si:
• Se encuentra en 1FN.
• Cada atributo no principal tiene dependencia funcional
completa respecto de alguna de las claves.
Ejemplo
Relación que no está en 2FN:
R1({A,B,C,D},
{A,B->C;
A->D})
Relación que está en 2FN:
R2({A,B,C,D},
{A,B->C;
A,B->D})
C. Tercera Forma Normal
Una relación se encuentra en 3FN si:
• Se encuentra en 2FN.
• No existe ningún atributo no principal que dependa
transitivamente de alguna clave de R.
IES Azarquiel
Página 3 de 3
————————————————————————————————————–
R
Ejemplo
Relación que no está en 3FN:
R1({A,B,C},
{A->B;
B->C})
Relación que está en 3FN:
R2({A,B,C},
{A->B;
A->C})
D. Forma Normal de Boyce-Codd
Se dice que una relación se encuentra en FNBC si y sólo
si todo determinante es clave candidata.
Ejemplo
Relación que no está en FNBC:
R1({A,B,C,D},
{A<->B;
A,C->D})
La relación tendría como claves candidatas {A,C} y {B,C}, pero A
y B son determinantes, luego no se cumple la condición de FNBC.
Relación que está en FNBC:
R2({A,B},
{A<->B})
VI. MÉTODO DE DESCOMPOSICIÓN
El método de descomposición trata de analizar una
relación (relación universal) en diferentes proyecciones paso a
paso hasta alcanzar la 5FN (nosotros llegaremos únicamente
hasta la FNBC).
El proceso crea un árbol de descomposición. La
descomposición se termina cuando las relaciones se
encuentran en la forma normal objetivo o cuando continuar
supone la pérdida de información necesaria (dependencias
funcionales).
Los pasos son los siguientes:
• Hallar el recubrimiento minimal.
• Hallar las claves, los atributos principales y los no
principales.
• Identificar la FN en la que se encuentra la relación.
• Agrupar las dependencias funcionales que tienen la
misma parte izquierda y crear dos nuevas relaciones con
estos grupos.
Ejemplo
AT= {A,B,C,D,E,F}:
DEP={
A,B->C
A,D->F
A,C->E}
AT={A,B,C,D,E,F}
DEP={
A,B->C
A,D->F
A,C->E}
Claves: {A,B,D}
1FN
R1
AT={A,C,E}
DEP={
A,C->E}
R2
AT={A,B,C,D,F}
DEP={
A,B->C
A,D->F}
Claves: {A,C}
FNBC
R3
AT={A,D,F}
DEP={
A,D->F}
Claves: {A,D}
FNBC
Claves: {A,B,D}
1FN
R4
AT={A,B,C}
DEP={
A,B->C}
Claves: {A,B}
FNBC
Descargar