r94111

download r94111

of 18

Transcript of r94111

  • 7/22/2019 r94111

    1/18

    Normalizaciones de Bases de

    DatosElprofe3.wordpress.com

  • 7/22/2019 r94111

    2/18

    Normalizacin

    La normalizacin es el proceso de organizar los datosen una base de datos. Esto incluye la creacin de tablasy que establece relaciones entre aquellas tablas segnreglas diseadas para proteger los datos y hacer la basede datos que es ms flexible al eliminar redundancia y

    dependencia incoherente.

    Los datos redundantes desperdician espacio en disco ycrean problemas de mantenimiento. Si es necesariocambiar datos que aparecen en ms de un sitio, el

    cambio deber ser exactamente igual en todos estossitios. Por ejemplo, un cambio de direccin de un clientees mucho ms fcil de implementar si los datos slo sealmacenan en la tabla Clientes y en ningn otro lugar dela base de datos.

  • 7/22/2019 r94111

    3/18

    Normalizacin

    Qu es una "dependencia incoherente"? Aunque para un usuariopuede resultar intuitivo buscar la direccin de un determinadocliente en la tabla Clientes, es posible que no tenga sentido buscaren esa misma tabla el sueldo del empleado que atiende a dichocliente. El salario del empleado est relacionado con el empleado(es decir, existe una dependencia entre ambos), por lo que debe

    moverse a la tabla Empleados. Las dependencias incoherentespueden dificultar el acceso a los datos, ya que la ruta de acceso alos mismos puede estar rota o no encontrarse.

    Existen unas cuantas reglas para la normalizacin de bases dedatos. Cada regla se denomina "forma normal" Si se cumple laprimera regla, se dice que la base de datos est en la "primeraforma normal" Si se cumplen las tres primeras reglas, se consideraque la base de datos est en la "tercera forma normal" Aunqueexisten otros niveles de normalizacin, se considera que la terceraforma normal es el mximo nivel necesario para la mayora de lasaplicaciones.

  • 7/22/2019 r94111

    4/18

    Primera forma normal

    Eliminar grupos repetidos en tablasindividuales.

    Crear una tabla diferente para cada

    conjunto de datos relacionados. Identificar cada conjunto de datos

    relacionados mediante una clave principal.

    No utilizar varios campos en una nica tablapara almacenar datos similares.

  • 7/22/2019 r94111

    5/18

    Ejemplo

    En lugar de hacer varioscampos para losproveedores en una solatabla, hacemos otra tabla

    con el campo proveedor ycolocamos variosregistros para losproveedores (tabla de en

    medio). Sustituimos latabla superior de laizquierda por la tablainferior.

    Artculo Prov1 Prov2 Prov3

    Maz - Granja -Arroz Casita - -

    Cdigo Proveedor

    145 Casita

    154 Granja

    Artculo Cod.Prov

    Maz 154

    Arroz 145

  • 7/22/2019 r94111

    6/18

    Segunda forma normal

    Crear tablas independientes paraconjuntos de valores que se apliquen avarios registros.

    Relacionar dichas tablas mediante unaclave externa.

    Los registros tan slo deben depender de la

    clave principal de una tabla (si esnecesario, puede ser una clavecompuesta).

  • 7/22/2019 r94111

    7/18

    Ejemplo

    piense en la direccin de un cliente en unsistema de contabilidad. La direccin esnecesitada por la tabla Clientes pero por

    las tablas Pedidos, Facturas y Cuentas acobrar tambin. En lugar de almacenar ladireccin del cliente como una entradadiferente en cada tabla, almacnela en un

    nico lugar, ya sea en la tabla Clientes oen una tabla de direccionesindependiente.

  • 7/22/2019 r94111

    8/18

    Tercera forma normal

    Eliminar los campos que no dependan de la clave. Los valores deun registro que no forman parte de la clave de dicho registro nopertenecen a esa tabla. En general, siempre que el contenido de ungrupo de campos se puede aplicar a ms de un registro de la tabla,debe tener en cuenta la posibilidad de incluir dichos campos en unatabla independiente.

    EXCEPCIN: No es prctico siempre cumplir la forma terceranormal tericamente conveniente. Si tiene una tabla Clientes ydesea eliminar todas las posibles dependencias entre campos,debe crear tablas independientes para ciudades, cdigos postales,representantes de ventas, clases de clientes y cualquier otro factor

    que pueda aparecer duplicado en varios registros. En teora, lanormalizacin merece la pena. Sin embargo, la utilizacin de ungran nmero de tablas pequeas puede perjudicar el rendimiento osuperar la capacidad de memoria y de archivos abiertos delsistema.

  • 7/22/2019 r94111

    9/18

    Otras formas normales

    Otras formas de normalizacin Existe una cuarta forma normal, llamada

    tambin Forma normal de Boyce Codd

    (BCNF), y una quinta forma normal, peropocas veces se consideran prcticas enun diseo. La omisin de estas reglaspuede dar como resultado una tabla queno sea perfecta, pero no debera afectar asu funcionamiento

  • 7/22/2019 r94111

    10/18

    Haga esta tabla en Access para normalizarla. La tabla se llama alumnos

  • 7/22/2019 r94111

    11/18

    Primera forma normal: Ningngrupo repetido

    Como cada alumno se encuentra inscritoen varios cursos, estos deben aparecer enuna tabla independiente. Los campos

    curso1, curso2, curso3 de los registrosanteriores indican que existe un problemaen el diseo.

  • 7/22/2019 r94111

    12/18

  • 7/22/2019 r94111

    13/18

    Segunda forma Normal: Eliminedatos redundantes

    Curso no depende del carn (que sernuestra clave principal) por lo que la tablano esta en la segunda forma normal.

    Debemos separar la informacin de loscursos-alumnos a otra tabla. Haremos latabla asignaciones.

  • 7/22/2019 r94111

    14/18

    Asignaciones

    Tabla alumnos luego del cambio

  • 7/22/2019 r94111

    15/18

    Tercera forma Normal: Eliminardatos que no dependen de la clave De el ltimo ejemplo la oficina del asesor

    depende funcionalmente del atributoasesor. La solucin es mover dicho

    atributo de la tabla alumnos a la tablapersonal, como se muestra acontinuacin.

  • 7/22/2019 r94111

    16/18

    Tabla Alumno

    Tabla Personal

  • 7/22/2019 r94111

    17/18

    Normalizada

  • 7/22/2019 r94111

    18/18

    Hemos llegado finalmente a una base dedatos bien organizada en la cual podemosactualizar o cambiar los datos

    almacenados fcilmente y de una maneraordenada sin alterar los dems registros.