base de datos ... base de datos base datos resultados internet requerimientos universidad nacional...

Download Base de Datos ... Base de Datos BASE DATOS Resultados Internet Requerimientos UNIVERSIDAD NACIONAL DE

Post on 03-Apr-2020

2 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Docente:

    Ing. Francisco Rodríguez

    Base de Datos

    BASE

    DATOS

    Resultados

    RequerimientosInternet

    UNIVERSIDAD NACIONAL DE TRUJILLO

    ESCUELA DE ING. INDUSTRIAL

  • Base de Datos

    Tema 5:

    TEORIA DE LA

    NORMALIZACION

  • Agenda

    1. Tipos de Dependencias

    2. Dependencias Funcionales

    3. Necesidad de un Método Formal de Optimización

    4. Formas Normales

    5. Primera Forma Normal

    6. Segunda Forma Normal

    7. Tercera Forma Normal

    8. Forma Normal de Boyce y Codd

    Tema 5: Teoria de la Normalización

  • 1. Dependencias

    Son propiedades inherentes al contenido semántico de los

    datos;

     son un tipo especial de restricción de usuario en el

    modelo relacional, que afecta únicamente a los

    atributos dentro de una única relación y;

    se han de cumplir para cualquier extensión de un

    esquema de relación.

  • A fines de simplificación, se considera que un esquema

    de relación es un par de la forma:

    R (A, DEP)

    – donde:

    • A es el conjunto de atributos de la relación, y

    • DEP es el conjunto de dependencias existentes entre

    los atributos.

    1. Dependencias

  •  Existen distintos tipos de dependencias:

    – Funcionales (DF),

    – Multivaluadas (DM),

    – Jerárquicas (DJ), y

    – de Combinación (DC) (también llamadas producto).

    Cada tipo de dependencia se caracteriza por ser una

    asociación particular entre los datos.

     El grupo más restrictivo (y también más numeroso) es el de

    las dependencias funcionales. Sobre este conjunto de

    dependencias, se apoyan las tres primeras formas normales y

    la forma normal de Boyce_Codd.

    1. Dependencias

  • Cada tipo de dependencia es un caso particular del grupo que

    le sigue:

    1. Dependencias

  • DEFINICION DE DEPENDENCIA

    FUNCIONAL

    Sea el esquema de relación R(A, DF) y sean X e Y dos

    descriptores (subconjuntos de atributos de A). Se dice que

    existe una DF entre X e Y, de forma que X determina a Y, si

    y sólo si se cumple que para cualesquiera dos tuplas de R,

    u y v tales que

    u[X] = v[X], entonces necesariamente u[Y] = v[Y].

    – Esto significa que a cada valor x del atributo X, le

    corresponde un único valor y del atributo Y.

    2. Dependencias Funcionales

  • DETERMINANTE

    – Un determinante o implicante es un conjunto de

    atributos del que depende funcionalmente otro conjunto

    de atributos al que llamamos determinado o implicado.

    • Ejemplo:

    – El código de estudiante determina el nombre del

    mismo:

    Cód_Estudiante Nombre

    2. Dependencias Funcionales

  • DESCRIPTORES EQUIVALENTES

    – Dos descriptores X e Y se dice que son equivalentes si:

    X Y Y X

    • Ejemplo:

    – Los atributos Cód_Estudiante y DNI son equivalentes (se

    supone que dos alumnos distintos no pueden tener ni el

    mismo código ni el mismo DNI), es decir:

    Cód_Estudiante DNI

    2. Dependencias Funcionales

  • GRAFO DE DEPENDENCIAS

    – Grafo de dependencias: Representa un conjunto de

    atributos y las DF existentes entre ellos. Es una

    herramienta muy útil a la hora de explicitar las DF.

    Cod_Estudiante

    Cod_Curso

    Nombre_Est, Direccion

    Nota, Semestre

    Nombre, Num_horas, Cod_Plan

    2. Dependencias Funcionales

  • 2. Dependencias Funcionales

    • Dependencia funcional completa o plena: Se dice que Y tiene dependencia funcional plena o Completa de Y, si depende funcionalmente de X, pero no depende de ningún subconjunto de X.

    Se representa por X ==> Y

    Cód_Curso, Cód_Edición, Cód_Estudiante → Nota

    • Dependencia funcional X → Y es trivial si Y ⊆ X

    Cód_Curso, Cód_Edición → Cód_Curso

  • 2. Dependencias Funcionales

    • Una DF elemental es una DF plena, no trivial y en la

    que el implicado es un atributo único:

    X → Y es elemental si

  • – Únicamente las DF elementales son útiles para la

    normalización. El resto de DF no interesan y no se tienen en

    cuenta.

    • Dado el esquema de relación

    R (X, Y, Z) en el que se cumple que

    X Y , Y Z , Y X

    se dice que Z tiene una DF transitiva respecto a X a través de

    Y.

    – Se representa por

    X Z

    – Notar que X e Y no tienen que ser equivalentes

    2. Dependencias Funcionales

  • • DF transitiva estricta:

    – Es cuando además de las condiciones anteriores, también se

    cumple que

    Z Y

    • Ejemplo de DF transitiva:

    – Dada la relación

    CURSO_PROGRAMA (Cód_Curso, Cód_Programa, Cód_Departamento)

    – en donde se tiene para cada curso su código, el programa que

    lo incluye y el departamento del que depende el programa

    (suponemos que un curso se imparte en un único programa y

    que un programa lo prepara un único departamento) se tendrán

    las siguientes DF

    2. Dependencias Funcionales

  • Cód_Curso Cód_Programa

    Cód_Programa Cód_Departamento

    – Además, como en un programa se imparten varios cursos:

    Cód_Programa Cód_Curso

    – y por tanto, se cumple la DF transitiva

    Cód_Curso Cód_Departamento

    que también es estricta porque

    Cód_Departamento Cód_Programa

    2. Dependencias Funcionales

  • NECESIDAD DE UN METODO FORMAL DE OPTIMIZACION DEL DISEÑO RELACIONAL

    • Los esquemas de relación obtenidos durante la etapa de

    diseño lógico, según la metodología ya explicada, pueden

    presentar algunos problemas derivados de fallos en:

    – la percepción del UD,

    – el diseño del esquema E/R, o

    – el paso al modelo relacional.

    • Entre estos problemas cabe destacar los siguientes:

    – Incapacidad para almacenar ciertos hechos.

    – Redundancias y, por tanto, posibilidad de

    inconsistencias.

    – Ambigüedades.

    3. Necesidad de un Método Formal de Optimización

  • NECESIDAD DE UN METODO.. (cont..)

    – Pérdida de información (aparición de tuplas espurias).

    – Pérdida de DF, es decir, de ciertas restricciones de

    integridad que dan lugar a interdependencias entre los datos.

    – Existencia de valores nulos (inaplicables).

    – Aparición en la BD de estados que no son válidos en el

    mundo real (anomalías de inserción, borrado y modificación).

    3. Necesidad de un Método Formal de Optimización

  • Ejemplos Tuplas Espurias

  • Ejemplos Tuplas Espurias

  • Ejemplos Tuplas Espurias

  • Formalmente plantearemos la teoría de la normalización en los

    siguientes términos:

    Dado un esquema de relación R(A, D) (esquema origen),

    siendo A el conjunto de atributos y D el conjunto de

    dependencias existentes entre ellos, se trata de transformar, por

    medio de sucesivas proyecciones, este esquema de partida en un

    conjunto de n esquemas de relación (esquemas resultantes):

    { Ri (Ai, Di) } i=1,n

    tales que cumplan unas determinadas condiciones.

    3. Necesidad de un Método Formal de Optimización

  • • Se trata, por tanto, de buscar un conjunto de esquemas Ri

    que sean equivalentes a R (para lo cual será preciso

    definir el Concepto de equivalencia de esquemas) y que

    sean también mejores (en el sentido que enunciaremos)

    que el esquema origen.

    • Son tres las propiedades que han de cumplir los

    esquemas de relación Ri para ser equivalentes a R y

    mejores que R:

    a) Conservación de la información.

    b) Conservación de las dependencias.

    c) Mínima redundancia de los datos (normalización

    de las relaciones).

    3. Necesidad de un Método Formal de Optimización

  • • Si se cumplen a) y b), es decir, la transformación de R en

    {Ri} se hace sin pérdida de información ni de

    dependencias, se dice que {Ri} es equivalente a R.

    • y si las relaciones resultantes {Ri} están en formas

    normales más avanzadas que el esquema origen R, se

    dice que {Ri} es mejor que R.

    • Además del grado de normalización, existen otros

    criterios para calificar la bondad de un esquema relacional:

    – eficiencia frente a las consultas, y

    – captar mejor la semántica del mundo real.

    3. Necesidad de un Método Formal de Optimización

  • • Ejemplo de diseño inadecuado: problemas de redundancia;

    y anomalías de modificación, inserción y borrado.

  • • Formas Normales Básicas:

    – Inicialmente, Codd propuso en 1970 tres formas normales basadas en las DF: primera (1FN), segunda (2FN) y tercera

    forma normal (3FN), CODD (1970).

    – Debido a que en 3FN aún persisten algunos problemas en las

    relaciones, en 1974 Codd y Boyce introdujeron u