NormalizaciónIng. Gustavo Delgado Ugarte
Introducción• La principal ventaja del modelo relacional  frente a otros modelos de datos, como el de  red o el jerárquico...
ANOMALIAS DE MANEJO• Puede definirse el problema del diseño de las  bases de datos relacionales como el de escoger,  de en...
ANOMALIAS DE MANEJO• Consideremos un esquema de relación:  – PIEZAS ( PIEZA , PROVEEDOR , CANTIDAD )     • donde CANTIDAD ...
ANOMALIAS DE MANEJO
ANOMALIAS DE MANEJO• Fácilmente se observa lo siguiente:   – La cantidad de una determinada pieza aparece repetida tantas ...
FORMAS NORMALES• Para caracterizar esquemas de relación  desprovistos de determinados tipos de  anomalías, se han definido...
1ra FORMA NORMAL ( Codd, 1970)• Podríamos considerar la posibilidad de  sustituir el esquema de relación PIEZAS por  otro:...
1ra FORMA NORMAL ( Codd, 1970)
1ra FORMA NORMAL ( Codd, 1970)• Un esquema de relación, alguno de cuyos  atributos toma como valores conjuntos de  valores...
1ra FORMA NORMAL ( Codd, 1970)• Definición: está en 1FN si  – Todo valor en     es atómico     •   no contiene grupos de r...
Métodos para corregir el problema               (1FN)• Método 1  – Generar una nueva relación conteniendo el grupo    de r...
Métodos para corregir el problema               (1FN)• Método 2  – Eliminar el grupo de repetición  – Expandir la llave pr...
Métodos para corregir el problema               (1FN)• Método 3  – Sustituir el grupo de repetición por un numero    máxim...
Métodos para corregir el problema               (1FN)• Ejemplo  – Cliente(nro-cli, nombre, {dir_entrega})   Nro-cli       ...
Métodos para corregir el problema               (1FN)• Solución al problema  – Método 1     • Cliente_nombre(nro-cli, nomb...
Descomposición de Esquemas• Retomando el caso del esquema PIEZAS
Descomposición de Esquemas• Las anomalías existentes en el esquema  PIEZAS se deben, básicamente, al hecho de  haber utili...
Descomposición de Esquemas• Podríamos pensar en dividir el esquema de  relación en dos:
Descomposición de Esquemas
Descomposición de Esquemas• Podemos observar que:  – Se han eliminado la redundancia y las anomalías    de manejo existent...
Descomposición de Esquemas• Este último punto es muy importante. Cuando ocurre  esto, es decir, cuando un esquema de relac...
Dependencias Funcionales (DF)• Es una restricción entre dos subconjuntos de  atributos A y B de , siendo la notación A→B• ...
Notación Diagramática para DF     Nro-cliente                  Nombre                   Dirección Nro-pedido           Nro...
Dependencia Funcional• Control de Consistencia  – Es necesario conocer todas las dependencias    funcionales – información...
Dependencia Funcional• Reglas de inferencia de DFs  – Reflexiva: si             (DF Trivial)  – Aumentativa: Si  – Descomp...
Definiciones• Dados los conjuntos de atributos X e Y, y un  atributo A Є X:  – X → Y, es una dependencia funcional parcial...
Definiciones• Dados los conjuntos de atributos X e Y, y un  atributo A Є X:  – X → Y, es una dependencia funcional transit...
2da Forma Normal (2FN)• Definición.- Un esquema de relación está  en 2FN si todo atributo no primario A en  tiene dependen...
2da Forma Normal (2FN)• “Prueba para 2FN”: verificar si los atributos del  lado izquierdo de las DFs forman parte de la cl...
2da Forma Normal (2FN)• Para corregir el problema:  – Para cada subconjunto del conjunto de atributos    que constituye un...
2da Forma Normal (2FN)• Tomando el ejemplo anterior  – Pedido(nro-pedido, fecha, nro-pieza, descripción,    cantidad-compr...
2da Forma Normal (2FN)• La 2FN evita:  – Inconsistencias y anomalías causadas por    redundancia de información  – Pérdida...
3ra Forma Normal (3FN)• Definición.     está en 3FN si  – Está en 2FN  – Ningún atributo no primario de fuera    transitiv...
3ra Forma Normal (3FN)• En otras palabras, todos los atributos no  primarios deben poseer dependencia total, no  transitiv...
3ra Forma Normal (3FN)• Corrigiendo el problema  – Para cada determinante que no es una clave    candidata, remover de la ...
3ra Forma Normal (3FN)• Corrigiendo nuestro ejemplo  – Cliente(nro-cliente, nombre-cliente, direcc-cliente,    nro-vendedo...
3ra Forma Normal (3FN)• Así como la 2FN, la 3FN evita:  – Inconsistencias y anomalías causadas por    redundancia de infor...
3ra Forma Normal (3FN)• Así como la 2FN, la 3FN evita:  – Inconsistencias y anomalías causadas por    redundancia de infor...
Normalización• Como hemos visto, la normalización de  relaciones:  – Está basada en DFs  – Garantiza consistencia en la co...
Normalización• Formas Normales  – 1FN: el dominio de los atributos es atómico  – FNs basadas en DFs:     • Basadas en la c...
Normalización        ¿Preguntas?Ing. Gustavo Delgado Ugarte
Upcoming SlideShare
Loading in …5
×

05. normalización

836 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
836
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

05. normalización

  1. 1. NormalizaciónIng. Gustavo Delgado Ugarte
  2. 2. Introducción• La principal ventaja del modelo relacional frente a otros modelos de datos, como el de red o el jerárquico, es la existencia de un cuerpo teórico-formal en el que basar el proceso de diseño de bases de datos, de modo que pueda dejar de ser una especie de “arte”, cuyo resultado depende fundamentalmente de la habilidad del diseñador para convertirse en un proceso metódico.
  3. 3. ANOMALIAS DE MANEJO• Puede definirse el problema del diseño de las bases de datos relacionales como el de escoger, de entre una serie de posibilidades, un conjunto de esquemas de relación “buenos” para representar información del mundo real.• ¿ Qué se entiende por un “buen” esquema de relación ? – Básicamente, uno que está libre de redundancia y de anomalías de manejo.
  4. 4. ANOMALIAS DE MANEJO• Consideremos un esquema de relación: – PIEZAS ( PIEZA , PROVEEDOR , CANTIDAD ) • donde CANTIDAD indica la cantidad de una determinada pieza en almacén. • Supondremos que una misma pieza puede ser suministrada por varios proveedores, y que un proveedor puede suministrar varias piezas.
  5. 5. ANOMALIAS DE MANEJO
  6. 6. ANOMALIAS DE MANEJO• Fácilmente se observa lo siguiente: – La cantidad de una determinada pieza aparece repetida tantas veces como proveedores la suministran ( redundancia ). – Al cambiar la cantidad almacenada de una determinada pieza, el valor debe alterarse en todas las tuplas correspondientes a dicha pieza ( anomalía de modificación ). – Si se borra el último proveedor de una pieza, se pierde la cantidad de dicha pieza en almacén, a menos que se admitan valores nulos ( anomalía de borrado ). – Solamente puede almacenarse la cantidad en almacén de una determinada pieza, cuando exista al menos un proveedor conocido para dicha pieza, a menos que se admitan valores nulos ( anomalía de inserción ).
  7. 7. FORMAS NORMALES• Para caracterizar esquemas de relación desprovistos de determinados tipos de anomalías, se han definido las llamadas “formas normales”.• Un esquema de relación está en una determinada forma normal cuando cumple ciertas condiciones que garantizan determinadas propiedades deseables del esquema.
  8. 8. 1ra FORMA NORMAL ( Codd, 1970)• Podríamos considerar la posibilidad de sustituir el esquema de relación PIEZAS por otro: – PIEZAS2( PIEZA , PROVEEDORES , CANTIDAD ) • en el cual, el atributo PROVEEDORES toma como valor el conjunto de proveedores de cada pieza.
  9. 9. 1ra FORMA NORMAL ( Codd, 1970)
  10. 10. 1ra FORMA NORMAL ( Codd, 1970)• Un esquema de relación, alguno de cuyos atributos toma como valores conjuntos de valores más elementales , se dice que está “no normalizado”.• En caso contrario, es decir, si el dominio asociado a cada atributo contiene únicamente valores atómicos ( simples o compuestos ), entonces se dice que el esquema está en primera forma normal ( 1 FN ), o simplemente normalizado.
  11. 11. 1ra FORMA NORMAL ( Codd, 1970)• Definición: está en 1FN si – Todo valor en es atómico • no contiene grupos de repetición• Consideraciones – La 1FN no permite • Atributos multivalorados • Atributos compuestos • Combinaciones de estos
  12. 12. Métodos para corregir el problema (1FN)• Método 1 – Generar una nueva relación conteniendo el grupo de repetición y la llave primaria de la relación original – Determinar una llave primaria de la nueva relación – Abordaje más genérico y no causa redundancia
  13. 13. Métodos para corregir el problema (1FN)• Método 2 – Eliminar el grupo de repetición – Expandir la llave primaria – Abordaje que causa redundancia
  14. 14. Métodos para corregir el problema (1FN)• Método 3 – Sustituir el grupo de repetición por un numero máximo de valores establecidos para el grupo – Abordaje menos genérica y que puede introducir muchos valores nulos (null)
  15. 15. Métodos para corregir el problema (1FN)• Ejemplo – Cliente(nro-cli, nombre, {dir_entrega}) Nro-cli Nombre Dir_entrega 124 Juan Pérez Calle 10, 1024 Calle 24, 1356 311 José Nieves Calle 46, 1344 Calle 98, 4456
  16. 16. Métodos para corregir el problema (1FN)• Solución al problema – Método 1 • Cliente_nombre(nro-cli, nombre) • Cliente_entrega(nro-cli, calle, numero) – Método 2 • Cliente(nro-cli, nombre, calle, numero) – Método 3 • Cliente(nro-cli, nombre, calle1, numero1, calle2, numero2)
  17. 17. Descomposición de Esquemas• Retomando el caso del esquema PIEZAS
  18. 18. Descomposición de Esquemas• Las anomalías existentes en el esquema PIEZAS se deben, básicamente, al hecho de haber utilizado un único esquema de relación para representar dos “hechos semánticos” distintos, a saber: – La relación entre proveedores y piezas suministradas por lo mismos, y – El hecho de que exista una cierta cantidad de cada pieza en almacén.
  19. 19. Descomposición de Esquemas• Podríamos pensar en dividir el esquema de relación en dos:
  20. 20. Descomposición de Esquemas
  21. 21. Descomposición de Esquemas• Podemos observar que: – Se han eliminado la redundancia y las anomalías de manejo existentes en el esquema original. – En la segunda base de datos hemos separado en esquemas de relación distintos los diferentes hechos semánticos a representar. – Podemos obtener la relación original mediante la unión (join) natural de las dos proyecciones del segundo esquema.
  22. 22. Descomposición de Esquemas• Este último punto es muy importante. Cuando ocurre esto, es decir, cuando un esquema de relación puede descomponerse en proyecciones , a partir de las cuales es posible recuperar el esquema original por medio de la unión natural, se dice que el esquema es descomponible , o que existe una descomposición sin pérdidas de dicho esquema.• El concepto de descomposición sin pérdidas es fundamental en la teoría de diseño de bases de datos relacionales.
  23. 23. Dependencias Funcionales (DF)• Es una restricción entre dos subconjuntos de atributos A y B de , siendo la notación A→B• Especifica una restricción de las posibles tuplas R( ): – Si ti[A] = tj [A] entonces ti [B] = tj [B] para cualquier i,j• En este caso se dice que A determina funcionalmente a B (o alternativamente, B depende funcionalmente de A)• Ejemplo: Pieza → Cantidad
  24. 24. Notación Diagramática para DF Nro-cliente Nombre Dirección Nro-pedido Nro-pieza Cantidad_comprada Precio_contadoNro-cliente Nombre Dirección Cod_vend Nombre_vend
  25. 25. Dependencia Funcional• Control de Consistencia – Es necesario conocer todas las dependencias funcionales – información semántica provistas por el diseñador – Algunas dependencias funcionales (DFs) pueden ser inferidas a partir de DFs existentes => reglas de inferencia
  26. 26. Dependencia Funcional• Reglas de inferencia de DFs – Reflexiva: si (DF Trivial) – Aumentativa: Si – Descomposición: Si – Aditiva: si – Transitiva: si – Pseudo-transitiva: si – Observación: AB representa {A,B}
  27. 27. Definiciones• Dados los conjuntos de atributos X e Y, y un atributo A Є X: – X → Y, es una dependencia funcional parcial si – X → Y, es una dependencia funcional total si – X → Y, es una dependencia funcional trivial si
  28. 28. Definiciones• Dados los conjuntos de atributos X e Y, y un atributo A Є X: – X → Y, es una dependencia funcional transitiva si existe X → Z y Z → Y, y Z no es parte de la llave primaria. – Atributo principal, primario o primo.- Atributo que forma parte de alguna clave candidata en
  29. 29. 2da Forma Normal (2FN)• Definición.- Un esquema de relación está en 2FN si todo atributo no primario A en tiene dependencia funcional total de la clave primaria de – 1FN – X → A es una dependencia funcional total si (X – {B}) no determina funcionalmente A para cualquier atributo B Є X
  30. 30. 2da Forma Normal (2FN)• “Prueba para 2FN”: verificar si los atributos del lado izquierdo de las DFs forman parte de la clave primaria.Ejemplo• Pedido(nro-pedido, fecha, nro-pieza, descripción, cantidad-comprada, precio-contado) – nro-pedido → fecha – nro-pieza → descripción – {nro-pedido,nro-pieza} → {cantidad-comprada, precio-contado}
  31. 31. 2da Forma Normal (2FN)• Para corregir el problema: – Para cada subconjunto del conjunto de atributos que constituye una clave primaria, generar una relación con ese subconjunto como su clave primaria – Incluir los atributos de la relación original en la relación correspondiente a la clave primaria apropiada • Colocar cada atributo junto con una colección mínima de la cual depende, atribuyendo un nombre a cada relación.
  32. 32. 2da Forma Normal (2FN)• Tomando el ejemplo anterior – Pedido(nro-pedido, fecha, nro-pieza, descripción, cantidad-comprada, precio-contado) • Pedido(nro-pedido, fecha) • Pieza(nro-pieza, descripción) • Pedido_pieza(nro-pedido, nro-pieza, cantidad- comprada, precio-contado)
  33. 33. 2da Forma Normal (2FN)• La 2FN evita: – Inconsistencias y anomalías causadas por redundancia de información – Pérdida de información en operaciones de eliminación y modificación en la relación
  34. 34. 3ra Forma Normal (3FN)• Definición. está en 3FN si – Está en 2FN – Ningún atributo no primario de fuera transitivamente dependiente de la clave primaria• Dependencia Transitiva – Dependencia transitiva X→Y en sucede si: • X→Z y Z→Y , y • Z no es clave candidata ni subconjunto de cualquier clave de
  35. 35. 3ra Forma Normal (3FN)• En otras palabras, todos los atributos no primarios deben poseer dependencia total, no transitiva, de la clave primaria• Si X→Y es no transitiva, entonces no puede haber el conjunto de DFs: X→Z y Z→Y• Ejemplo: – Cliente(nro-cliente, nombre-cliente, direcc-cliente, nro-vendedor, nombre-vendedor) • Nro-vendedor → nombre-vendedor
  36. 36. 3ra Forma Normal (3FN)• Corrigiendo el problema – Para cada determinante que no es una clave candidata, remover de la relación los atributos que dependen de ese determinante – Crear una nueva relación conteniendo todos los atributos de la relación original que dependen de ese determinante – Volver al determinante, clave primaria de la nueva relación
  37. 37. 3ra Forma Normal (3FN)• Corrigiendo nuestro ejemplo – Cliente(nro-cliente, nombre-cliente, direcc-cliente, nro-vendedor, nombre-vendedor) • Cliente(nro-cliente, nombre-cliente, direcc-cliente , nro-vendedor) • Vendedor(nro-vendedor, nombre-vendedor) Clave Foránea
  38. 38. 3ra Forma Normal (3FN)• Así como la 2FN, la 3FN evita: – Inconsistencias y anomalías causadas por redundancia de información – Pérdida de información en operaciones de eliminación y modificación en la relación
  39. 39. 3ra Forma Normal (3FN)• Así como la 2FN, la 3FN evita: – Inconsistencias y anomalías causadas por redundancia de información – Pérdida de información en operaciones de eliminación y modificación en la relación
  40. 40. Normalización• Como hemos visto, la normalización de relaciones: – Está basada en DFs – Garantiza consistencia en la construcción del sistema • Reducción de anomalías • Reducción de redundancias
  41. 41. Normalización• Formas Normales – 1FN: el dominio de los atributos es atómico – FNs basadas en DFs: • Basadas en la clave primaria: 2FN, 3FN • Basadas en claves candidatas: FN de Boyce-Codd (FNBC o en inglés BCNF) – FN basada en dependencias multivaloradas • 4FN • 5FN: generaliza dependencias multivaloradas, también denominada forma normal de reunión por proyección (FNRP)
  42. 42. Normalización ¿Preguntas?Ing. Gustavo Delgado Ugarte

×