Teoría de Diseño de Bases de Datos Relacionales Formas

Anuncio
Formas Normales
• Estudiaremos formas normales sobre un esquema de relación y luego
lo extenderemos al esquema de la base de datos.
Teoría de Diseño de Bases de
Datos Relacionales
• Objetivo: evitar tener esquemas que presenten problemas de
redundancias ( y por lo tanto las anomalías asociadas).
• Una forma normal es una propiedad de un esquema de relación
respecto de un conjunto de dependencias F.
Formas Normales
Organización de Archivos y Bases de Datos I
Ciclo 2006
http://www.dirinfo.unsl.edu.ar/~oaybd1/
• Si un esquema está en una forma normal, entonces hay ciertas
redundancias que en ese esquema no se pueden dar.
• En este curso veremos: 1FN, 2FN, 3FN y BCNF.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
1
OA y BDI -UNSL
Prof. Norma Herrera
Formas Normales
• Cuanto más alta sea la forma normal en la que se encuentra un
esquema, menores son los problemas de redundancia y anomalías que
aparecen.
• Inicialmente Codd propuso: 1FN, 2FN, 3FN y BCNF (basadas en
dependencias funcionales).
• Posteriormente Fagin propuso 4FN y 5FN (basadas en otros tipos de
dependencias).
• Cuando un esquema está en una forma normal, también lo estará en
las formas normales anteriores.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
3
Año 2006
2
Primera Forma Normal (1FN)
Definición:
Sea R un esquema de relación.
Diremos que R está en 1FN si y sólo si para todo atributo A ∈ R los
valores de dom(A) son atómicos.
• El hecho de que un atributo sea o no atómico depende de la
aplicación.
• Un atributo no es atómico si la aplicación trata con partes de ese
atributo.
• Es una forma normal bastante intuitiva: nadie pone en un solo campo
de un registro aquella información que necesita ser accedida
individualmente.
OA y BDI -UNSL
Prof. Norma Herrera
Primera Forma Normal
Año 2006
4
Primera Forma Normal
Problemas que se pueden presentar si R no está 1FN
Ejemplo:
Exámenes = { NroA , CodM , Fecha , Nota }
• Hay dependencias funcionales que no se pueden expresar si R no está
en 1FN.
Ejemplo
• Si en la aplicación siempre accedemos a la fecha completa, entonces
este esquema está en 1FN.
• Pero si en la aplicación se necesita realizar la siguiente consulta:
“ alumnos que rindieron algún examen en el mes de marzo “
R no está en 1FN.
R = { DNI , Nombre , FechaNac , SignoZodiaco}
El signo depende del día y mes de nacimiento pero no del año. En
este caso no podríamos expresar esta dependencia.
• Si R no está en 1FN podemos tener problemas de actualización
Ejemplo
Materias = { CodM , NombreM, Docentes }
Si mantenemos todos los docentes que trabajan en una materia,
tendríamos problemas si uno de ellos cambia de materia o si debemos
dar de baja un docente.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
5
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
6
1
Segunda Forma Normal
Segunda Forma Normal (2FN)
Definición:
Definición:
Sea: R un esquema de relación, A ∈ R.
Sea: R un esquema de relación
F un conjunto de dependencias funcionales
Diremos que A es un atributo primo con respecto a F si A
pertenece a alguna de las claves de R.
Ejemplos:
R = { A , B , C , D , E}
R = { NroA , NbreA , CodM }
F={AD→BC ,B→DE}
F = { NroA → NbreA }
F un conjunto de dependencias funcionales
X →Y una dependencia de F+
Diremos que X no determina plenamente a Y en F si y sólo si X →Y
no es reducida a izquierda, es decir:
existe Z ⊂ X tal que Z → Y.
Denotamos con: X pl
Clave 1: A D
Clave : NroA CodM
Clave 2: A B
Atributos primos = { NroA , CodM }
Y
Atributos primos = { A, B , D }
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
7
OA y BDI -UNSL
Prof. Norma Herrera
Segunda Forma Normal
Año 2006
8
Segunda Forma Normal
Ejemplo:
Definición:
R = { A , B , C , D , E}
Sea: R un esquema de relación.
F={AD→BC ,B→DE}
F un conjunto de dependencias funcionales
• A B → D E es una dependencia de F+
• A B no determina plenamente a DE porque B determina DE,
en símbolos:
pl
AB
D E porque B → D E
R = { NroA , NbreA , CodM }
F = { NroA → NbreA }
Diremos que R está en 2FN con respecto a F si y sólo si: R está en
1FN y todo atributo no primo depende plenamente de toda clave.
Dicho de otra forma, R está en 2FN con respecto a F si y sólo si: R
está en 1FN y no existen dependencias no plenas de atributos no
primos respecto de alguna clave.
• NroA CodM → NbreA es una dependencia de F+
NroA CodM pl
NbreA porque NroA → NbreA
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
9
OA y BDI -UNSL
Prof. Norma Herrera
Segunda Forma Normal
• Si R no está en 2FN respecto de F, entonces en R existirá
redundancia de datos.
Año 2006
10
Segunda Forma Normal
Notar que:
• Un esquema que sólo tiene dos atributos está en 2FN.
Si R no está en 2FN con respecto a F entonces: X →Y ∧ ∃ Z ⊂ X tal que Z →Y
• Un esquema en el que todas las claves son simples
(formadas por un único atributo) está en 2FN.
X
Y
Z
…..
α1
β1
α2
β2
α2
β1
γ1
α1
β3
γ1
OA y BDI -UNSL
Prof. Norma Herrera
• Un esquema en el que todos los atributos son primos está
en 2FN.
γ1
…..
γ2
Necesariamente tiene
que aparecer γ1 ⇒
redundancia (β1 , γ1)
Año 2006
11
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
12
2
Tercera Forma Normal
Tercera Forma Normal (3FN)
Definición:
Definición 1 (Maier):
Sea: R un esquema de relación
Sea: R un esquema de relación.
F un conjunto de dependencias funcionales
F un conjunto de dependencias funcionales.
A∈RyX⊆R
Diremos que X determina transitivamente a A en F si existe
Y ⊆ R tal que:
X → Y ∧ Y → X ∧ Y → A y además A ∉ XY
• No toda dependencia obtenida por el axioma de transitividad es una
dependencia transitiva.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
13
Diremos que R está en 3FN con respecto a F si y sólo si: R está
en 1FN y no existen dependencias transitivas de atributos no
primos respecto de alguna de las claves
• Si R no está en 3FN respecto de F, entonces en R existirá redundancia
de datos (analice por qué).
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
14
Tercera Forma Normal
Tercera Forma Normal
Notar que:
Lema
• Un esquema que sólo tenga dos atributos está en 3FN.
Si R está en 3FN respecto de F entonces R está en 2FN respecto de F.
• Un esquema en el que todos los atributos son primos está en 3FN.
Demostración
Queda como ejercicio. Basta con demostrar que una dependencia no
plena de un atributo no primo respecto de una clave, es un caso
particular de una dependencia transitiva.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
15
OA y BDI -UNSL
Prof. Norma Herrera
Tercera Forma Normal
Año 2006
16
Boyce Codd Normal Form (BCNF)
Definición 1 (Maier):
Definición 2 (Ullman):
Sea: R un esquema de relación.
Sea: R un esquema de relación (se supone ya en 1FN).
F un conjunto de dependencias funcionales
F un conjunto de dependencias funcionales
Diremos que R está en 3FN con respecto a F si y sólo si para toda
dependencia X → A válida en R (con A ∉ X) se cumple que:
ó X es superclave ó A es primo
Diremos que R está en BCFN con respecto a F si y sólo si: R está
en 1FN y no existen dependencias transitivas respecto de alguna de
las claves.
Definición 2 (Ullman):
Sea: R un esquema de relación (se supone ya en 1FN).
• Obviamente ambas definiciones son equivalentes (queda como
ejercicio demostrarlo).
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
17
F un conjunto de dependencias funcionales
Diremos que R está en BCNF con respecto a F si y sólo si para toda
dependencia X → A válida en R (con A ∉ X) se cumple que X es
superclave.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
18
3
Boyce Codd Normal Form
• Nuevamente, ambas definiciones son equivalentes (queda como
ejercicio demostrarlo).
• Si R no está en BCFN respecto de F, entonces en R existirá
redundancia de datos.
Lema
Si R está en BCFN respecto de F entonces R está en 3FN respecto de F.
OA y BDI -UNSL
Prof. Norma Herrera
Año 2006
19
4
Descargar