Base de datos
• • •
Un esquema de relación R está en 3NF si está en 2NF y no hay dependencias transitivas de la clave por parte de atributos (no primos) X -> Y es una dependencia transitiva de X si existe un subconjunto de atributos Z tales que X -> Z y Z ->Y Ejemplo:
• • •
NOMBREE RUT FECHAN DIRECCION NUMEROD NOMBRED RUTGTE RUT -> NOMBREE, FECHAN, DIRECCION, NUMEROD NUMEROD-> NOMBRED, RUTGTE
• •
No existen atributos que dependen parcialmente de la clave => 2NF pero existen dependencias transitivas de la clave (cuales) => no es 3NF Puede llevarse a 3NF de la siguiente forma:
• •
Prof. Jaime Navón
NOMBREE RUT FECHAN DIRECCION NUMERO NUMEROD NOMBRED RUTGTE
BD2006
51
Claves, claves ...
•
3NF - Todo atributo (no clave) depende de la clave,toda la clave, y nada más que la clave
Un esquema de relación R está en 3FN si para todo X->A se cumple: a) X es una superclave de R o bien b) A es un atributo primo de R
Prof. Jaime Navón
BD2006
52
Forma Normal de Boyce-Codd
•
Un esquema de relación R está en BCNF si para todo X->A en R, X es una superclave de R
• • •
BCNF es un poco más estricta que 3NF se quita laposibilidad de tener una dependencia de algo que no es superclave en el caso que se trate de un atributo primo se considera mejor que 3NF pero ambos son aceptables, en cambio 1NF y 2NF salvo situaciones muy puntuales no se consideran buenos diseño
•
Ejemplo:
LOTES(ID_PROPIEDAD, NOMBRE_MUNIC, NUM_LOTE, AREA) ID_PROPIEDAD -> {NOMBRE_MUNIC, NUM_LOTE, AREA} {NOMBRE_MUNIC, NUM_LOTE}->{AREA,ID_PROPIEDAD} AREA -> NOMBRE_MUNIC
• •
Esquema es 3NF porque NOMBRE_MUNIC es un atributo primo. Última dependencia viola BCNF porque AREA no es superclave
Prof. Jaime Navón
BD2006
53
Obtención de 3NF
•
Dadas las Dependencias Funcionales del diagrama siguiente:
• •
Observar las fuentes de las dependencias: DEPTO, EMP, PROJ, OFFICE, PHONE, EMP_DATE Incorporamos sus claves y susdependencias directas:
• • • • • •
Prof. Jaime Navón
DEPTO(Dept#, Dbudget, Mgr#) EMP(Emp#, Proj#, Phone#) PROJ(Proj#, Dept#, Pbudget) OFFICE(Off#, Dept#, Area) PHONE(Phone#, Off#) EMP_DATE(Emp#, Date, JobTitle, Salary)
BD2006
54
Cuarta Forma Normal (4NF)
• • •
La 4NF tiene que ver con dependencias multivaluadas ... el valor de un atributo determina un conjunto de valorespara un segundo atributo. Ej: Estudiante(Num, Curso, Deporte)
Num Num 100 100 100 100 100 100 100 100 150 150 Curso Curso Música Música Contabilidad Contabilidad Música Música Contabilidad Contabilidad Matemáticas Matemáticas Deporte Deporte Natación Natación Natación Natación Tenis Tenis Tenis Tenis Atletismo Atletismo
• • • •
Num no determina ni Especialidad ni Deporte Num multideterminaEspecialidad (->>) Num multidetermina Deporte Esquema es BCNF pero hay algunas anomalías ...
Prof. Jaime Navón
BD2006
55
Anomalías
Num Num 100 100 100 100 100 100 100 100 150 150 Curso Curso Música Música Contabilidad Contabilidad Música Música Contabilidad Contabilidad Matemáticas Matemáticas Deporte Deporte Natación Natación Natación Natación Tenis Tenis Tenis Tenis AtletismoAtletismo
• •
estudiante con n cursos y m deportes requiere n x m tuplas si estudiante 100 toma un nuevo curso hay que agregar 2 tuplas
Prof. Jaime Navón
BD2006
56
Formalización
• • • •
En un esquema R con al menos 3 atributos existe una dependencia de valores múltiples cuando uno de ellos multidetermina a cada uno de los otros dos R(A,B,C), A ->->B, A->->C (B y C sonindependientes) Un esquema está en 4NF si está en BCNF y además no hay dependencias de valores múltiples Solución para el ejemplo sería dividir el esquema original en: Cursos(Num, Curso) Deportes(Num, Deporte)
Prof. Jaime Navón
BD2006
57
Vuelta a Dependencias Funcionales
• • • •
Problema: Dado un set de atributos como saber si representa una clave Sabemos que todos los atributos dependen...
Regístrate para leer el documento completo.