2. CONCEPTO DE NORMALIZAR
UNA BASE DE DATOS
La normalización de base de datos es un proceso que
consiste en designar y aplicar una serie de reglas a las
relaciones obtenidas tras el paso del modelo entidad-
relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Disminuir problemas de actualización de los datos en las tablas.
Proteger la integridad de los datos.
3. CONCEPTO DE NORMALIZAR
UNA BASE DE DATOS
En el modelo relacional es frecuente llamar tabla a una
relación; para que una tabla sea considerada como una
relación debe cumplir con algunas restricciones:
Cada tabla debe tener su nombre único.
No puede haber dos filas iguales. No se permiten los duplicados.
Todos los datos en una columna deben ser del mismo tipo.
4. FORMAS NORMALES
Las formas normales son aplicadas a las tablas de una
base de datos. Decir que una base de datos esta en la
forma normal N es decir que todas sus tablas están en
una forma normal N.
5. PRIMERA FORMA NORMAL
Una tabla está en primera forma si:
Todos los atributos son atómicos, un atributo es atómico si los
elementos del dominio son simples e indivisibles.
No debe existir variación en el numero de columnas.
Los campos no clave deben identificarse por la clave (dependencia
funcional).
Debe existir una independencia del orden tanto en las filas como en
las columnas; es decir si los datos cambian de orden no deben
cambiar sus significados.
Esta forma normal elimina los valores repetidos dentro
de una base de datos.
6. PRIMERA FORMA NORMAL
Tabla no normalizada
1FN: Eliminar grupos repetidos
En el ejemplo tenemos una tabla no normalizada, que contiene IdSocio,
Nombre, Direccion, Edad, NombreInstructor y las Modalidades 1, 2 y 3.
Vamos a implementar la 1FN luego la segunda y la tercera. Al aplicarle
la primera forma normal eliminamos los grupos repetidos
quedándonos con una sola columna de Modalidades y repitiendo los
datos del IdSocio, Nombre, Direccion, Edad, NombreInstructor y ahora
no tenemos grupos repetidos por que aplicamos la 1FN.
IdSocio Nombre Dirección Edad
NombreInstruc
tor
Modalidad 1 Modalidad 2 Modalidad 3
F-001 Joana AV Manco Inca 420 20 John Sotala
Maquinas Full
Body
Mixto(tonificacion
)
Cardio
F-002 Tracy Jr Cerro A-15 18 Sydney White Cardio
Maquinas Full
Body
Mixto(tonificacio
n)
F-003 William
San Francisco 250
B-12
27 Poppie Moore
Mixto(tonifica
cion)
Cardio
Maquinas Full
Body
IdSocio Nombre Dirección Edad
NombreInstructo
r
Modalidad
F-001 Joana AV Manco Inca 420 20 John Sotala Maquinas Full Body
F-002 Joana AV Manco Inca 421 20 John Sotala Mixto(tonificacion)
F-003 Joana AV Manco Inca 422 20 John Sotala Cardio
F-002 Tracy Jr Cerro A-15 18 Sydney White Cardio
F-003 Tracy Jr Cerro A-16 18 Sydney White Maquinas Full Body
F-004 Tracy Jr Cerro A-17 18 Sydney White Mixto(tonificacion)
F-003 William San Francisco 250 B-12 27 Poppie Moore Mixto(tonificacion)
F-004 William San Francisco 250 B-13 27 Poppie Moore Cardio
F-005 William San Francisco 250 B-14 27 Poppie Moore Maquinas Full Body
7. SEGUNDA FORMA NORMAL
Si o si debe estar previamente aplicada a la 1FN.
La 2FN nos habla de que cada columna de la tabla debe
depender de la clave.
Esto significa que todo un registro debe depender
únicamente de la clave principal, si tuviéramos alguna
columna que se repite a lo largo de todos los registros,
dichos datos deberían amortizarse en una nueva tabla.
8. SEGUNDA FORMA NORMAL
2FN: Eliminar datos redundantes
Socio
Modalidad
Al pasar la segunda forma normal vamos a eliminar los datos
redundantes, y para lograrlo vamos a crear dos tablas, una tabla se
llamara Socios donde eliminaremos los datos redundantes y nos
quedaremos con IdSocio, Nombre, Direccion, Edad, NombreInstructor)
y en una segunda tabla que llamaremos Modalidad para el IdSocio y las
modalidades que llevara en el ejemplo los Socios Joana, Tracy y William
llevaran cada uno 3 Modalidades. El contenido de la 1FN que estaba en
una tabla ha sido dividido en 2 tablas para eliminar los datos
redundantes e introducido a la 2FN.
IdSocio Nombre Dirección Edad NombreInstructor
F-001 Joana AV Manco Inca 420 20 John Sotala
F-002 Tracy Jr Cerro A-15 18 Sydney White
F-003 William San Francisco 250 B-12 27 Poppie Moore
IdSocio Modalidad
F-001 Maquinas Full Body
F-002 Mixto(tonificacion)
F-003 Cardio
F-002 Cardio
F-003 Maquinas Full Body
F-004 Mixto(tonificacion)
F-003 Mixto(tonificacion)
F-004 Cardio
F-005 Maquinas Full Body
9. TERCERA FORMA NORMAL
La tercera forma normal comprueba las dependencias
transitivas, eliminando campos que no dependen de la
clave principal.
Los valores que no dependen de la clave principal no
pertenecen a la tabla.
Los campos que no pertenecen a la clave principal se
colocan en una tabla aparte y se relacionan ambas tablas
por medio de una clave externa.
10. TERCERA FORMA NORMAL
3FN: Eliminar columnas que no dependen de la clave
principal
Socio
Instructor
IdSocio Nombre Dirección
Eda
d
NombreInstructor
F-001 Joana AV Manco Inca 420 20 John Sotala
F-002 Tracy Jr Cerro A-15 18 Sydney White
F-003 William San Francisco 250 B-12 27 Poppie Moore
NombreInstructor Teléfono
John Sotala 941716213
Sydney White 998800711
Poppie Moore 965478592
11. TERCERA FORMA NORMAL
Modalidad
Para pasar a la 3FN tenemos que eliminar los campos
que no dependen de la clave y para lograrlo dividimos la
tabla Socio en dos tablas y creamos la tabla Instructor
donde trasladaremos la columna NombreInstructor que
no depende de la clave que es la columna IdSocio, el
nombre del Instructor será el enlace con la tabla Socio.
IdSocio Modalidad
F-001 Maquinas Full Body
F-002 Mixto(tonificacion)
F-003 Cardio
F-002 Cardio
F-003 Maquinas Full Body
F-004 Mixto(tonificacion)
F-003 Mixto(tonificacion)
F-004 Cardio
F-005 Maquinas Full Body