Você está na página 1de 18

MODELO RELACIONAL

Normalizacin de la Base de Datos.

Que es la normalizacin
La normalizacin es el proceso mediante el cual se

transforman datos complejos a un conjunto de


estructuras de datos ms pequeas, que adems
de ser ms simples y ms estables, son ms
fciles de mantener.
Tambin se puede entender la normalizacin como
una serie de reglas que sirven para ayudar a los
diseadores de bases de datos a desarrollar un
esquema que minimice los problemas de lgica.

La normalizacin se adopt porque el viejo

estilo de poner todos los datos en un solo


lugar, como un archivo o una tabla de la
base de datos, era ineficiente y conduca a
errores de lgica cuando se trataban de
manipular los datos
El proceso de normalizacin tiene un nombre
y una serie de reglas para cada fase.

INTRODUCCIN
El proceso de normalizacin de bases de
datos consiste en aplicar una serie de reglas
a las relaciones obtenidas tras el paso del
modelo entidad-relacin al modelo relacional.
Las bases de datos relacionales se
normalizan para:
Evitar la redundancia de los datos.
Evitar problemas de actualizacin de los
datos en las tablas.
Proteger la integridad de los datos.

En el modelo relacional es frecuente

llamar tabla a una relacin, aunque


para que una tabla sea considerada
como una relacin tiene que cumplir
con algunas restricciones:
Cada columna 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.

Grados de normalizacin.
Existen bsicamente tres niveles de normalizacin:

Primera Forma Normal (1NF), Segunda Forma


Normal (2NF) y Tercera Forma Normal (3NF).
Cada una de estas formas tiene sus propias
reglas.
Cuando una base de datos se conforma a un nivel,
se considera normalizada a esa forma de
normalizacin.

Forma Normal (1FN) Incluye la eliminacin

de todos los grupos repetidos.


Segunda Forma Normal (2FN) Asegura que
todas las columnas que no son llave sean
completamente dependientes de la llave
primaria (PK).
Tercera Forma Normal (3FN) Elimina
cualquier dependencia transitiva. Una
dependencia transitiva es aquella en la cual
las columnas que no son llave son
dependientes de otras columnas que
tampoco son llave.

Primera forma normal (1FN)

La regla de la Primera Forma Normal establece que las columnas


repetidas deben eliminarse y colocarse en tablas separadas.
Poner la base de datos en la Primera Forma Normal resuelve el
problema de los encabezados de columna mltiples. Muy a menudo,
los diseadores de bases de datos inexpertos harn algo similar a la
tabla no normalizada. Una y otra vez, crearn columnas que
representen los mismos datos.

La normalizacin ayuda a clarificar la base de datos y a organizarla en


partes ms pequeas y ms fciles de entender. En lugar de tener que
entender una tabla gigantesca y monoltica que tiene muchos
diferentes aspectos, slo tenemos que entender los objetos pequeos
y ms tangibles, as como las relaciones que guardan con otros objetos
tambin pequeos.

Segunda forma normal (2FN)


La regla de la Segunda Forma Normal establece que todas

las dependencias parciales se deben eliminar y separar


dentro de sus propias tablas. Una dependencia parcial es
un trmino que describe a aquellos datos que no dependen
de la llave primaria de la tabla para identificarlos.

Una vez alcanzado el nivel de la Segunda


Forma Normal, se controlan la mayora de los
problemas de lgica. Podemos insertar un
registro sin un exceso de datos en la mayora
de las tablas

Tercera forma normal (3FN)


Una tabla est normalizada en esta

forma si todas las columnas que no son


llave son funcionalmente dependientes
por completo de la llave primaria y no
hay dependencias transitivas.
Dependencia transitiva: es aquella en la
cual existen columnas que no son llave
que dependen de otras columnas que
tampoco son llave.

Cuando las tablas estn en la Tercera

Forma Normal se previenen errores de


lgica cuando se insertan o borran
registros.
Cada columna en una tabla est
identificada de manera nica por la
llave primaria, y no deben haber datos
repetidos. Esto provee un esquema
limpio y elegante, que es fcil de
trabajar y expandir

. Para explicar con un ejemplo en que consiste cada una de las


reglas, vamos a considerar los datos de la siguiente tabla.
ID_ORD
FECHA
EN

ID_CLIE NOM_C
NTE
LIENTE

ESTAD
O

NUM_IT DESC_I
EM
TEM

CANT

PRECIO

2301

2/23/03 101

MARTI

CA

3786

RED

35

2301

2/23/03 101

MARTI

CA

4011

RAQUE
TA

65

2301

2/23/03 101

MARTI

CA

9132

PAQ-3

4.75

2302

2/25/03 107

HERAN

WI

5794

PAQ-6

5.0

2/27/03 110

WESPORT
S

MI

4011

RAQUE
TA

65

2/27/03 110

WESPORT
S

MI

3141

FUNDA

10

2303

2303

Primera forma:
Tenemos que eliminar los grupos repetidos.
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido
Los registros quedan ahora conformados en dos tablas que llamaremos
ORDENES y ARTICULOS_ORDENES
- ORDENES
ID_ORDEN
2301
2302
2303

FECHA ID_CLIENTE NOM_CLIENTE ESTADO


2/23/03 101
MARTI
CA
2/25/03 107
HERMAN
WI
2/27/03 110
WE-SPORTS
MI

ARTICULOS_ORDENES
ID_ORDEN
NUM_ITEM
2301
3786
2301
4011
2301
9132
2302
5794
2303
4011
2303
3141

DESC_ITEM
RED
RAQUETA
PAQ-3
PAQ-6
RAQUETA 2
FUNDA

CANT
3
6
8
4
6
2

PRECIO
35
65
4.75
5.0
5
10

Segunda forma:
Determinar cules columnas que no son llave no dependen de la llave primaria
de la tabla.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la
cual dependen.
Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN
ya que las columnas PRECIO y DESC_ITEM son dependientes de
NUM_ITEM, pero no son dependientes de ID_ORDEN.
Lo que haremos a continuacin es eliminar estas columnas de la tabla
ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas
columnas y la llave primaria de la que dependen.
Las tablas quedan ahora de la siguiente manera.

ID_ORDEN

NUM_ITEM

CANT

2301

3786

2301

4011

2301

9132

2302

5794

2303

4011

2303

3141

NUM_ITEM

DESC_ITEM

PRECIO

3786

RED

35

4011

RAQUETA

65

9132

PAQ-3

4.75

5794

PAQ-6

5.0

4011

RAQUETA

65

3141

FUNDA

10

Tercera forma:
Determinar las columnas que son dependientes de otra columna no llave.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y con la columna no llave de la cual
son dependientes.

ID_ORDEN

FECHA

ID_CLIENTE

2301

2/23/03

101

2302

2/25/03

107

2303

2/27/03

110

ID_CLIENTE

NOM_CLIENTE

ESTADO

101

MARTI

CA

107

HERMAN

WI

110

WE-SPORTS

MI

VENTAJAS
Integridad de datos (porque no hay datos

redundantes ni omitidos).
Consultas optimizadas (porque las tablas
normalizadas generan combinaciones eficaces y
rpidas).
Creacin y ordenacin de ndices ms rpidas
(porque las tablas tienen menos columnas).
Ejecucin ms rpida de la instruccin UPDATE
(porque hay menos ndices por tabla).
Resolucin de concurrencias mejorada (porque los
bloqueos de tabla afectarn a menos datos).

Você também pode gostar