SOFTWARE

Páginas: 5 (1220 palabras) Publicado: 23 de septiembre de 2014
El proceso de normalización de bases de datos relacionales
La normalización de bases de datos relacionales toma un esquema relacional y le aplica un conjunto de técnicas para producir un nuevo esquema que representa la misma información pero contiene menos redundancias y evita posibles anomalías en las inserciones, actualizaciones y borrados.
Breve recordatorio del modelo (formal) relacionalEl modelo relacional de bases de datos se basa en un modelo formal especificado de acuerdo a la teoría de conjuntos. Una base de datos relacional puede considerarse como un conjunto de relaciones o tablas de la forma R(A1, ..., An), donde R es el nombre de la relación, que se define por una serie de atributos Ai.
Sobre las tablas relacionales se pueden definir diferentes restricciones. Laintegridad de entidad es una restricción que nos indica que cada entidad representada por una tupla tiene que ser diferente de las demás en su relación, es decir, debe haber algunos atributos cuyos valores identifiquen unívocamente las tuplas. La integridad referencial indica que una clave ajena solo debe contener valores que o bien sean nulos, o bien existan en la relación referenciada por la claveajena.
El proceso de normalización
El proceso de normalización consiste en comprobar en secuencia si el esquema original está en 1FN, 2FN y 3FN, analizando las dependencias funcionales en cada paso.
Un ejemplo completo
Tenemos una empresa pública donde los puestos de trabajo están regulados por el Estado, de modo que las condiciones salariales están determinadas por el puesto. Se ha creado elsiguiente esquema relacional
EMPLEADOS(nss, nombre, puesto, salario, emails) con nss como clave primaria.
nss
nombre
puesto
salario
emails
111
Juan Pérez
Jefe de Área
3000
juanp@ecn.es; jefe2@ecn.es
222
José Sánchez
Administrativo
1500
jsanchez@ecn.es
333
Ana Díaz
Administrativo
1500
adiaz@ecn.es; ana32@gmail.com
...
...
...
...
...
TABLE 1
Primera forma normal (1FN)
Unatabla está en 1FN si sus atributos contienen valores atómicos. En el ejemplo, podemos ver que el atributo emails puede contener más de un valor, por lo que viola 1FN.
En general, tenemos una relación R con clave primaria K. Si un atributo M viola la condición de 1FN, tenemos dos opciones.
Solución 1: duplicar los registros con valores repetidos
En general, esta solución pasa por sustituir R poruna nueva relación modificada R', en la cual:
El atributo M que violaba 1FN se elimina.
Se incluye un nuevo atributo M' que solo puede contener valores simples, de modo que si R'[M'] es uno de los valores que teníamos en R[M], entonces R'[K] = R[K]. En otras palabras, para una tupla con n valores duplicados en M, en la nueva relación habrá n tuplas, que sólo varían en que cada una de ellasguarda uno de los valores que había en M.
La clave primaria de R' es (K, M'), dado que podrá haber valores de K repetidos, para los valores multivaluados en M.
Siguiendo el ejemplo, tendríamos el siguiente esquema para la nueva tabla EMPLEADOS'(a) con clave primaria (nss, email):
nss
nombre
puesto
salario
email
111
Juan Pérez
Jefe de Área
3000
juanp@ecn.es
111
Juan Pérez
Jefe de Área3000
jefe2@ecn.es
222
José Sánchez
Administrativo
1500
jsanchez@ecn.es
333
Ana Díaz
Administrativo
1500
adiaz@ecn.es
333
Ana Díaz
Administrativo
1500
ana32@gmail.com
...
...
...
...
...
TABLE 2
Solución 2: separar el atributo que viola 1FN en una tabla
En general, esta solución pasa por:
sustituir R por una nueva relación modificada R' que no contiene el atributo M.
Crearuna nueva relación N(K, M'), es decir, una relación con una clave ajena K referenciando R', junto al atributo M', que es la variante mono-valuada del atributo M.
La nueva relación N tiene como clave (K, M').
Siguiendo el ejemplo, tendríamos el siguiente esquema para la nueva tabla EMPLEADOS'(b)
nss
nombre
puesto
salario
111
Juan Pérez
Jefe de Área
3000
222
José Sánchez
Administrativo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Software
  • Software
  • Software
  • Software
  • Software
  • el software
  • El Software
  • Que Es El Software

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS