Edgar Frank Codd a finales definió las bases del modelo relacional a
finales de los 60. Trabajaba para IBM empresa que tardó un poco en implementar
sus bases. Pocos años después el modelo se empezó a implementar cada vez más,
hasta ser el modelo de bases de datos más popular. En las bases de Codd se definían los objetivos de este modelo:
Independencia
física. La forma de almacenar los
datos, no debe influir en su manipulación lógica
Independencia lógica. Las aplicaciones que utilizan la base de datos no
deben ser modificadas por que se modifiquen elementos de la base de datos.
Flexibilidad. La base de datos ofrece fácilmente distintas vistas en función de los
usuarios y aplicaciones.
Uniformidad.
Las estructuras lógicas siempre tienen una única forma conceptual (las tablas)
Sencillez.
Es una etapa en que se deben agrupar los datos por
afinidad, formando tablas las cuales se relacionan entre si mediante campos
comunes; una tabla se considera en esta forma si y sólo sí cada determinante o atributo
es una llave candidata.
La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no
triviales de los atributos que no sean un conjunto de la clave candidata. En
base de datos un atributo determinante es un atributo del que depende
funcionalmente de manera completa algún otro atributo. Todo determinante es una
clave candidata.
Como una tabla está en Forma Normal de Boyce-Codd si solo existen
dependencias funcionales elementales que dependan de la clave primaria o de
cualquier clave alternativa. Si la clave primaria está formada por un solo
atributo y está en 3FN, ésta a su vez está en FNBC. Cómo en una tabla en 3FN,
todos los atributos dependen de una clave, de la clave completa y de ninguna
otra cosa excepto de la clave (excluyendo dependencias triviales, como ).
Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia
funcional no trivial tiene una clave candidata como determinante. En términos
menos formales, una tabla está en FNBC si está 3FN y los únicos determinantes
son claves candidata
La 2FN y la 3FN eliminan las dependencias parciales
y las dependencias transitivas de la clave primaria. Pero este tipo de
dependencias todavía pueden existir sobre otras claves candidatas, si éstas
existen.
La violación de
Gráficamente
podemos representar la forma normal de Boyce Codd de la siguiente forma:
Un ejemplo típico para mostrar una tabla que,
estando en 3FN, mantiene dependencias funcionales, puede ser una tabla que posee
los atributos Dirección, Código Postal y Ciudad, deduciendo que a Ciudades
diferentes le corresponden códigos postales distintos.
|
Tabla en tercera forma normal |
||
|
CPost |
Dir |
Ciud |
|
3000 |
C/ Las Flores N°17 |
Merida |
|
4858 |
Av. Bolívar este Nº72 |
Maracay |
En este caso hay dependencia entre el Código Postal
y
Para transformar la tabla en una tabla en FNBC se
crea una tabla de Códigos Postales y Ciudades, eliminando de la tabla original
|
Tabla en forma normal de Boyce-Codd |
|
|
CPost |
Dir |
|
3000 |
C/ Las Flores N°17 |
|
4858 |
Av. Bolívar este Nº72 |
|
Tabla en forma normal de Boyce-Codd |
|
|
CPost |
Ciud |
|
3000 |
Merida |
|
4858 |
Maracay |
En la mayoría de los casos, las relaciones en 3FN
estarán en FNBC. Para Validar esto se deben ubicar todos los determinantes
existentes en la relación así como todas las claves candidatas, se comparan
ambos conjuntos y si encuentra que hay algún determinante que no resulta ser
clave candidata se demuestra que no esta en FNBC. Se comprueba que la relación
está en 1FN, todos los atributos son atómicos. También está en 2FN ya que no
hay dependencias funcionalmente completas entre atributos que no sean clave
(formen parte de la clave). Y finalmente se verifica que no hay ningún atributo
que dependa de forma transitiva de la clave Primaria, luego está en 3FN. Usualmente
se considera aceptable tener relaciones que lleguen sólo hasta
La definición de la 3FN no produce diseños
satisfactorios cuando se dan las siguientes condiciones, o lo que es lo mismo,
cuando una relación NO ESTE EN FNBC concurrirán las siguientes circunstancias:
No hay un teorema sobre la división de la relación,
el motivo es que no se puede asegurar que al descomponer una relación en dos
para conseguir
Se
dice que una tabla que está en forma normal de Boyce-Codd y de la cual se eliminan las dependencias multivaluadas y se generan todas las relaciones externas
con otras tablas u otras bases de datos; es una tabla en 4 forma Normal
Al
hablar de dependencia funcional multivaluadas o de
múltiples valores, se refiere a la
existencia a la relación que pudiera darse por ejemplo dados tres atributos de
una tabla, si para cada valor del primer atributo existen múltiples valores en
el segundo atributo y no hay ninguna relación entre el tercer atributo y el
primero, a no ser a través del segundo atributo.
Una
tabla está en Cuarta Forma Normal o 4FN si está en FNBC y las únicas
dependencias funcionales multivaluadas que existen
son las dependencias funcionales de la clave con los atributos que no forman
parte de la misma. Estas dependencias multivaluadas
de la clave con los atributos que no forman parte de la misma son dependencias
triviales, por lo que algunos autores dicen que no existen dependencias multivaluadas en 4FN. En base de datos se entiende por
dependencia Multivaluada el caso en que en una tupla
(X,Y,Z). se
dice que Y es multidependiente de X (X ---> Y) si
y sólo si el conjunto de valores de Y correspondiente a un par (X,Z) depende sólo del valor de X y es independiente del
valor de Z.
Las dependencias multivaluadas
sólo se presentan si existen tres atributos y cuando lo hacen es a pares, es
decir ocurre que Y es multidependiente de X y Z es
también multidependiente de X.
Consideremos que los atributos de una tabla “Transporte”
son Conductor, Tipo de Vehículo y Tipo de Carga, formando los tres campos la
clave primaria. A cada Conductor se le puede asignar un Vehículo u otro y cada
Vehículo puede transportar varios Tipos de Carga.
|
Tabla que no esta en cuarta forma normal |
||
|
Transporte |
||
|
Conductor |
Tipo Vehículo |
Tipo Carga |
|
Juan |
Camioneta |
Perecederos |
|
Marcos |
Camioneta |
Perecederos |
|
Juan |
Camioneta |
Muebles |
|
Marcos |
Camioneta |
Muebles |
|
Juan |
Camión |
Mudanza |
|
Marcos |
Camión |
Mudanza |
Bajo estas condiciones, los Conductores son independientes
de la carga; el Tipo de Vehículos depende del Conductor y el Tipo de Vehículo
depende de
Para
conseguir que esta tabla esté en 4FN se necesita crear dos nuevas tablas en
lugar de la tabla actual, manteniendo en cada una de ellas una dependencia
múltiple. La primera tabla tendrá los atributos conductor y tipo de vehículo y
la segunda, tipo de vehículo y tipo de carga. De este modo la tabla en 4FN
debido a que la clave primaria de ambas tablas son todos los campos que la
forman. Resultado:
|
Tabla en cuarta forma normal |
|
|
Tipo Vehículo |
Tipo Carga |
|
Camioneta |
Perecederos |
|
Camioneta |
Perecederos |
|
Camioneta |
Muebles |
|
Camioneta |
Muebles |
|
Camión |
Mudanza |
|
Camión |
Mudanza |
|
Tabla en cuarta forma normal |
|
|
Conductor |
Tipo Vehículo |
|
Juan |
Camioneta |
|
Marcos |
Camioneta |
|
Juan |
Camioneta |
|
Marcos |
Camioneta |
|
Juan |
Camión |
|
Marcos |
Camión |
En las
relaciones varios-con-varios, entidades independientes no pueden ser
almacenadas en la misma tabla.
La 4FN es en cierto modo bastante compleja de
identificar, hay que tener muy claro sobre todo el significado de lo que
representa la relación analizada. Para verlo de forma práctica procederemos a
definir una nueva relación para comprobar después si está en 4FN.
Algo que vital y que se aplica para cualquier estado de la
normalización es que se debe tener siempre en cuenta el significado semántico
de las relaciones de lo contrario se puede caer en el error de descomponer o diseñar una
base de datos que, aunque esté perfectamente
Una relación está en cuarta forma normal (4FN) si está
en FNBC y todas las dependencias multivaluadas en
ella son de hecho dependencias funcionales.
INFOGRAFÍA
1.-
TERCERA
FORMA NORMAL Y
http://www.itlp.edu.mx/publica/tutoriales/basedat1/tema4_3.htm
2.- FORMA
NORMAL BOYCE-CODD. Define de manera general la forma Normal de Boyce
Codd, e incluye links a otros temas relacionado con
las bases de datos.
http://es.wikipedia.org/wiki/Forma_Normal_Boyce-Codd
3.-
NORMALIZACIÓN. Material completo que ofrece información de todo lo relacionado en el
tema de base de datos de manera bastante fácil de entender.
http://www3.uji.es/~mmarques/f47/apun/node90.html
4.- FORMA
NORMAL DE BOYCE-CODD (FNBC). Enlace a documento que presenta de forma bastante
detallada y simple conceptos y normas relacionadas con el manejo de base de
datos, especialmente en la forma de Boyce Codd.
http://nopurity.iespana.es/openhomework/tareas/BD/Forma%20normal%20de%20Boyce.doc
5.- BASES DE DATOS: FORMAS NORMALES
(OPTIMIZAR TABLAS). Link que nos
lleva a artículo en el cual de presenta información en relación a las Bases de
datos y el proceso de Normalización de las tablas en cada una de sus formas.
http://www.scourdesign.com/articulos/BD-FN.php
6.- NORMALIZACIÓN DE BASES DE DATOS Y
TÉCNICAS DE DISEÑO (POR BARRY WISE). Enlace que nos lleva a un artículo útil, que busca ofrecer al visitante
la capacidad de aplicar reglas de normalización a proyectos de bases de datos.
http://bulma.net/body.phtml?nIdNoticia=483
7.- NORMALIZACION EN BASES DA DATOS. Presentación que muestra en resumen lo básico de
las características principales de lo que se refiere a las formas normales
utilizadas en normalización de base de datos.
http://www.cs.us.es/cursos/bd-2005/tema-BD-5.pdf
8.-
http://www.jorge-guerrero.com/misapuntes/informatica/normalizacionbd/normalizacionbd5.htm
9.- NORMALIZACIÓN. Enlace donde se encuentra contenido de fácil
comprensión de las formas normales aplicadas a ejemplos prácticos a fin de
visualizar en que consisten y en que se diferencian
http://www.inf.udec.cl/~mvaras/modulo30/04-norma.html
10.- CUARTA FORMA NORMAL. Link que define de manera muy genérica las formas normales existentes y sus principales características o fundamentos.
http://www.cs.cinvestav.mx/BDChapa/pedro/4fn_tm.html