SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Normalización

Ing. 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, 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.
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.
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.
ANOMALIAS DE MANEJO
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 ).
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.
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.
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 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.
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
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
Métodos para corregir el problema
               (1FN)
• Método 2
  – Eliminar el grupo de repetición
  – Expandir la llave primaria

  – Abordaje que causa redundancia
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)
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
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)
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 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.
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 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.
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.
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
Notación Diagramática para DF
     Nro-cliente                  Nombre                   Dirección




 Nro-pedido           Nro-pieza      Cantidad_comprada     Precio_contado




Nro-cliente        Nombre         Dirección     Cod_vend       Nombre_vend
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
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}
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
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
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
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}
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.
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)
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
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
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
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
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
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
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
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
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)
Normalización

        ¿Preguntas?
Ing. Gustavo Delgado Ugarte

Más contenido relacionado

Destacado

Tn en operaciones_comerciales_cod[1].__632105
Tn en operaciones_comerciales_cod[1].__632105Tn en operaciones_comerciales_cod[1].__632105
Tn en operaciones_comerciales_cod[1].__632105ocomerciales
 
133146 tn contabilizacion de operaciones comerciales y financieras v1
133146 tn contabilizacion de operaciones comerciales y financieras v1133146 tn contabilizacion de operaciones comerciales y financieras v1
133146 tn contabilizacion de operaciones comerciales y financieras v1kathe82856
 
Ejecución guia_3_servicio de alojamiento - 10-2013
 Ejecución guia_3_servicio de alojamiento  - 10-2013 Ejecución guia_3_servicio de alojamiento  - 10-2013
Ejecución guia_3_servicio de alojamiento - 10-2013Lauren Fernandez
 
Sistemas de tesoreria y contabilidad
Sistemas de tesoreria y contabilidadSistemas de tesoreria y contabilidad
Sistemas de tesoreria y contabilidadSandra Yauris Zuñiga
 
Tecnico operacion de reservas y venta de servicios turisticos
Tecnico operacion de reservas y venta de servicios turisticosTecnico operacion de reservas y venta de servicios turisticos
Tecnico operacion de reservas y venta de servicios turisticosyubisagomez2012
 
Ficha técnica proyecto
Ficha técnica proyectoFicha técnica proyecto
Ficha técnica proyectodeyamartinez
 
Operaciones basicas de la empresa
Operaciones  basicas  de  la  empresaOperaciones  basicas  de  la  empresa
Operaciones basicas de la empresaRicardo Viqueira
 
Contabilización de operaciones comerciales y financieras real
Contabilización de operaciones comerciales y financieras realContabilización de operaciones comerciales y financieras real
Contabilización de operaciones comerciales y financieras realSantiago Hernandez
 
Contabilización de operaciones comerciales y financieras
Contabilización de operaciones comerciales y financierasContabilización de operaciones comerciales y financieras
Contabilización de operaciones comerciales y financierasSantiago Hernandez
 
ASLE - Asamblea 2012 presentación de FMD
ASLE - Asamblea 2012 presentación de FMDASLE - Asamblea 2012 presentación de FMD
ASLE - Asamblea 2012 presentación de FMDASLE
 

Destacado (20)

Tn en operaciones_comerciales_cod[1].__632105
Tn en operaciones_comerciales_cod[1].__632105Tn en operaciones_comerciales_cod[1].__632105
Tn en operaciones_comerciales_cod[1].__632105
 
133146 tn contabilizacion de operaciones comerciales y financieras v1
133146 tn contabilizacion de operaciones comerciales y financieras v1133146 tn contabilizacion de operaciones comerciales y financieras v1
133146 tn contabilizacion de operaciones comerciales y financieras v1
 
Ley de tesoreria
Ley de tesoreriaLey de tesoreria
Ley de tesoreria
 
Dpto tesoreria
Dpto tesoreriaDpto tesoreria
Dpto tesoreria
 
Guía ACT-PROYECTO-001
Guía ACT-PROYECTO-001Guía ACT-PROYECTO-001
Guía ACT-PROYECTO-001
 
Ejecución guia_3_servicio de alojamiento - 10-2013
 Ejecución guia_3_servicio de alojamiento  - 10-2013 Ejecución guia_3_servicio de alojamiento  - 10-2013
Ejecución guia_3_servicio de alojamiento - 10-2013
 
Sistemas de tesoreria y contabilidad
Sistemas de tesoreria y contabilidadSistemas de tesoreria y contabilidad
Sistemas de tesoreria y contabilidad
 
Tecnico operacion de reservas y venta de servicios turisticos
Tecnico operacion de reservas y venta de servicios turisticosTecnico operacion de reservas y venta de servicios turisticos
Tecnico operacion de reservas y venta de servicios turisticos
 
Ficha técnica proyecto
Ficha técnica proyectoFicha técnica proyecto
Ficha técnica proyecto
 
tesoreria-ppt
tesoreria-ppttesoreria-ppt
tesoreria-ppt
 
Operaciones basicas de la empresa
Operaciones  basicas  de  la  empresaOperaciones  basicas  de  la  empresa
Operaciones basicas de la empresa
 
Manual de funciones y proce para caja (1)
Manual de funciones y proce para caja (1)Manual de funciones y proce para caja (1)
Manual de funciones y proce para caja (1)
 
Contabilización de operaciones comerciales y financieras real
Contabilización de operaciones comerciales y financieras realContabilización de operaciones comerciales y financieras real
Contabilización de operaciones comerciales y financieras real
 
Contabilización de operaciones comerciales y financieras
Contabilización de operaciones comerciales y financierasContabilización de operaciones comerciales y financieras
Contabilización de operaciones comerciales y financieras
 
Contabilidad Básica
Contabilidad BásicaContabilidad Básica
Contabilidad Básica
 
APRENDIENDO EL MANEJO DE CAJA
APRENDIENDO EL MANEJO DE CAJAAPRENDIENDO EL MANEJO DE CAJA
APRENDIENDO EL MANEJO DE CAJA
 
Día de la alimentación 2014
Día de la alimentación 2014Día de la alimentación 2014
Día de la alimentación 2014
 
Japon
JaponJapon
Japon
 
ASLE - Asamblea 2012 presentación de FMD
ASLE - Asamblea 2012 presentación de FMDASLE - Asamblea 2012 presentación de FMD
ASLE - Asamblea 2012 presentación de FMD
 
Franci
FranciFranci
Franci
 

Similar a 05. normalización

Similar a 05. normalización (20)

Clase 6 - Normalización
Clase 6  - NormalizaciónClase 6  - Normalización
Clase 6 - Normalización
 
Tema3 modelo relacional
Tema3   modelo relacionalTema3   modelo relacional
Tema3 modelo relacional
 
2 el modelo_relacional_y_la_normalizacion
2 el modelo_relacional_y_la_normalizacion2 el modelo_relacional_y_la_normalizacion
2 el modelo_relacional_y_la_normalizacion
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datos
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Introducción a los algoritmos
Introducción a los algoritmosIntroducción a los algoritmos
Introducción a los algoritmos
 
Material apoyo u3_1
Material apoyo u3_1Material apoyo u3_1
Material apoyo u3_1
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Material apoyo
Material apoyo Material apoyo
Material apoyo
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Complementos de programación
Complementos de programaciónComplementos de programación
Complementos de programación
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
Actividad 9
Actividad 9Actividad 9
Actividad 9
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema3
Tema3Tema3
Tema3
 
Normalización
NormalizaciónNormalización
Normalización
 
Base de datos
Base de datosBase de datos
Base de datos
 

05. normalización

  • 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. 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. 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.
  • 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. 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. 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. 1ra FORMA NORMAL ( Codd, 1970)
  • 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. 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. 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. 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. 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. 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. 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. Descomposición de Esquemas • Retomando el caso del esquema PIEZAS
  • 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. Descomposición de Esquemas • Podríamos pensar en dividir el esquema de relación en dos:
  • 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. 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. 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. Notación Diagramática para DF Nro-cliente Nombre Dirección Nro-pedido Nro-pieza Cantidad_comprada Precio_contado Nro-cliente Nombre Dirección Cod_vend Nombre_vend
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Normalización ¿Preguntas? Ing. Gustavo Delgado Ugarte