Normalización de la Base de
Datos.

Luis Zambrano
Villamar
Que es la normalización
 La normalización es el proceso

mediante el cual se transforman
datos complejos a un conjunto de
estructuras de datos más pequeñas,
que además de ser más simples y
más estables, son más fáciles de
mantener.
Fundamentos de la
normalización
Fundamentos de la normalización
La normalización es el proceso de organizar los
datos de una base de datos. Se incluye la
creación de tablas y el establecimiento de
relaciones entre ellas según reglas diseñadas
tanto para proteger los datos como para hacer
que la base de datos sea más flexible al eliminar
la redundancia y las dependencias
incoherentes.
Fundamentos de la
normalización

Los datos redundantes desperdician el espacio
de disco y crean problemas de mantenimiento.
Si hay que cambiar datos que existen en más de
un lugar, se deben cambiar de la misma forma
exactamente en todas sus ubicaciones. Un
cambio en la dirección de un cliente es mucho
más fácil de implementar si los datos sólo se
almacenan en la tabla Clientes y no en algún
otro lugar de la base de datos.
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
ESTADO
2301
2302
2303

FECHA ID_CLIENTE NOM_CLIENTE
2/23/03 101
2/25/03 107
2/27/03 110

MARTI
HERMAN
WE-SPORTS

CA
WI
MI

ARTICULOS_ORDENES
ID_ORDEN
NUM_ITEM
DESC_ITEM
PRECIO
2301
3786
RED
2301
4011
RAQUETA

3
6

35
65

2301
2302
2303
2303

8
4
6
2

4.75
5.0
5
10

9132
5794
4011
3141

PAQ-3
PAQ-6
RAQUETA 2
FUNDA

CANT
Segunda forma:
Determinar cuáles 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 continuación 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

3

2301

4011

6

2301

9132

8

2302

5794

4

2303

4011

2

2303

3141

2

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

Normalizacion de la base de datos

  • 1.
    Normalización de laBase de Datos. Luis Zambrano Villamar
  • 2.
    Que es lanormalización  La normalización es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que además de ser más simples y más estables, son más fáciles de mantener.
  • 3.
    Fundamentos de la normalización Fundamentosde la normalización La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes.
  • 4.
    Fundamentos de la normalización Losdatos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y no en algún otro lugar de la base de datos.
  • 5.
    Primera forma: Tenemos queeliminar 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 -
  • 6.
    ORDENES ID_ORDEN ESTADO 2301 2302 2303 FECHA ID_CLIENTE NOM_CLIENTE 2/23/03101 2/25/03 107 2/27/03 110 MARTI HERMAN WE-SPORTS CA WI MI ARTICULOS_ORDENES ID_ORDEN NUM_ITEM DESC_ITEM PRECIO 2301 3786 RED 2301 4011 RAQUETA 3 6 35 65 2301 2302 2303 2303 8 4 6 2 4.75 5.0 5 10 9132 5794 4011 3141 PAQ-3 PAQ-6 RAQUETA 2 FUNDA CANT
  • 7.
    Segunda forma: Determinar cuálescolumnas 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.
  • 8.
    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 continuación 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 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 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
  • 9.
    Tercera forma: Determinar lascolumnas 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.
  • 10.