normalización de una base de datos

23
NORMALIZACIÓN DE UNA BASE DE DATOS

Upload: macsmacs-caicedo-saavedra

Post on 16-Dec-2015

10 views

Category:

Documents


1 download

DESCRIPTION

expocicin sobre normalizacion de una base de datos

TRANSCRIPT

  • 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