Base De Datos
Enviado por jelpi1 • 18 de Abril de 2014 • 974 Palabras (4 Páginas) • 204 Visitas
Normalización
de
Base de Datos
ING. YIM ISAIAS APESTEGUI FLORENTINOIng. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
NORMALIZACION DE BASE DE DATOS
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.Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
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
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.Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Se ha creado el siguiente esquema
relacional
EMPLEADO( ID_empleado,
nombre, puesto, salario, emails).
Como clave primaria. TENEMOS
A_________???????Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
CAMBIAR nombre puesto
salarioemails
111 Juan 222 José
Pérez Administrativo1500 jsanchez@ecn.es
Sánchez
333 Ana Administrativo1500 adiaz@ecn.es;
Díaz ana32@gmail.com
... ... ... ...
Jefe de Área 3000
...
juanp@ecn.es;
jefe2@ecn.esIng. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Primera forma normal (1FN)
Una tabla 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.Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Solución 1: duplicar los registros con
valores repetidos
En general, esta solución pasa por
sustituir R por una 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].Ing. YIM ISAIAS APESTEGUI FLORENTINO
•
•
Tema: Normalización
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 ellas
guarda 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.Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Siguiendo el ejemplo, tendríamos el
siguiente esquema para la nueva tabla
EMPLEADOS'(a) con clave primaria
(Id_empleado, email):
Id_empleadonombre
Juan
111
Pérez
Juan
111
Pérez
José
222
Sánchez
333
Ana Díaz
333
...
puesto
salarioemail
Jefe de Área 3000 juanp@ecn.es
Jefe de Área 3000 jefe2@ecn.es
Administrativo 1500 jsanchez@ecn.es
Administrativo 1500 adiaz@ecn.es
ana32@gmail.co
Ana Díaz Administrativo 1500
m
...
...
...
...Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
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. Crear una 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').Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Siguiendo el ejemplo, tendríamos el
siguiente esquema para la nueva tabla
EMPLEADOS'(b)
Id_empleado nombre
puesto
salario
111
Juan Pérez Jefe de Área 3000
222
José Sánchez Administrativo1500
333
Ana Díaz
Administrativo1500
...
...
...
...Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Y además tendríamos una nueva tabla
EMAILS con clave primaria (Id_empleado,
email):
Id_empleadoemail
111
juanp@ecn.es
111
jefe2@ecn.es
222
jsanchez@ecn.es
333
adiaz@ecn.es
333
ana32@gmail.com
...
...Ing. YIM ISAIAS APESTEGUI FLORENTINO
Tema: Normalización
Segunda forma normal (2FN)
Un esquema está en 2FN
...