La tercera forma
normal (3NF) es una forma normal usada en la normalización
de bases de datos. La 3NF fue definida originalmente por E.F. Codd en
1971. La definición de Codd indica que una tabla está en 3NF si y solo
si las dos condiciones siguientes se mantienen:
- La tabla está en la segunda forma
normal (2NF)
- Ningún atributo no-primario de la tabla es
dependiente transitivamente de una clave primaria
Cada atributo debe
representar un hecho acerca de la clave, la clave entera, y nada excepto la
clave. La versión 3NF de la definición es más débil que la variación de
BCNF de Date, pues el anterior se refiere solamente a asegurarse de que los
atributos no-clave son dependientes en las claves. Los atributos primarios (que
son claves o partes de claves) no deben ser funcionalmente dependientes en
absoluto; cada uno de ellos representa un hecho sobre la clave en el sentido de
proporcionar parte o toda la clave en sí misma. Debe ser observado que esta
regla se aplica solamente a los atributos funcionalmente dependientes, Ya que
aplicándola a todos los atributos prohibiría implícitamente claves de candidato
compuestas, puesto que cada parte de cualquiera de tales claves violaría la
cláusula de "clave completa".
Ejemplo: Tabla en 2FN
> 3FN
Ganadores del
torneo
Torneo
|
Año
|
Ganador
|
Fecha de nacimiento
del ganador
|
Indiana Invitational
|
1998
|
Al Fredrickson
|
21 de julio de 1975
|
Cleveland Open
|
1999
|
Bob Albertson
|
28 de septiembre de
1968
|
Des Moines Masters
|
1999
|
Al Fredrickson
|
21 de julio de 1975
|
Indiana Invitational
|
1999
|
Chip Masterson
|
14 de marzo de 1979
|
Tabla en 3FN:
Ganadores del torneo
Torneo
|
Año
|
Ganador
|
Indiana Invitational
|
1998
|
Al Fredrickson
|
Cleveland Open
|
1999
|
Bob Albertson
|
Des Moines Masters
|
1999
|
Al Fredrickson
|
Indiana Invitational
|
1999
|
Chip Masterso
|
Fecha de nacimiento del jugador
Jugador
|
Fecha de nacimiento
|
Chip Masterson
|
14 de marzo de 1977
|
Al Fredrickson
|
21 de julio de 1975
|
Bob Albertson
|
28 de septiembre de
1968
|
Ejemplo:
Fallas en Tercera
forma Normal (3FN)
Incluso las afinidades en tercera forma normal
pueden tener anomalías. Considere la siguiente afinidad ASESOR.
Suponga que los requerimientos que sustentan esta afinidad son que un
estudiante (SID), pueda tener una ó más especialidades, una especialidad puede
tener varios miembros de la facultad (nombreF) como consejeros, y un miembro de
la facultad (nombreF), sólo imparte asesoría en una área de especialidad.
Puesto que los estudiantes pueden tener varias
especialidades, SID, no determina la especialidad. Como los
estudiantes pueden tener varios asesores, SID tampoco determina nombre
F. SID por si mismo no puede ser una clave.
La combinación (SID, especialidad) determina
nombre F y la combinación (SID, nombre F), determina
especialidad. Cualquiera de las combinaciones puede ser una
clave. Dos ó mas atributos o conjuntos de atributos que puedan ser
una clave, se denominan claves candidatas. Cualquiera de las
candidatas que se seleccione para ser la clave se denomina clave primaria.
ASESOR está en primera forma
normal. También está en segunda forma normal, pues cualquier
atributo que no es clave depende de toda la clave (sin importar cual clave
candidata se seleccione). También está en tercera forma normal
porque no tiene dependencias transitivas. A pesar de todo esto tiene
anomalías por modificación.
Suponga que estudiante 300 deja la escuela, si
quita la tupla de estudiante 300 se perderá el hecho de que Perls imparte
asesoría en psicología. Ésta es una anomalía de
eliminación. En forma similar ¿Cómo se almacena el hecho de
que Keynes asesor en economía? No es posible, hasta que un
estudiante se inscribe en tal materia. Esta es una anomalía de inserción.
Situaciones como la anterior conducen a la
definición de la forma normal de Boyce-Codd (BCNF): Una
afinidad está en BCNF si cada determinante es una clave candidata. ASESOR
no está en BCNF puesto que tiene un determinante, nombre F, que no es una clave
candidata.
ASESOR puede descomponerse en dos afinidades
que no tengan anomalías.
Muy muy bueno el post hermano en serio! Gracias.
ResponderEliminara la orden bebé
Eliminardeja las bibliografía de donde las sacaste ;)
ResponderEliminar