Normalización de Bases de Datos Relacionales Es un procedimiento formal, que se ejecuta paso a paso, reversible, que permite: - Optimizar la estructura de la Base de Datos - Identificar y resolver situaciones no deseables - Atributos no atómicos - Dependencias parciales de clave - Dependencias transitivas los datos que deben estar juntos, deben estarlo.
Tipos de problemas : Clave Primaria Nº Factura Fecha RUT Cliente Cliente Producto Valor Cantidad Descuento 000257 01-07-2000 1234567 Juan Pérez.Valpo Lápiz Bic 100 250 5 % 000257 01-07-2000 1234567 Juan Pérez.Valpo Block 1000 200 5 % 000257 01-07-2000 1234567 Juan Pérez.Valpo Lápiz Grafito 70 50 0 % 000258 01-07-2000 1234568 Ana Palma.Stgo Lápiz Bic 100 400 6 % 000258 01-07-2000 1234568 Ana Palma.Stgo Cuaderno 500 350 6 % 000258 01-07-2000 1234568 Ana Palma.Stgo Regla 100 20 0 % Dependencia transitiva entre Atributos no clave Valores no atómicos Dependencia parcial de clave
Dependencia Funcional : Se dice que el atributo Y es funcionalmente dependiente del atributo X, si el valor del atributo Y está determinado por el valor del atributo X. Se denota como X Y Cuando el valor del atributo Y depende conjuntamente de varios Atributos, se dice que existe una dependencia funcional total de Y Respecto de dichos atributos. Se denota por X,Z,W Y Ejemplo: NºFactura, Producto Cantidad
Diagrama de Dependencias : Descuento, Cantidad Producto Nº Factura Valor Fecha, Cliente, Rut Cliente
Formas Normales : Primera Forma Normal : Una relación está en Primera Forma Normal (1NF) si cada uno de sus atributos toma valores atómicos, es decir, en lo que al sistema de informaci n respecta, los valores de los atributos son indivisibles.
Primera Forma Normal Nº Factura Fecha RUT Cliente Nom. Apell. Ciudad Producto Valor Cantidad Descuento 000257 01-07-2000 1234567 Juan Pérez Valpo Lápiz Bic 100 250 5 % 000257 01-07-2000 1234567 Juan Pérez Valpo Block 1000 200 5 % 000257 01-07-2000 1234567 Juan Pérez Valpo Lápiz Grafito 70 50 0 % 000258 01-07-2000 1234568 Ana Palma Stgo Lápiz Bic 100 400 6 % 000258 01-07-2000 1234568 Ana Palma Stgo Cuaderno 500 350 6 % 000258 01-07-2000 1234568 Ana Palma Stgo Regla 100 20 0 % Valores atómicos
Formas Normales : Segunda Forma Normal : Una relación está en Segunda Formal Normal (2NF) si y sólo si está en 1NF y cada atributo no-clave de la relación es total y funcionalmente dependiente de la clave primaria. Descuento, Cantidad Producto Nº Factura Valor Fecha, Cliente, Rut Cliente
Segunda Forma Normal Nº Factura Producto Cantidad Descuento 000257 Lápiz Bic 250 5 % 000257 Block 200 5 % 000257 Lápiz Grafito 50 0 % 000258 Lápiz Bic 400 6 % 000258 Cuaderno 350 6 % 000258 Regla 20 0 % Producto Valor Lápiz Bic 250 Block 200 Lápiz Grafito 50 Cuaderno 350 Regla 20 Nº Factura Fecha RUT Cliente Cliente Ciudad 000257 01-07-2000 1234567 Juan Pérez Valpo 000257 01-07-2000 1234567 Juan Pérez Valpo 000257 01-07-2000 1234567 Juan Pérez Valpo 000258 01-07-2000 1234568 Ana Palma Stgo 000258 01-07-2000 1234568 Ana Palma Stgo 000258 01-07-2000 1234568 Ana Palma Stgo
Formas Normales : Tercera Forma Normal : Una relación está en Tercera Formal Normal (3NF) si y s lo si está en 2NF y no existen dependencias funcionales entre atributos que no pertenecen a la clave primaria de la relación. Ciudad, Cliente, Rut Cliente, Fecha Nº Factura
Tercera Forma Normal Nº Factura Producto Cantidad Descuento RUT Cliente Cliente Ciudad 000257 Lápiz Bic 250 5 % 000257 Block 200 5 % 1234567 Juan Pérez Valpo 1234568 Ana Palma Stgo 000257 Lápiz Grafito 50 0 % 000258 Lápiz Bic 400 6 % 000258 Cuaderno 350 6 % 000258 Regla 20 0 % Producto Valor Lápiz Bic 250 Block 200 Lápiz Grafito 50 Cuaderno 350 Regla 20 Nº Factura Fecha RUT Cliente 000257 01-07-2000 1234567 000257 01-07-2000 1234567 000257 01-07-2000 1234567 000258 01-07-2000 1234568 000258 01-07-2000 1234568 000258 01-07-2000 1234568
Formas Normales : Forma Normal de Boyce Codd Una relación está en Formal Normal de Boyce/Codd (BCNF) si y sólo si cada determinante dentro de la relación es una clave candidata.