normalización de una base de datos
DESCRIPTION
expocicin sobre normalizacion de una base de datosTRANSCRIPT
-
NORMALIZACIN DE UNA BASE DE DATOS
-
QUE ES LA NORMALIZACIN?
Es el proceso de organizar de manera eficiente los datos dentro de una base de datos. esto incluye la
creacin de tablas y el establecimiento de
relaciones entre ellas segn las reglas prediseadas
tanto para proteger los datos y la base de datos,
como para hacer mas flexible al eliminar la
redundancia incoherente.
-
QUE ES LA NORMALIZACIN?
Los objetivos principales de la normalizacin son:
la eliminacin de los datos redundantes, para disminuir el espacio ocupado en el disco y evitar problemas de
mantenimiento; por ejemplo el cambio en la direccin de
los clientes es mucho mas fcil de implementar si los datos
se almacenan solo en la tabla clientes y en ninguna otra base de datos
Evitar problemas de actualizacin de los datos en las tablas.
Garantizar que las dependencias que tienen los datos entre ellos, sean presenten algn sentido.
-
QUE ES LA NORMALIZACIN?
Estos puntos reducen la cantidad de espacio en la base de datos y aseguran que estos son
almacenados de manera lgica.
La normalizacin tambin se puede entender como el proceso mediante el cual se transforman
datos complejos aun conjunto de estructuras de
datos mas pequeas, que adems de ser mas
simples y mas estables, son mas fciles de
mantener.
-
NORMALIZACIN DE UNA BASE DE DATOS
Existen algunas reglas para la normalizacin de bases de datos. cada regla se denomina forma
normal. Si dentro de la base de datos se observa
la primera regla se dice que esta en primera forma
normal. Si las tres primera reglas se observan, la
base de datos se considera en tercera forman
normal. Aunque es posible tener otros niveles de
normalizacin, la tercera forma normal es
considerada el mas alto nivel necesario para la
mayora de las apicaciones.
-
GRADOS DE NORMALIZACIN
Los principales objetivos son:
Eliminar grupos de datos repetidos en tablas individuales.
Crear una tabla separada para cada conjunto de datos relacionados.
Identificar cada conjunto de datos relacionados con una llave primaria .
-
GRADOS DE NORMALIZACIN: PRIMERA FORMA NORMAL
Se dice que una tabla esta en primera forma normal si:
Todos los atributos son atmicos. Un atributo es atmico si es indivisible.
la tabla contiene una llave primaria nica
La llave primaria no contiene atributos nulos
No debe existir variacin en el numero de columnas.
Los campos no llave deben identificarse por la llave.
Debe existir una independencia del orden tanto en las filas como en la columnas , si los datos cambian de
orden no deben cambiar sus significados.
Esta forma normal elimina los valores repetidos
-
GRADOS DE NORMALIZACIN: PRIMERA FORMA NORMAL
No utilizar varios campos en una sola tabla para almacenar datos similares. Por ejemplo para seguimientos de un articulo del inventario que proviene de dos fuentes diferentes, el registro puede contener campos para el cdigo del proveedor 1 y un cdigo de proveedor 2.
Que sucede cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta, ya que requiere de programacin y modificacin de las tablas y la necesidad de repetirlo cada vez que se agregue a un nuevo proveedor. En su lugar debera poner toda la informacin del proveedor en una tabla independiente denominada proveedores, y vincular el inventario con los proveedores por medio de una clave .
-
articulo
Cdigo
Nombre
proveedor
1
proveedor
2
inventario
articulo
fecha
cantidad
articulo
Cdigo
Nombre
proveedor1
proveedor2
proveedor3
articulo
Cdigo
Nombre
inventario
articulo
proveedor
fecha
cantidad
proveedor
cdigo
nombre
direccin
-
GRADOS DE NORMALIZACIN: SEGUNDA FORMA NORMAL
Dependencia funcional. Una relacin esta en 2fn si esta en 1fn y si los atributos que no forma parte de
ninguna llave dependen de forma completa de la
calve principal es decir no existen dependencias
parciales.
-
GRADOS DE NORMALIZACIN: SEGUNDA FORMA NORMAL
Sus principales objetivos son:
Crear tablas separadas para aquellos conjunto de valores que se aplican a varios registros. Ejemplo
ciudades, profesin.
Relacionar estas tablas por medio de una llave primaria
-
GRADOS DE NORMALIZACIN: SEGUNDA FORMA NORMAL
Los registro no deben depender de nada que no sea una llave primaria.
Ejemplo considerando la direccin de un cliente no solo se necesita en la tabla clientes, sino tambin
para los pedidos envi, factura , cuentas por
cobrar e incluso en las ordenes. En lugar de
guardar la direccin del cliente como una entrada
independiente en cada una de estas tablas se
guarda en un lugar , ya sea tabla clientes o en una
tabla de direcciones separada.
-
cliente
cdigo
nombre
apellido
telfono
direccin
factura
N factura
Nombre
cliente
direccin
telfono
precio
articulo
fecha
orden
N orden
Nombre
cliente
direccin
telfono
articulo
cantidad
fecha
factura
N factura
Cod
cliente
precio
articulo
fecha
orden
N orden
Cod
cliente
precio
articulo
fecha
-
GRADOS DE NORMALIZACIN: TERCERA FORMA NORMAL
La tabla se encuentra en 3fn si es 2fn y no existe ninguna dependencia funcional transitiva entre los
atributos que no son clave.
-
GRADOS DE NORMALIZACIN: TERCERA FORMA NORMAL
Sus principales objetivos:
Eliminar campos que no dependan de las llaves.
Los valores de un registro que no forma parte de la llave de registro no tiene cabida en la tabla.
Ejemplo, en una tabla que contiene los datos de los candidatos a un puesto, el nombre del candidato, nombre de la universidad a la que asisti y la direccin pueden estar incluidos. Pero existen muchas universidades. Si la informacin de la universidad se almacena en la tabla candidatos no hay manera de listar las universidades que no tengan candidatos. Lo mejor es crear una tabla candidatos con llave de cdigo de la universidad.
-
OTRAS FORMAS DE NORMALIZACIN
Cuarta forma normal, tambin llamada Boyce Codd Forma Normal (FNBC), y quinta forma normal,
existen, pero rara vez se consideran en el diseo
prctico. Haciendo caso omiso de estas reglas
puede resultar en menos de diseo de base de
datos perfecto, pero no debera afectar a la
funcionalidad.
-
EJEMPLO DE NORMALIZACIN: 0NF CodLibro Titulo Autor Editorial NombreLector FechaDev
1001 Variable
compleja Murray Spiegel McGraw Hill
Prez Gmez,
Juan 15/04/2005
1004 Visual Basic 5 E. Petroustsos Anaya Ros Tern, Ana 17/04/2005
1005 Estadstica Murray Spiegel McGraw Hill Roca, Ren 16/04/2005
1006 Oracle University
Nancy
Greenberg y
Priya Nathan
Oracle Corp. Garca Roque,
Luis 20/04/2005
1007 Clipper 5.01 Ramalho McGraw Hill Prez Gmez,
Juan 18/04/2005
-
EJEMPLO DE NORMALIZACIN 1FN CodLibro Titulo Autor Editorial Paterno Materno Nombres FechaDev
1001 Variable
compleja
Murray
Spiegel McGraw Hill Prez Gmez Juan 15/04/2005
1004 Visual Basic 5 E.
Petroustsos Anaya Ros Tern Ana 17/04/2005
1005 Estadstica Murray
Spiegel McGraw Hill Roca Ren 16/04/2005
1006 Oracle
University
Nancy
Greenberg Oracle Corp. Garca Roque Luis 20/04/2005
1006 Oracle
University Priya Nathan Oracle Corp. Garca Roque Luis 20/04/2005
1007 Clipper 5.01 Ramalho McGraw Hill Prez Gmez Juan 18/04/2005
1NF solo tener campos
atmicos
-
EJEMPLO DE NORMALIZACIN 2FN CodLibro Titulo Autor Editorial
1001 Variable compleja Murray Spiegel McGraw Hill
1004 Visual Basic 5 E. Petroustsos Anaya
1005 Estadstica Murray Spiegel McGraw Hill
1006 Oracle University Nancy Greenberg Oracle Corp.
1006 Oracle University Priya Nathan Oracle Corp.
1007 Clipper 5.01 Ramalho McGraw Hill
CodLector Paterno Materno Nombres
501 Prez Gmez Juan
502 Ros Tern Ana
503 Roca Ren
504 Garca Roque Luis
-
EJEMPLO DE NORMALIZACIN 2FN
CodLibro CodLector FechaDev
1001 501 15/04/2005
1004 502 17/04/2005
1005 503 16/04/2005
1006 504 20/04/2005
1007 501 18/04/2005
Se crea una nueva tabla
para mantener la
informacin de los libros
que estn prestados
-
EJEMPLO DE NORMALIZACIN 3FN
CodLi
bro
Titulo
1001 Variable compleja
1004 Visual Basic 5
1005 Estadstica
1006 Oracle University
1007 Clipper 5.01
CodA
utor
Autor
801 Murray Spiegel
802 E. Petroustsos
803 Nancy Greenberg
804 Priya Nathan
806 Ramalho
CodEd
itorial
Editorial
901 McGraw Hill
902 Anaya
903 Oracle Corp.
Se crean tablas para cada entidad definida
-
EJEMPLO DE NORMALIZACIN 3FN
CodLibro codAutor
1001 801
1004 802
1005 801
1006 803
1006 804
1007 806
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901
Se crean nuevas tablas para indicar las relaciones perdidas
-
EJEMPLO DE NORMALIZACIN 3FN
CodLibro CodLector FechaDev
1001 501 15/04/2005
1004 502 17/04/2005
1005 503 16/04/2005
1006 504 20/04/2005
1007 501 18/04/2005
CodLector Paterno Materno Nombres
501 Prez Gmez Juan
502 Ros Tern Ana
503 Roca Ren
504 Garca Roque Luis
El resto de tablas no necesitan modificacin