Guía Normalización
Guía Normalización
Guía Normalización
Qué es la normalización
Ejemplos
1º Ejemplo
Ordenes
Id_orden Fecha Id_cliente Nom_cliente Estado
2301 23/02/11 101 Martin Caracas
2302 25/02/11 107 Herman Coro
2303 27/02/11 110 Pedro Maracay
Articulos_ordenes
Id_orden Num_art nom_art cant Precio
2301 3786 Red 3 35,00
2301 4011 Raqueta 6 65,00
2301 9132 Paq-3 8 4,75
2302 5794 Paq-6 4 5,00
2303 4011 Raqueta 2 65,00
2303 3141 Funda 2 10,00
La 3FN nos dice que tenemos que eliminar cualquier columna no clave que sea
dependiente de otra columna no clave.
Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla
ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentran en 3FN. Sin
embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y ESTADO son
dependientes de ID_CLIENTE, y esta columna no es la llave primaria.
Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de
la cual dependen dentro de una nueva tabla CLIENTES. Las nuevas tablas
CLIENTES y ORDENES se muestran a continuación.
2º Ejemplo
En la 2º tabla suponiendo que el DNI y el código de curso formen una clave principal
para esta tabla, sólo la nota tiene dependencia funcional completa. El nombre y los
apellidos dependen de forma completa del DNI. La tabla no es 2FN, para arreglarlo
2FN
3º Ejemplo
Variable
1001 Murray Spiegel McGraw Hill Pérez Gómez Juan 15/04/2005
compleja
1006 OracleUniversity Priya Nathan Oracle Corp. García Roque Luis 20/04/2005
1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez Juan 18/04/2005
Como se puede ver, hay cierta redundancia característica de 1NF.
La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o
dicho de otra manera, todos los atributos no clave deben depender por completo de
la clave primaria. Actualmente en nuestra tabla tenemos varias dependencias
parciales si consideramos como atributo clave el código del libro.
Por ejemplo, el título es completamente identificado por el código del libro, pero el
nombre del lector en realidad no tiene dependencia de este código, por tanto estos
datos deben ser trasladados a otra tabla.
2NF
En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro,
los autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los
requisitos de 3NF.
3NF
CodLibro Titulo
Variable
1001 compleja
1004 Visual Basic 5
1005 Estadística
1006 Oracle University
1007 Clipper 5.01
CodAutor Autor
801 Murray Spiegel
802 E. Petroustsos
803 Nancy Greenberg
804 Priya Nathan
806 Ramalho
CodEditorial Editorial
901 McGraw Hill
902 Anaya
903 Oracle Corp.
Aunque hemos creado nuevas tablas para que cada una tenga sólo información
acerca de una entidad, también hemos perdido la información acerca de qué autor
ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear
otras tablas que relacionen cada libro con sus autores y editoriales.
CodLibro codAutor
1001 801
1004 802
1005 801
CodLibro codAutor
1006 803
1006 804
1007 806
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901
Y el resto de las tablas no necesitan modificación.
CodLector Paterno Materno Nombres
501 Pérez Gómez Juan
502 Ríos Terán Ana
503 Roca René
504 García Roque Luis
4º Ejemplo
Esa tabla está en tercera forma normal (no hay dependencias transitivas), pero no
en forma de Boyce - Codd, ya que (DNI, Asignatura) →Tutor y Tutor→Asignatura.
En este caso la redundancia ocurre por mala selección de clave. La redundancia de
la asignatura es completamente evitable. La solución sería:
5º Ejemplo
Aplique la 4FN
6º Ejemplo
Consideremos una afinidad (tabla) llamada estudiante que contiene los siguientes
atributos: Clave, Especialidad, Curso tal y como se demuestra en la siguiente figura:
Clave Especialidad Curso
S01 Sistemas Natación
S01 Bioquímica Danza
S01 Sistemas Natación
B01 Bioquímica Guitarra
C03 Civil Natación
En esta tabla existen dependencias de valores múltiples
Las dependencias de valores múltiples se definen de la siguiente manera: Clave -
>->Especialidad y Clave->->Curso; Esto se lee "Clave multidetErmina a
Especialidad, y clave multidetermina a Curso"
Para nuestro ejemplo, las tablas correspondientes son:
Tabla Especialidad
Clave Especialidad
S01
Sistemas
B01
Bioquímica
C03
Civil
Tabla Curso
Clave Curso
S01 Natación
S01 Danza
B01 Guitarra
C03 Natación
7º Ejemplo
8º Ejemplo
Ejercicios Propuestos
Aprender
C.P 1er y Enseñar
Juan Pensamient 1.A0
Cervante Grad en Graó 05/05/2010
Pérez o Numérico 1
s o educación
infantil
Pensamient
C.P 1er Educació
Alicia o Espacial, 1.B0 Prentice
Cervante Grad n Infantil 06/05/2010
García Temporal y 1 Hall
s o N9
causal
Aprender
C.P 1er y enseñar
Alicia Pensamient 1.B0
Cervante Grad en Graó 06/05/2010
García o Numérico 1
s o educación
infantil
Aprender
C.P Andrés 2do y enseñar
1.A0
Cervante Fernánde Escritura Grad en Graó 09/09/2010
1
s z o educación
infantil
Saber
educar:
C.P Andrés 2do
1.A0 guía para Temas
Cervante Fernánde Ingles Grad 05/05/2010
1 Padres y de Hoy
s z o
Profesore
s
Saber
educar:
1er
C.P Juan Pensamient 2.B0 guía para Temas
Grad 18/12/2010
Quevedo Méndez o Lógico 1 Padres y de Hoy
o
Profesore
s
Aprender
1er y enseñar
C.P Juan Pensamient 2.B0
Grad en Graó 06/05/2010
Quevedo Méndez o Numérico 1
o educación
infantil
Carlos
360247k Raúl Rojas Sistemas MA123 Matemática 2 CB-214 V
Arambulo
Víctor
360247k Raúl Rojas Sistemas AU511 Dibujo CB-120 U
Moncada