2011 normalizacion bd

24
Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalización N N o o r r m m a a l l i i z z a a c c i i ó ó n n d d e e B B a a s s e e d d e e D D a a t t o o s s I I N N G G . . Y Y I I M M I I S S A A I I A A S S A A P P E E S S T T E E G G U U I I F F L L O O R R E E N N T T I I N N O O

Upload: valeria-moscoso

Post on 13-Sep-2015

2 views

Category:

Documents


0 download

DESCRIPTION

Base de Datos

TRANSCRIPT

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    NNoorrmmaalliizzaacciinn

    ddee BBaassee ddee DDaattooss

    IINNGG.. YYIIMM IISSAAIIAASS AAPPEESSTTEEGGUUII FFLLOORREENNTTIINNOO

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    NORMALIZACION DE BASE DE DATOS La normalizacin de bases de datos relacionales toma un esquema relacional y le aplica un conjunto de tcnicas para producir un nuevo esquema que representa la misma informacin pero contiene menos redundancias y evita posibles anomalas en las inserciones, actualizaciones y borrados.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    El proceso de normalizacin El proceso de normalizacin consiste en comprobar en secuencia si el esquema original est en 1FN, 2FN y 3FN, analizando las dependencias funcionales en cada paso. Un ejemplo Tenemos una empresa pblica donde los puestos de trabajo estn regulados por el Estado, de modo que las condiciones salariales estn determinadas por el puesto.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Se ha creado el siguiente esquema relacional EMPLEADO( ID_empleado, nombre, puesto, salario, emails). Como clave primaria. TENEMOS A_________???????

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    CAMBIAR nombre puesto salarioemails

    111 Juan Prez Jefe de rea 3000 [email protected]; [email protected]

    222 Jos Snchez Administrativo1500 [email protected]

    333 Ana Daz Administrativo1500 [email protected]; [email protected]

    ... ... ... ... ...

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Primera forma normal (1FN) Una tabla est en 1FN si sus atributos contienen valores atmicos. En el ejemplo, podemos ver que el atributo emails puede contener ms de un valor, por lo que viola 1FN. En general, tenemos una relacin R con clave primaria K. Si un atributo M viola la condicin de 1FN, tenemos dos opciones.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Solucin 1: duplicar los registros con valores repetidos En general, esta solucin pasa por sustituir R por una nueva relacin modificada R', en la cual:

    El atributo M que violaba 1FN se elimina.

    Se incluye un nuevo atributo M' que solo puede contener valores simples, de modo que si R'[M'] es uno de los valores que tenamos en R[M], entonces R'[K] = R[K].

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    En otras palabras, para una tupla con n valores duplicados en M, en la nueva relacin habr n tuplas, que slo varan en que cada una de ellas guarda uno de los valores que haba en M.

    La clave primaria de R' es (K, M'), dado que podr haber valores de K repetidos, para los valores multivaluados en M.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Siguiendo el ejemplo, tendramos el siguiente esquema para la nueva tabla EMPLEADOS'(a) con clave primaria (Id_empleado, email): Id_empleadonombre puesto salarioemail 111 Juan Prez Jefe de rea 3000 [email protected]

    111 Juan Prez Jefe de rea 3000 [email protected]

    222 Jos Snchez Administrativo 1500 [email protected] 333 Ana Daz Administrativo 1500 [email protected] 333 Ana Daz Administrativo 1500 [email protected]

    m ... ... ... ... ...

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Solucin 2: separar el atributo que viola 1FN en una tabla En general, esta solucin pasa por: sustituir R por una nueva relacin modificada R' que no contiene el atributo M. Crear una nueva relacin N(K, M'), es decir, una relacin con una clave ajena K referenciando R', junto al atributo M', que es la variante mono-valuada del atributo M.

    La nueva relacin N tiene como clave (K, M').

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Siguiendo el ejemplo, tendramos el siguiente esquema para la nueva tabla EMPLEADOS'(b)

    Id_empleado nombre puesto salario 111 Juan Prez Jefe de rea 3000 222 Jos Snchez Administrativo1500 333 Ana Daz Administrativo1500 ... ... ... ...

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Y adems tendramos una nueva tabla EMAILS con clave primaria (Id_empleado, email):

    Id_empleado email 111 [email protected] 111 [email protected] 222 [email protected] 333 [email protected] 333 [email protected] ... ...

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Segunda forma normal (2FN) Un esquema est en 2FN si: Est en 1FN. Todos sus atributos que no son de la clave principal tienen dependencia funcional completa respecto de todas las claves existentes en el esquema. En otras palabras, para determinar cada atributo no clave se necesita la clave primaria completa, no vale con una subclave.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o ms atributos. Si una relacin est en 1FN y su clave primaria es simple (tiene un solo atributo), entonces tambin est en 2FN. Por tanto, de las soluciones anteriores, la tabla EMPLEADOS'(b) est en 1FN (y la tabla EMAILS no tiene atributos no clave), por lo que el esquema est en 2FN. Sin embargo, tenemos que examinar las dependencias funcionales de los atributos no clave de EMPLEADOS'(a).

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Las dependencias funcionales que tenemos son las siguientes: Id_empleado->nombre, salario, email puesto->salario Como la clave es (Id_empleado, email), las dependencias de nombre, salario y email son incompletas, por lo que la relacin no est en 2FN.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    En general, tendremos que observar los atributos no clave que dependan de parte de la clave. Para solucionar este problema, tenemos que hacer lo siguiente para los gupos de atributos con dependencia incompleta M: Eliminar de R el atributo M. Crear una nueva relacin N con el atributo M y la parte de la clave primaria K de la que depende, que llamaremos K'.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    La clave primaria de la nueva relacin ser K'. Siguiendo el ejemplo anterior, crearamos una nueva relacin con los atributos que tienen dependencia incompleta:

    Id_empleadonombre puesto salario 111 Juan Prez Jefe de rea 3000 222 Jos SnchezAdministrativo1500 333 Ana Daz Administrativo1500 ... ... ... ...

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Y al eliminar de la tabla original estos atributos nos quedara:

    Id_empleadoemail 111 [email protected] 111 [email protected] 222 [email protected] 333 [email protected] 333 [email protected]

    m ... ...

    Como vemos, la solucin a la que llegamos es la misma que en la otra

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    opcin de solucin para el problema de 1FN. Tercera forma normal (3FN) Una relacin est en tercera forma normal si, y slo si: est en 2FN y, adems, cada atributo que no est incluido en la clave primaria no depende transitivamente de la clave primaria. Por lo tanto, a partir de un esquema en 2FN, tenemos que buscar dependencias

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    funcionales entre atributos que no estn en la clave. En general, tenemos que buscar dependencias transitivas de la clave, es decir, secuencias de dependencias como la siguiente: K->A y A->B, donde A y B no pertenecen a la clave. La solucin a este tipo de dependencias est en separar en una tabla adicional N el/los atributos B, y poner como clave primaria de N el atributo que define la transitividad A.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Siguiendo el ejemplo anterior, podemos detectar la siguiente transitividad: Id_empleado->puesto puesto->salario Por lo tanto la descomposicin sera la siguiente:

    Id_empleadonombre Puesto 111 Juan Prez Jefe de rea 222 Jos SnchezAdministrativo 333 Ana Daz Administrativo ... ... ...

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    En la nueva tabla PUESTOS, la clave sera el puesto, que tambin queda como clave ajena referenciando la tabla EMPLEADOS. El resto de las tablas quedan como estaban.

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    Trabajo de Laboratorio: Normalizar hasta 3NF

    1.Dada la siguiente relacin UTILIZACIN(DNI_Prof, Nombre_Prof, Despacho_Prof, Recurso, Ubicacin, Fecha_inicio, Fecha_fin,) que contiene informacin relativa a la utilizacin de los recursos de la universidad por parte de los profesores en periodos de tiempo:

  • Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalizacin

    2.Dada la siguiente relacin ASIGNACIN (DNI, Nombre, Cdigo_Tienda, Direccin_Tienda, Fecha, Turno) que contiene informacin relativa a la asignacin de los turnos de trabajo de los empleados de los distintos centros de una cadena de tiendas de moda: