SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Los Modelos de Datos y el Modelo Objeto-Relacional                                   Página 1 de 27
OBJETIVOS GENERALES:

   1. Desarrollar habilidades en el modelado semántico de datos.
   2. Lograr una visión general y una diferenciación clara entre los modelos de datos de alto nivel
      y los de bajo nivel.
   3. Desarrollar habilidades en el diseño de bases de datos.

CONTENIDOS:

Tema 1.- Modelado semántico de datos

   •    Modelo Entidad - Relación Extendido (E-R-E)

Tema 2.- Modelos básicos

   •    Jerárquico y redes
   •    Relacional
   •    Objeto-Relacional
   •    Transformación de los modelos de alto nivel al esquema objeto-relacional
   •    Enfoque por descomposición
   •    Normalización
            o 1FN
            o 2FN
            o 3FN
            o 4FN
            o 5FN
   •    Restricciones de integridad.

Tema 3.- Lenguajes de consulta del modelo relacional y objeto-relacional

   •    Algebra relacional y SQL3 (estático, dinámico, compuesto y recursivo) Reglas de integridad
        referencial o triggers
   •    Cálculo relacional de tuplas y QUEL.
   •    Cálculo relacional de dominios y QBE.

Ejercicios resueltos y propuestos.

ACTIVIDADES:

   1.   Realizar ejercicios prácticos en el modelado semántico de datos.
   2.   Realizar ejercicios prácticos con modelos básicos de datos.
   3.   Desarrollar ejercicios prácticos para transformar modelos de alto nivel a los de bajo nivel.
   4.   Diseñar bases de datos objeto-relacionales.

INTRODUCCION:

Los modelos de datos son medios formales para representar los datos asociados a una situación real
y para manipular tal representación [DAT-93]. La figura 1 ilustra el concepto anterior. Las
componentes de todo modelo de datos son las siguientes:
Los Modelos de Datos y el Modelo Objeto-Relacional                                Página 2 de 27




Figura 1. Modelado de datos.

   •   Las estructuras básicas son los elementos básicos o tipos de objetos que conforman el
       modelo.
   •   Las reglas que es el conjunto de lineamientos que expresan las propiedades estáticas del
       modelo. Ellas son:
                          o Las reglas de formación, y
                          o Las restricciones.
   •   Los operadores que permiten cambiar el estado de una base de datos modificando su
       contenido. Ellos están asociados a las propiedades dinámicas de los elementos.

Los modelos de datos se pueden clasificar en: modelos de alto nivel o semánticos y modelos de bajo
nivel o básicos.

Los modelos semánticos capturan un mayor significado de los datos e intentan representar la
estructura real de los datos independientemente de las características de almacenamiento, es decir
ellos están orientados a las aplicaciones. Existen, hoy en día, numerosos y muy variados modelos
semánticos, entre ellos se encuentran: el modelo Entidad-Relación de P. Chen en [Che-76], el
modelo Entidad-Relación-Extendido (ERE) de Teorey et al. en [T-86] y el modelo IFO propuesto
por Abiteboul en [ABI- ]. De modelos anteriores solo será tratado el segundo de ellos en detalle más
adelante.

Los modelos básicos constituyen el grupo de modelos que han sido diseñados orientándose al
computador, sobre ellos se han desarrollado la mayoría de los SMBD. Ellos son: el modelo de
jerárquico, el modelo redes, el modelo relacional, el modelo orientado por objetos y el objeto-
relacional. Al igual que los anteriores, ellos serán vistos en detalle en las secciones siguientes.
Los Modelos de Datos y el Modelo Objeto-Relacional                              Página 3 de 27
                                 1.- Modelos semánticos

Muchos modelos semánticos han sido propuestos, pero pocos de ellos han atraído el interés de los
desarrolladores de sistemas de base de datos, esto tal vez es debido a la complejidad de tales
modelos y a su dificultad para ser plasmados con los modelos básicos actuales. La mayoría de los
conceptos del modelado semántico de datos han sido muy bien representados en el modelo ERE, el
cual goza de gran prestigio y popularidad en el ambiente comercial, jugando un rol muy importante
en la mayoría de las herramientas CASE (Computer Aided Software Engineering).

Modelo Entidad-Relación-Extendido (ERE)

El modelo Entidad-Relación (E-R) propuesto por P. Chen en [CHE-76] fue la primera versión del
modelo ERE. Dicha primera versión se fue modificando con el paso del tiempo debido a la
necesidad de tener constructos mas adecuados para la gran diversidad de aplicaciones que existen
hoy en día en el área de las bases de datos.

Así, la proposición de P. Chen ha sido modificada y enriquecida semánticamente por otros autores.
Debido al gran poder expresivo que tiene hoy en día, este modelo es el primero en popularidad y en
utilización en la etapa de diseño conceptual de base de datos. En este modelo se emplea el enfoque
de diseño de arriba-hacia-abajo y los conceptos de abstracción de datos.

El modelo ERE representa la información por medio de tres conceptos básicos: entidades,
relaciones y atributos. Su principal objetivo es producir vistas conceptuales de los datos de la
aplicación. Cada vista se expresa en términos de los conceptos básicos ilustrados en los diagramas
ERE. El modelo está basado en la teoría de conjuntos y en la de las relaciones.

Entidad, según el diccionario Larousse, es "lo que constituye la esencia del ser // colectividad
considerada como una unidad". Para los efectos de las aplicaciones en base de datos

               Una entidad puede ser un objeto como: una casa, una planilla, un
               carro, etc.; un sujeto como una persona; o un evento o actividad
               como: un partido de football, un viaje, etc.

Las entidades se agrupan en conjuntos denominados conjunto entidad y se representan en los
diagramas ERE como un rectángulo con el nombre del conjunto entidad dentro. La figura 2 muestra
un ejemplo de dicha representación.




Figura 2. Conjuntos entidad en los diagramas ERE.

Una misma entidad puede pertenecer a varios conjuntos entidad. Por ejemplo, un médico
hospitalizado pertenece a los conjuntos entidad paciente y médico.

Una relación es una asociación entre dos o más entidades de un mismo tipo o de tipos diferentes.
Las relaciones o asociaciones también se agrupan en conjuntos, recibiendo el nombre de conjunto
relación.
Los Modelos de Datos y el Modelo Objeto-Relacional                               Página 4 de 27
Los conjuntos relación se representan gráficamente por medio de un rombo que encierra el nombre
asociado al conjunto relación especificado.

Ejemplos de estos son: propietario que asocia un automóvil a un empleado, dicta que asocia un
profesor con una asignatura, etc.

La figura 3 ilustra el conjunto relación propietario.




Figura 3. Conjunto relación en los diagramas ERE.

La figura anterior también muestra los tipos de correspondencia entre los conjuntos entidad
asociados por el conjunto relación propietario y la cardinalidad de dicha relación.

Los tipos de correspondencia se refieren al número de entidades involucradas en la relación, en un
sentido y en el sentido contrario. Así:

       1:1 Una entidad del conjunto entidad 1 (C-E1) está asociada a una única entidad del C-E2.

       1:N o N:1 Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 o
       viceversa.

       N:M Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 y viceversa.

La cardinalidad de la relación o asociación entre dos entidades expresa el número mínimo y
máximo de entidades relacionadas a través del conjunto relación, así en la figura 3 un empleado
puede ser propietario de ninguno o hasta 4 automóviles y un automóvil puede tener como
propietario uno y solo un empleado, esto implica que en la BD no hay ningún automóvil sin
propietario, pero si hay empleados que no tienen automóvil.

Una entidad se describe por medio de sus atributos y una relación puede también ser descrita por
medio de atributos. Un atributo es una característica o propiedad específica de una entidad o de
una relación. Cada atributo se identifica con un nombre y se le asocia un dominio de valores
posible que puede tener en un momento particular.

Los atributos se expresan en el modelo E-R con nombres que etiquetan las aristas entre el conjunto
entidad o relación a que pertenecen y el dominio asociado al mismo.

Los dominios se expresan con óvalos identificados con un nombre, que es el nombre del dominio.
La figura 4 completa el diagrama mostrado en la figura anterior.
Los Modelos de Datos y el Modelo Objeto-Relacional                                  Página 5 de 27




Figura 4. Atributos, dominios y claves en un diagrama ERE.

Una clave o llave de un conjunto entidad o relación es un grupo de uno o más atributos que
identifican unívocamente cada entidad o relación del conjunto.

La clave de un conjunto relación es siempre la concatenación de las claves de los conjuntos entidad
que ella asocia.

En la figura 4 se observan las claves de cada conjunto entidad y de la relación propietario.

Un conjunto entidad es débil si su existencia depende de otro conjunto entidad. De igual manera,
un conjunto relación es débil si él depende de otro.

La figura 5 presenta un ejemplo de diagrama donde se observan ambos casos.

Un objeto del conjunto entidad objeto existe en la BD si existe la entidad vista del conjunto entidad
vista. Asimismo, la relación clave-obj existe si la relación vista-obj existe.
Los Modelos de Datos y el Modelo Objeto-Relacional                                Página 6 de 27




Figura 5. Entidades y relaciones débiles en un diagrama ERE.

Un conjunto entidad puede especializarse en otros conjuntos entidad mostrando los diferentes tipos
de ese conjunto entidad.

Asimismo, varios conjuntos entidad pueden generalizarse en un conjunto entidad genérico, en cuyo
caso el proceso de abstracción realizado se denomina generalización y en el primer caso se
denomina especialización.

Sin importar el proceso de abstracción realizado, el hecho es que existe en el diagrama un conjunto
entidad que es una superclase de otros conjuntos entidad denominados subclases, los cuales
heredan de la superclase todos sus atributos.

La herencia puede ser simple o múltiple, bien sea que herede de un solo conjunto entidad o de
varios, respectivamente.

La herencia también puede ser parcial o total, en caso que la extensión de la superclase tenga un
número de entidades diferente a la suma del número de entidades de sus subclases o que ese número
sea igual, respectivamente.

Gráficamente la herencia parcial se representa con una arista simple, la total con doble arista y la
conexión entre superclases y subclases se realiza con un círculo si hay más de una subclase,
llevando siempre un arco que intersecta la arista para indicar cual es la subclase.
Los Modelos de Datos y el Modelo Objeto-Relacional                               Página 7 de 27
Se puede dar el caso que las entidades de las extensiones de las subclases se solapen, lo cual se
expresa en el diagrama colocando una o en el círculo, indicando la conjunción de las entidades, si
ese no es el caso, pues las extensiones de las subclases son disjuntas, entonces se coloca una d
indicando la disyunción de las extensiones.

Un caso especial denominado categoría se presenta cuando una entidad de un conjunto entidad
puede ser una entidad heredada de 2 o más conjuntos entidad diferentes, pero cuyos atributos no se
concatenan, pues la entidad en la categoría puede ser una y solo una de las entidades de cualquiera
de las superclases.

La categoría se presenta en el diagrama colocando en el círculo una U. La figura 6 muestra dos
ejemplos de categorías, uno donde un dueño puede ser una persona, un banco o una compañía y el
otro donde una propiedad puede ser un edificio o un lote de terreno.




Figura 6. Categorías y herencia en diagramas ERE.

                                    2. Modelos básicos

Son los modelos sobre los que se han desarrollado la mayoría de los SMBD, estos son:

   •   Jerárquico y redes
   •   Relacional
   •   Orientado por objetos
   •   Objeto-Relacional
Los Modelos de Datos y el Modelo Objeto-Relacional                                 Página 8 de 27
2.1. Modelos jerárquico y redes

El modelo jerárquico está definido sobre la base de los conceptos básicos siguientes:

   •   Campo: es la unidad de datos que posee un nombre.
   •   Segmento: es una colección de campos consecutivos en la base de datos que posee un
       nombre y que constituye la unidad de intercambio entre la BD y los PA. Los segmentos
       están ligados por asociaciones 1:N donde un segmento padre tiene N segmentos hijos, bien
       sea en el ámbito de tipos o de ocurrencias, formando así un árbol de segmentos.
   •   Árbol de segmentos: es una colección de segmentos ligados por asociaciones padre – hijos,
       organizados bajo la forma de una jerarquía.
   •   Base de datos jerárquica: es una BD compuesta de un bosque de segmentos. Ella se
       representa con árboles de segmentos cuyos nodos son los segmentos y las aristas indican las
       asociaciones 1:N.

La figura 7 muestra un ejemplo de una BD jerárquica para el control de las publicaciones de una
librería.




Figura 7. Base de datos jerárquica para el control de publicaciones.

El mejor SMBD que representa este tipo de BD es un producto IBM denominado IMS/VS
(Information Management System/Virtual Storage) cuya primera versión aparece en 1968. Para
ejemplificar el nivel de detalle que debe ser usado en estos sistemas, se incluye la definición de la
BD anterior en el lenguaje de definición de datos del IMS. En ella se observa que el ABD debe
llevar el control de los campos al nivel de bytes de inicio y de longitud en bytes.

   1. DBD NAME = Publica
   2. SEGM NAME = Tema, BYTES = 44
   3. FIELD NAME = (NumTema, SEQ), BYTES = 4, START = 1
   4. FIELD NAME = NomTema, BYTES = 40, START = 5
   5. SEGM NAME = Publicacion, PARENT = Tema, BYTES = 96
   6. FIELD NAME = (ISBN, SEQ), BYTES = 16, START = 1
   7. FIELD NAME = Titulo, BYTES = 80, START = 17
   8. SEGM NAME = Editorial, PARENT = Pub, BYTES = 40
   9. FIELD NAME = (AñoPub, SEQ), BYTES = 4, START = 1
   10. FIELD NAME = Editorial, BYTES = 34, START = 5
   11. FIELD NAME = NroVolEditados, BYTES = 2, START = 39
Los Modelos de Datos y el Modelo Objeto-Relacional                                 Página 9 de 27
   12. SEGM NAME = Autor, PARENT = Pub, BYTES = 256
   13. FIELD NAME = (NomAut, SEQ), BYTES = 20, START = 1
   14. FIELD NAME = Direccion, BYTES = 236, START = 21

El modelo de redes propuesto por el grupo DBTG de CODASYL está definido siguiendo los
conceptos básicos dados a continuación:

   •   Atomo o item de dato: es la unidad de datos que posee un nombre.
   •   Agregado de datos: es una colección de átomos arreglados consecutivamente en la base de
       datos que posee un nombre. Ellos son de dos tipos: vectores o arreglos unidimensionales y
       grupos repetitivos.
   •   Registro: es una colección de agregados y de átomos consecutivos en la base de datos y que
       constituyen la unidad de intercambio entre la BD y los PA.
   •   Conjunto: es la asociación entre un registro propietario y n registros miembros. Las
       limitaciones del modelo hacen que un registro o tipo de registro no pueda ser propietario y
       miembro a la vez en el mismo conjunto y que una ocurrencia de un registro no pueda
       pertenecer a varias ocurrencias del mismo conjunto.
   •   Base de datos en redes: es una BD compuesta de registros ligados o asociados entre ellos
       por los conjuntos. Ella se representa a nivel de tipo con un grafo de tipos de registros cuyos
       nodos son los tipos de registros y las aristas son los tipos de conjuntos orientados del
       propietario hacia los miembros.

La figura 8 muestra un ejemplo de una BD en redes para una compañía productora de vinos.




Figura 8. Base de datos vinícola en redes.
Los Modelos de Datos y el Modelo Objeto-Relacional                                    Página 10 de 27
2.2. Modelo relacional

Fue propuesto por E. Codd en 1970 [Cod-70] cuando trabajaba para IBM-San José. El modelo está
basado en la teoría de normalización de las relaciones, que permite eliminar el comportamiento
anormal de las relaciones, luego de actualizaciones, así como el control de la redundancia de datos.

Conceptos básicos

Los conceptos básicos del modelo son:

Dominio:
     es un conjunto de valores

Ejm: D1 = {´rojo`, ´verde`, ´negro`, ´azul`} D2 = {`ford´, ´chevrolet`, ´fiat`, ´toyota`, ´renault`}

Relación:
       es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente
       disjuntos.

Ejm: R1 = {(´rojo`,`ford´), (´verde`,`ford´), (´negro`, ´chevrolet`), (´azul`, ´toyota`)}

R2 = {(´fiat`, ´verde`)}

R3 = { }

                           R                D1                 D2
                                            ´verde`            ´ford`
                                            ´azul`             ´fiat`
Atributo:
      es la columna de una relación identificada con un nombre.

Ejm:

                           R                color              marca
                                            ´verde`            ´ford`
                                            ´azul`             ´fiat`

Esquema de una relación o de tabla:

       Es el nombre de la relación seguido de la lista de sus atributos con sus dominios. Un
       esquema de relación se puede representar por intensión o por extensión.
Los Modelos de Datos y el Modelo Objeto-Relacional                               Página 11 de 27
Esquema de Carro por intensión:

        Carro(placa, marca, modelo, color)
        Esquema de Carro por extensión:

                                 tabla ↓              columna ↓
        Carro            placa             marca             modelo          color
        fila o tupla →   ´LGR889`          ´toyota`          ´corollaXL`     ´azul`
                         ´LAB110`          ´ford`            ´sierra280es`   ´verde`
                         ´XSG230`          ´fiat`            ´siena`         ´azul`

Base de datos relacional:

        Es una base de datos cuyo esquema es un conjunto de esquemas de relación de diferente
        nombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones.

Reglas de formación

   1.  Cada relación o tabla contiene un solo tipo de fila o tupla.
   2.  Cada tupla tiene un número fijo de atributos o columnas.
   3.  No se permiten atributos compuestos o grupos repetitivos.
   4.  Cada tupla es única y se identifica con su clave primaria.
   5.  Un atributo o grupo de ellos que identifiquen unívoca e inequívocamente cada tupla de la
       relación es una clave candidata.
   6. La clave primaria de una relación se selecciona entre las claves candidatas.
   7. Si un atributo A ∈ R1 es también la clave primaria de R2, entonces A es un atributo foráneo
       de R1.
   8. El orden de las tuplas en la relación es irrelevante.
   9. Los valores de los atributos deben pertenecer al dominio de cada atributo definido en ella.
   10. Un mismo dominio puede ser usado por diferentes atributos.
   11. A partir de una o más tablas se pueden producir nuevas tablas diferentes mediante el uso de
       las operaciones del álgebra relacional.

Reglas de integridad

   •    De la relación: ningún componente de un valor de los atributos que conforman la clave
        primaria puede ser nulo.
   •    De referencia: sea A la clave primaria de R1 y también un atributo foráneo de R2, entonces
        para toda tupla de R2 donde A ≠ nulo debe existir la tupla correspondiente en R1.
   •    De los valores de un atributo: son los predicados definidos por el administrador de bases
        de datos sobre los valores de los atributos usando el lenguaje de definición de datos.
Los Modelos de Datos y el Modelo Objeto-Relacional                                                 Página 12 de 27
Ejemplo:
   fechaInicio ≤ fechaFin                                      restricciones de integridad de
   fechaInscripción ≤ fechaInicio                              los valores de los atributos.
          Semestre      código                fechaInicio              fechaFin             fechaInscripción
          tupla →       ´A98`                 02/03/98                 17/07/98             22/2/98
                        ´B98`                 14/09/98                 30/01/99             07/09/98
                        ´A99`                 15/03/99                 23/07/99             08/03/99

Ejemplo de una base de datos relacional

Cliente( codCli, nombre, balance, límiteCrédito, descuento)

Envio( dirección, codCli)

Pedido( codPed, línea, dirEnvio, codArt, cantidadPedida, cantidadEnviada)

Artículo( codArt, nomArt, descripción)

Inventario( codArt, codPlanta, cantidadExistencia, riesgo)

  Atributo              Descripción                                      Dominio
  codCli                Código del cliente                               Cadena(4)
  nombre                Nombre del cliente                               Cadena(40), sub(nombre,i,1)∈ {letras}
  balance               Balance actual de la cuenta del cliente          Real
  límiteCrédito         Límite de crédito actual del cliente             Real siempre positivo
  descuento             Descuento actual que se le aplica al cliente     Real siempre positivo
  dirección, dirEnvio   Dirección de envío del cliente (un cliente Cadena(80),sub(dirección,i,1)∈          {letras}∪
                        puede tener varias)                        {/,-,’} con i desde 1 hasta 80
  codPed                Código de pedido                                 Cadena(6)
  línea                 Línea del pedido                                 Entero corto siempre positivo
  cantidadPedida        Cantidad pedida del artículo                     Entero siempre positivo
  cantidadEnviada       Cantidad enviada del artículo                    Entero siempre positivo
  codArt                Código del artículo                              Cadena(6)
  nomArt                Nombre del artículo                              Cadena(20),sub(nomArt,i,1)∈ {letras}
  descripción           Descripción del artículo                         Cadena(255), sub(descripción,i,1)∈ {letras}
  codPlanta             Código de la planta que tiene el artículo        Cadena(2)
  cantidadExistencia    Cantidad actual en existencia del artículo       Entero siempre positivo
  riesgo                Cantidad mínima del artículo en inventario       Entero siempre positivo


Restricción de integridad: cantidadPedida ≥ cantidadEnviada ≤ cantidadExistencia
Los Modelos de Datos y el Modelo Objeto-Relacional                              Página 13 de 27
2.3. Objeto-relacional

Este modelo es básicamente el mismo modelo relacional extendido con algunas facilidades del
modelo orientado por objetos, a saber:

          •   Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que
              deben ser soportados por el propietario del tipo, esto es debe definir al menos dos
              métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que
              convierte de ASCII al nuvo tipo. Se soportan tipos complejos como: registros,
              conjuntos, referencias, listas, pilas, colas y arreglos.
          •   Se pueden crear funciones que tengan un código en algún lenguaje de programación,
              por ejemplo: SQL, Java, C, etc.
          •   Se pueden crear operadores asignándole un nombre y asociandoselo a una función ya
              definida o creada con anterioridad.
          •   Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro.
          •   Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de
              los triggers.
          •   Soporte adicional para seguridad y activación de la versión cliente-servidor.

2.4. Transformación de modelos de alto a bajo nivel

Las reglas de transformación del modelo ERE al modelo relacional son las siguientes:

          1. Cada conjunto entidad se convierte en un esquema de relación constituido por todos
             los atributos del conjunto entidad. Cada tupla en la relación es una entidad del
             conjunto entidad. La clave primaria de la relación es la misma del conjunto entidad.
             Ejemplo: Usuario(codUs, nomUs, apeUs, depUs)




          2. Cada conjunto relación entre los conjuntos entidades que asocia se convierte en un
             esquema de relación cuya clave primaria es la concatenación de las claves primarias
             de los conjunto entidad que ella asocia y sus atributos no clave son los mismos del
             conjunto relación tratado. Ejemplo: Prestamo(codLib, codUs, fechaPres, fechaEntre)
Los Modelos de Datos y el Modelo Objeto-Relacional                              Página 14 de 27




         3. Los conjuntos de valores del diagrama ERE se convierten en los dominios del
            modelo relacional.
         4. Los conjunto entidades débiles se convierten en esquemas de relación con clave
            primaria igual a la concatenación de la clave primaria del conjunto entidad fuerte del
            cual depende con algún atributo propio del conjunto entidad débil que sirva para
            identificar unívocamente cada tupla de la relación.
         5. Cada especialización es una tabla con los atributos de la especialización y con clave
            la del conjunto entidad general. Ejemplo: TrabajadorUniv(ced, nombre. apellido,
            fechaIngreso), Profesor(ced, catego, dedicac, fechaCatego, fechaDedicac),
            Empleado(ced, grado, fechaGrado, paso)




         6. Una categoría es una subclase de la unión de dos o más superclases, por lo que se
            crea una clave para la categoría, y se coloca en las tablas de las superclases, si ellas
            tienen diferentes esquemas. Si las superclases tienen la misma clave, no es necesario
            utilizar la clave nueva o clave sustituta. Ejemplo: Persona(cedId, nombre, apellido,
            fechaNac, direccion, telefono, idDue), Banco(codBan, nombre, direccion, telefono,
            idDue), Compañía(codCom, nombre, direccion, telefono, idDue) con la categoría
            Dueño(idDue)
Los Modelos de Datos y el Modelo Objeto-Relacional                                 Página 15 de 27




Reglas adicionales en caso de convertir el modelo ERE al modelo objeto-relacional:

2.5. Enfoque por descomposición

Consiste en definir relaciones universales compuestas de todos los atributos de la base de datos y
luego descomponerlas, utilizando el proceso de normalización en subrelaciones que no sufren
anomalías.

   •   Enfoque por descomposición: es un proceso de refinamiento paso a paso que lleva al
       aislamiento de las entidades y asociaciones del mundo real [Cod-79].

La teoría de la descomposición de las relaciones se basa en el uso de dos operaciones fundamentales
del álgebra relacional, a saber:

   •   Proyección: La proyección de una relación R(A1, A2, ..., An) sobre los atributos Ai1, Ai2, ...,
       Aip, con ij ≠ ik, es una relación R’ con esquema R’(Ai1, Ai2, ..., Aip) obtenida por eliminación
       de los valores de los atributos de R que no están en R’ y la supresión de las tuplas
       duplicadas.

       Notación: Π Ai1, Ai2, ..., Aip ( R )

       Ejemplo: Si se tiene la relación Carro(placa, marca. modelo, color) la proyección sobre
       placa y marca de Carro es la relación R’ cuyo esquema está conformado por placa y marca.
Los Modelos de Datos y el Modelo Objeto-Relacional                                        Página 16 de 27
       R’ = Π placa, marca ( Carro )


       R’’ = Π marca, color ( Carro )

       Si Carro contiene las tuplas siguientes:

       Carro              placa           marca                   modelo              color
                          `LAB384’        ‘ford’                  ‘escortXR-31’       ‘verde’
                          ‘LAM112’        ‘toyota’                ‘corollaXL’         ‘azul’
                          ´LGR889`        ´toyota`                ´corollaXL`         ´azul`
                          ´LAB110`        ´ford`                  ´sierra280es`       ´verde`
                          ´XSG230`        ´fiat`                  ´siena`             ´gris`

       Entonces R’ y R’’ contendrán:

       R’      placa         marca                 R’’   marca               color
               `LAB384’      ‘ford’                      ‘ford’              ‘verde’
               ‘LAM112’      ‘toyota’                    ‘toyota’            ‘azul’
               ´LGR889`      ´toyota`                    ´fiat`              ´gris`
               ´LAB110`      ´ford`
               ´XSG230`      ´fiat`

   •   Reunión natural: El producto, reunión o acoplamiento de dos relaciones R y S cuyos
       esquemas son R(A1, A2, ..., An) y S(B1, B2, ..., Bp) es una relación T con atributos que son la
       unión de los atributos de R y de S para las tuplas obtenidas por concatenación de las tuplas
       de R y S que tengan los mismos valores para los atributos de igual nombre.

       Notación: T = R            S
Los Modelos de Datos y el Modelo Objeto-Relacional                                 Página 17 de 27
       Ejemplo: Si se tiene T’ = R’         R’’

                 T’            placa                marca            color
                               `LAB384’             ‘ford’           ‘verde’
                               `LAB384’             ‘ford’           ´gris`
                               ‘LAM112’             ‘toyota’         ‘azul’
                               ‘LGR889’             ‘toyota’         ‘azul’
                               ´ LAB110`            ´ ford `         ´verde`
                               ´LAB110`             ´ford`           ´gris`
                               ´XSG230`             ´ford`           ´verde`
                               ´XSG230`             ´ford`           ´gris`

   •   Descomposición: es el reemplazo de una relación R(A1, A2, ..., An) por una colección de
       relaciones R’1, R’2, ..., R’n obtenidas de las proyecciones de R y tal que la relación resultado
       de las reuniones R’1       R’2      ...     R’n tiene el mismo esquema que R.

       Ejemplo: R1 = Π placa, modelo, color ( Carro )


       R2 = Π modelo, marca ( Carro )

       R’        R’’ ≠ Carro pero R1          R2 = Carro

   •   Descomposición sin pérdida: Es la descomposición de una relación R en R’1, R’2, ..., R’p
       tal que para toda extensión de R se tiene que:

                              R = R’1         R’2              ...   R’p

El problema de la concepción de bases de datos relacionales se reduce a la descomposición sin
pérdida de las relaciones universales con todos sus atributos en subrelaciones que no contengan
anomalías.

2.6. Normalización

El esquema relacional es un modelo de la realidad bajo la forma de una colección de relaciones, el
cual debe ser construído con el fin de que:

   a. la creación, modificación y supresión de datos sean eficaces. Para ello, es indispensable
      eliminar toda redundancia innecesaria. Idealmente, se desea que ante cualquier evento que
      ocurra en la realidad, éste se traduzca en el manejo de una sola tupla en la extensión del
      modelo relacional.
   b. la modificación del esquema relacional por la evolución de la percepción de la realidad, sea
      lo más simple posible.
   c. la comprensión de la realidad sea facilitada por el esquema.
Los Modelos de Datos y el Modelo Objeto-Relacional                                   Página 18 de 27
   •   Dependencias funcionales:

Sea R(A1, A2, ..., An) y X y Y dos subconjuntos del conjunto formado por {A1, A2, ..., An} . Se dice
que X → Y (X determina a Y o que Y depende funcionalmente de X) si para toda extensión r de R
y para toda tupla t1 y t2 de r se tiene que: Π X ( t1 ) = Π X ( t2 ) implica que Π Y ( t1 ) = Π Y ( t2 )

Ejemplo:

   1. placa → marca

       placa → modelo

       placa → color

       placa → (marca, modelo)

       modelo → marca

   2. (codigoMateria, cedulaEstudiante, semestre, año, sección) → nota

       Considerando varias secciones en una misma asignatura y la posibilidad de repitencia de un
       estudiante en una sección de una asignatura.

Las dependencias funcionales, en adelante DF, se identifican mirando atentamente el significado de
los atributos, no sus valores actuales, sino todos los valores posibles de ellos. Las DF deben
aparecer en el esquema conceptual de una BD.

   •   Propiedades de las DF:
          1. Reflexibidad: Si Y ⊆ X ⇒ X → Y.

               Ejemplo: color → color y (marca, modelo) → marca

           2. Aumento: Si X → Y ⇒ X Z → Y Z

               Ejemplo: modelo → marca ⇒ (modelo, color) → (marca, color)

           3. Transitividad: Si X → Y y Y → Z entonces X → Z

               Ejemplo: placa → modelo y modelo → marca ⇒ placa → marca

           4. Aditividad: Si X → Y y Y → Z entonces X → Y Z

               Ejemplo: placa → modelo y modelo → marca ⇒ placa → (modelo, marca)

           5. Pseudo-transitividad: Si X → Y y X W Y → Z entonces W Y → Z

               Ejemplo: placa → modelo y (marca, modelo) → potencia ⇒ (placa, marca) →
               potencia

           6. Descomposición: Si X → Y y Z ⊆ Y entonces X → Z
Los Modelos de Datos y el Modelo Objeto-Relacional                                Página 19 de 27
               Ejemplo: placa → (modelo, marca) y modelo ⊆ (modelo, marca) ⇒ placa → modelo

   •   Dependencias funcionales elementales:

Una dependencia funcional elemental, en adelante DFE, es una DF de la forma X → A, donde A es
un atributo único no incluído en X y donde no existe un X' ⊂ X tal que X' → A

Ejemplo: placa →DFE modelo, pero

placa →no es DFE (modelo, marca)

La regla de inferencia que se aplica a las DFE es la transitividad. Las DFE se expresan en un grafo
de DFE donde los nodos son los atributos y las aristas son las DFE. En caso de tener más de un
atributo en la parte izquierda de la DFE, ésta se expresa colocando una línea que acoja las aristas de
todos los atributos de la parte izquierda y de ella sale una arista al atributo de la parte derecha,
convirtiendo así el grafo de DFE en una red de DFE. Un ejemplo de grafo y de red de DFE se
muestra en la figura 9.




Figura 9. (a) Grafo de DFE. (b) Red de DFE.

A partir de las DFE se pueden componer otras DFE utilizando la propiedad de transitividad. El
conjunto completo de todas las DFE se denomina cierre transitivo, formalmente se define como el
conjunto de las DFE consideradas, enriquecidas con todas las DFE deducidas por transitividad.
Notación: C+. Ejemplo: Para la relación Carro se tiene: C+ = {placa → marca, placa → modelo,
placa → color, modelo → marca }

A partir de C+ se define la equivalencia de dos conjuntos de DFE. Dos conjuntos de DFE son
equivalentes si tienen la misma C+.

   •   Cobertura mínima: es el conjunto C de DFE asociado a un conjunto de atributos que
       verifican las propiedades siguientes:
Los Modelos de Datos y el Modelo Objeto-Relacional                              Página 20 de 27
   a. ninguna DF es redundante en C, es decir para toda DF denotada f de C, C - f no es
      equivalente a C.
   b. toda DFE de los atributos está dentro de C+.

Ejemplo: C = {placa → modelo, placa → color, modelo → marca }

C es esencial para la descomposición sin pérdida.

   •   Clave de una relación: es el conjunto X de atributos de una relación R(A1, A2, ..., An) tal
       que:
          a. X → A1, A2, ..., An
          b. no existe un subconjunto Y ⊂ X tal que Y → A1, A2, ..., An

Pueden existir varios atributos que cumplan con esta definición dentro de una misma relación, ellos
serán denominados claves candidatas y se escogerá entre las mismas una única clave primaria.
Dentro de una relación, la clave primaria se subraya.

Formas normales

El objetivo de las tres primeras formas normales es permitir la descomposición de relaciones sin
pérdida de información, a partir de las DFE y obtener así el esquema conceptual relacional
normalizado.

   •   Primera forma normal (1FN): Una relación está en 1FN si todo atributo contiene un valor
       atómico.

       Ejemplo:

           •   Persona(cedula, nombre, apellido, sexo, telefono, direccion)

               los primeros cinco atributos son atómicos y el atributo direccion puede ser
               considerado atómico en aquellas aplicaciones donde esta columna no va a ser
               utilizada como un atributo de búsqueda, lo que implica que la relación Persona está
               en 1FN.
Los Modelos de Datos y el Modelo Objeto-Relacional                                Página 21 de 27
          •   Estudiante(cedula, apellido, nombre, escuela, materias, notas)

              es claro que los primeros cuatro atributos son atómicos, pero también es claro que
              los dos últimos no lo están, por lo tanto la relación no está en 1FN. Para convertirla a
              1FN se proyecta en dos relaciones, obteniendo:

              Estudiante(cedula, apellido, nombre, escuela)

              Cursa(cedula, materia, nota)

   •   Segunda forma normal (2FN): Una relación está en 2FN si y solo si:

   1. la relación está en 1FN
   2. todo atributo que no pertenece a una clave no puede depender de una parte de esa clave.

       Ejemplo:

          •   Proveedor(codProv, codArt, dirProv, precio)

              Ella está en 1FN considerando la dirección como una columna atómica, pero dadas
              las DFE siguientes: (codProv, codArt) → precio y codProv → dirProv, ella no está
              en 2FN, pues hay un atributo no clave (dirProv) que depende de una parte de la
              clave. Para normalizarla se proyecta en dos relaciones:

              Proveedor(codProv, dirProv)

              ProveeArticulos(codProv, codArt, precio)

          •   Carro(placa, marca, modelo, color)

              está en 2FN.

La segunda forma normal permite eliminar las redundancias para que ningún atributo esté
determinado por una parte de una clave.

   •   Tercera forma normal (3FN): Una relación está en 3FN si y solo si:

   1. la relación está en 2FN
   2. todo atributo que no pertenece a la clave no depende de un atributo que no es clave.
Los Modelos de Datos y el Modelo Objeto-Relacional                               Página 22 de 27
       Ejemplo:

          •    Carro(placa, marca, modelo, color)

               está en 2FN, pero no en 3FN ya que se tiene la DFE modelo → marca. Para
               normalizarla se proyecta en dos relaciones:

               Carro(placa, modelo, color)

               ModelosDeCarros(modelo, marca)

La tercera forma normal permite asegurar la eliminación de redundancias debidas a las
dependencias transitivas.

   •   Descomposición que preserva las dependencias funcionales: la descomposición {R1, R2,
       ..., Rn} de una relación R preserva las DF de R, si C+ de R es la misma que la de la unión de
       las DF de {R1, R2, ..., Rn}.

Toda relación R tiene al menos una descomposición en 3FN tal que:

   1. la descomposición preserve las DF.
   2. la descomposición sea sin pérdida.

Algoritmo de descomposición en 3FN:

Este algoritmo propuesto por Bernstein en 1976 se basa en el principio siguiente: Se construye la
cobertura mínima C y a partir de la misma se editan los atributos aislados, considerándolos como
claves, luego se busca el conjunto más grande X de atributos que determine a otros A1, A2, ..., An
con n ≥ 1 y como salida se genera la relación (X, A1, A2, ..., An). Las DFE utilizadas en la
formación de esa relación se eliminan de C y todos los atributos aislados que no estén en las DFE
que quedaron en C.

       Procedimiento Normalizar3FN( DFE )

          1.   C = cobertura mínima de las DFE
          2.   At = Obtener los atributos aislados que pertenecen a C
          3.   reducir(C, At)
          4.   formar una R con los atributos restantes en At, si los hay
          5.   fin del procedimiento
Los Modelos de Datos y el Modelo Objeto-Relacional                            Página 23 de 27
       Procedimiento reducir( C, At )

          1. repita mientras que una DFE en C no incluya todos los atributos o C esté vacío
                 1. buscar el conjunto más grande de atributos X tal que X → A1, ..., X → Ak
                 2. formar la relación R(X, A1, A2, ..., Ak)
                 3. eliminar de C las DFE utilizadas en R
                 4. eliminar de At los atributos que no pertenezcan ya a C
                 5. reducir(C, At)

             fin del repita mientras

          2. regresar

Un esquema normalizado hasta 3FN debe cumplir con el juramento siguiente:




   •   Forma normal de Boyce-Codd (FNBC): Una relación está en FNBC si y solo si las solas
       DFE son aquellas dentro de las cuales una clave determina un atributo.

       Ejemplo:
          Examen(cedEst, codMat, cedProf, nota)               está en 3FN
          (cedEst, codMat) → cedProf                          no está en FNBC si
          cedProf → codMat                                    cada profesor dicta
          (cedEst, codMat) → nota                             una única materia
Los Modelos de Datos y el Modelo Objeto-Relacional                               Página 24 de 27
       Para resolver el problema se proyecta para que cumpla con la FNBC

          Examen(cedEst, codMat, nota)
          Dicta(codMat, cedProf)
          No se preserva la DFE (cedEst, codMat) → cedProf

       En general, la descomposición en FNBC es sin pérdida pero NO preserva las DFE, después
       ellas pueden obtenerse por reunión o producto.

   •   Dependencias multivaluadas (DM): Sea R(A1, A2, ..., A n) y X e Y dos subconjuntos de
       atributos de {A1, A2, ..., An}. Se dice que X -» Y, si dados los valores de X hay un conjunto
       de valores Y asociados y este conjunto es independiente de otros atributos Z = R – X – Y de
       R.

Las DM caracterizan la independencia entre Y y Z correlacionadas por X.

Las DF son un caso particular de las DM, por lo cual X → Y ⇒ X -» Y

   •   Dependencias multivaluadas elementales (DME): Una DME es una DM X -» Y de una
       relación R tal que:

   a. Y no es vacío y es disjunto de X
   b. R no contiene otra DM del tipo X’ -» Y’ tal que X’ ⊂ X y Y’ ⊂ Y

       Ejemplo: EstMatDeporte (nroEst, codMat, deporte)

              EstMatDeporte nroEst                codMat            deporte
                            105                   ‘PD10’            ‘tennis’
                            105                   ‘PD10’            ‘natación’
                            145                   ‘AL10’            ‘tennis’
                            145                   ´FI20’            ´futbol`

       nroEst -» codMat, nroEst-» deporte, pues un estudiante puede cursar varias materias y puede
       practicar varios deportes, pero codMat es independiente de deporte y en este caso solo están
       correlacionados a través de nroEst.

   •   Cuarta forma normal (4FN): Una R está en 4FN si y solo si las solas DME son aquellas
       donde una clave determina un atributo. Una R en 4FN está en 3FN y en FNBC.

       Ejemplo: EstMatDeporte (nroEst, codMat, deporte) no está en 4FN, por lo que se proyecta
       según sus DME como:

       Cursa(nroEst, codMat)

       Practica(nroEst, deporte)

   •   Teorema de Fagin (1979): R(A, B, C) se puede descomponer sin pérdida en R1(A, B) y
       R2(A, C) si y solo si se cumplen en R las DM A -» B | C. Demuestra que toda R tiene una
       descomposición, no siempre única, en 4FN sin pérdida de información.
Los Modelos de Datos y el Modelo Objeto-Relacional                              Página 25 de 27
Ejemplo: Curso(nomCur, prof, texto)

       Curso        nomCur            Prof           texto
                    ‘Estadística’     ‘Perez’        ‘Estadística I’
                    ‘Estadística’     ‘Perez’        ‘Introducción a la estadística’
                    ‘Estadística’     ‘Mendez’       ‘Estadística I’
                    ‘Estadística’     ‘Mendez’       ‘Introducción a la estadística’

       nomCur -» prof, nomCur-» texto

       Se proyecta como:

       TextoMateria(nomCur, texto)

       Dicta(nomCur, prof)

   •   Dependencias de productos (DP): Existen relaciones que no es posible descomponerlas en
       2 relaciones, pero si en 3, 4 o más relaciones. Sea R(A1, A2, ..., An) y X1, X2, ..., Xm
       subconjuntos de {A1, A2, ..., An}. Se dice que existe una DP simbolizada por *{X1, X2, ...,
       Xm} si R es el producto de sus proyecciones sobre X1, X2, ..., Xm, es decir si

               R = Π X1( R ) Π X2( R ) ... Π Xm( R )

       Ejemplo: Si el proveedor #E suministra la pieza #P y en el proyecto #J se usan piezas #P y
       el proveedor #E suministra piezas al proyecto #J, entonces #E suministra #P al proyecto #J.
       Suministro(#E, #P, #J) está en 4FN

                           Suministro        #E      #P         #J
                                             E1      P1         J2
                                             E1      P2         J1
                                             E2      P1         J1
                                             E1      P1         J1

       No está en 5FN pues #E -» #P, #P -» #J, #J -» #E, no es posible descomponerla en 2
       relaciones, pero si es posible en 3 relaciones, así:

        R1 #E         #P              R2        #P   #J        R3        #E        #J
             E1       P1                        P1   J2                  E1        J2
             E1       P2                        P2   J1                  E1        J1
             E2       P1                        P1   J1                  E2        J1
Los Modelos de Datos y el Modelo Objeto-Relacional                              Página 26 de 27
       Suministro ≠ R1           R2, Suministro ≠ R1              R3, Suministro ≠ R2         R3,
       Suministro = R1         R2        R3

   •   Quinta forma normal (5FN): Una relación R está en 5FN si y solo si toda DP está
       implicada por las claves candidatas de R.

       En la realidad no es común tener DP y es muy difícil darse cuenta de su existencia, por lo
       que Fagin en [Fag-79] presenta un algoritmo para probar si una DP está implicada por un
       conjunto de claves en R.

       2.7. Restricciones de integridad

       La integridad de los datos en bases de datos accedidas por procesos concurrentes debe ser
       asegurada, mediante la aplicación de restricciones y reglas que aseguren la concordancia de
       los datos que la base de datos modela con los del mundo real.

       Restricciones de integridad: Son aserciones que deben verificar los datos en instantes
       determinados.

       Bases de datos coherentes: Son bases de datos donde el conjunto de restricciones de
       integridad (explícitas o implícitas) se respeta a todo lo largo de la vida útil de la BD.

       Tipos de restricciones de integridad: Se tienen ocho tipos que son los siguientes:

          1. Restricciones de dominio o integridad de dominio: Están referidas al tipo de dato
             del atributo o columna. El valor que se puede asignar a una columna debe estar en el
             dominio especificado para dicha columna. Se permite a un dato estar marcado para
             contener un valor especial definido por el diseñador de la BD (NoDefinido), no
             contener valor alguno o contener el valor nulo si:
                 a. Existe la posibilidad de desconocer la información (nulo aplicable)
                 b. No tiene sentido asignar un valor del dominio (nulo inaplicable)

              Ejemplo: cant es de tipo Entero siempre positivo.
Los Modelos de Datos y el Modelo Objeto-Relacional                             Página 27 de 27
         2. Restricciones de rango o integridad de columna: Se refiere al intervalo de
            variación de los valores del dominio del atributo y de los tipos de datos definidos en
            el SMBD. Ejemplo: edad es de tipo Entero siempre positivo entre 0 y 120.
         3. Integridad de entidad o de dependencias funcionales: Se refiere al hecho de tener
            un atributo que está determinado por uno o varios atributos. Estas restricciones están
            aseguradas con la normalización de las tablas de la BD. Ningún componente de una
            clave primaria puede contener valores nulos. Ningún componente de una clave
            foránea debe permitir un valor nulo por inaplicable, aunque si puede permitir valor
            nulo por desconocimiento de información. Ejemplo: cedula determina edad.
         4. Dependencias multivaluadas: Son aquellas donde uno o varios atributos
            multideterminan un atributo. Estas están aseguradas con la normalización de las
            tablas de la BD. Ejemplo: cedulaEstudiante multidetermina deportePractica.
         5. Integridad referencial: Son las dependencias de inclusión en varias tablas o de
            claves foráneas. Para cada clave foránea debe existir un valor equivalente de una
            clave primaria y en el mismo dominio. Ejemplo: Se tienen las tablas Carro(placa,
            modelo, color) y ModeloMarca(modelo, marca), en ellas observamos que el atributo
            modelo es clave en la tabla ModeloMarca y está incluida en la tabla Carro, por tanto
            el atributo modelo es una clave foránea en la relación Carro.
         6. Restricciones aritméticas: Son las expresiones aritméticas que deben cumplir
            algunos atributos de una tabla o que involucra a varias tablas de la BD. Ejemplo: En
            la BD formada por las tablas siguientes:

            Producto(codPro, nomPro, cantExistencia, color)

            Venta(codVen, nomCli, codProVen, cantVen, fechaVen)

            Compra(codCom, fechaCom, codProCom, cantCom, nomProveedor)

            Para todo producto identificado con su código codPro de la tabla Producto, la
            cantExistencia debe ser mayor que la cantidad vendida cantVen para el producto
            codProVen, ya que no se puede vender una cantidad de producto mayor que la que se
            tiene en existencia.

         7. Valores invariantes que no son posibles de expresar en el esquema: Ejemplo:
            Tomando la BD descrita anteriormente, se tiene que en todo momento la cantidad
            comprada menos la cantidad vendida debe ser igual a la cantidad en existencia
            (cantCom - cantVen = cantExistencia), para cada producto presente en la BD.
         8. Restricciones temporales: Son aquellas aserciones que deben ser cumplidas
            periódicamente o en momentos específicos. Ejemplo: En una BD de trasacciones
            bancarias al finalizar cada mes, el saldo de cada cuenta debe ser igual a la suma de
            de depósitos en la cuenta menos la suma de los retiros de la cuenta.

Más contenido relacionado

La actualidad más candente

Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)michell_quitian
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datosani_tuza
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,Victor Mijangos
 
Unidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rUnidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rSebastian Perez
 
Fundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 MultiplexaciónFundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 MultiplexaciónJosé Antonio Sandoval Acosta
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - SemáforosJuan Rojas
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de ConmutaciónFundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de ConmutaciónJosé Antonio Sandoval Acosta
 
DeviceNet _ Basico e Intermedio con Ejemplos de Equipos
DeviceNet _ Basico e Intermedio con Ejemplos de EquiposDeviceNet _ Basico e Intermedio con Ejemplos de Equipos
DeviceNet _ Basico e Intermedio con Ejemplos de EquiposMarco Enrique Ramos Castillo
 
Estándares de transmisión de datos
Estándares de transmisión de datosEstándares de transmisión de datos
Estándares de transmisión de datosAnderson Rey
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relaciondanielglot
 
Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad karina maita
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 

La actualidad más candente (20)

Ejemplos de entidad relacion
Ejemplos de entidad relacionEjemplos de entidad relacion
Ejemplos de entidad relacion
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,
 
MODELO RELACIONAL
MODELO RELACIONALMODELO RELACIONAL
MODELO RELACIONAL
 
Unidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rUnidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e r
 
Fundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 MultiplexaciónFundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 Multiplexación
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de ConmutaciónFundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
 
DeviceNet _ Basico e Intermedio con Ejemplos de Equipos
DeviceNet _ Basico e Intermedio con Ejemplos de EquiposDeviceNet _ Basico e Intermedio con Ejemplos de Equipos
DeviceNet _ Basico e Intermedio con Ejemplos de Equipos
 
Estándares de transmisión de datos
Estándares de transmisión de datosEstándares de transmisión de datos
Estándares de transmisión de datos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad
 
El barbero-dormilón
El barbero-dormilónEl barbero-dormilón
El barbero-dormilón
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 

Destacado

Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacionalEduar Alfons Leon
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosFernando Baculima
 
MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL Poro Punk
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Residencia profesional saga medica
Residencia profesional saga medicaResidencia profesional saga medica
Residencia profesional saga medicaIndustria Web
 
Presentacion base de datos
Presentacion base de datosPresentacion base de datos
Presentacion base de datosjesanchez5
 
Base de datos orientado a objetos
Base de datos orientado a objetosBase de datos orientado a objetos
Base de datos orientado a objetosGema Intriago
 
Sistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacionalSistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacionalFlor de la Luz
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdIrene Lorza
 
Reglas de integridad bd relacional
Reglas de integridad bd relacionalReglas de integridad bd relacional
Reglas de integridad bd relacionalDenisse C
 
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)Ronald Rivas
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSmigmorbus1
 

Destacado (20)

Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datos
 
MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL
 
Modelo jerarquico
Modelo jerarquicoModelo jerarquico
Modelo jerarquico
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Presentación
PresentaciónPresentación
Presentación
 
Empresario modelo
Empresario modeloEmpresario modelo
Empresario modelo
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Residencia profesional saga medica
Residencia profesional saga medicaResidencia profesional saga medica
Residencia profesional saga medica
 
Presentacion base de datos
Presentacion base de datosPresentacion base de datos
Presentacion base de datos
 
Base de datos orientado a objetos
Base de datos orientado a objetosBase de datos orientado a objetos
Base de datos orientado a objetos
 
Sistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacionalSistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacional
 
Ejemplo de Modelos de Base de Datos
Ejemplo de Modelos de Base de DatosEjemplo de Modelos de Base de Datos
Ejemplo de Modelos de Base de Datos
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bd
 
Reglas de integridad bd relacional
Reglas de integridad bd relacionalReglas de integridad bd relacional
Reglas de integridad bd relacional
 
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOS
 

Similar a Los modelos de datos y el modelo objeto relacional

Similar a Los modelos de datos y el modelo objeto relacional (20)

Presen Clases Bdd Unidad 3
Presen Clases Bdd Unidad 3Presen Clases Bdd Unidad 3
Presen Clases Bdd Unidad 3
 
Modelos de bases de datos a
Modelos de bases de datos aModelos de bases de datos a
Modelos de bases de datos a
 
Modelos de bases de datos
Modelos de bases de datosModelos de bases de datos
Modelos de bases de datos
 
Extendido
ExtendidoExtendido
Extendido
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelos de bases_de_datos
Modelos de bases_de_datosModelos de bases_de_datos
Modelos de bases_de_datos
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Int_Bases_Datos_II.pdf
Int_Bases_Datos_II.pdfInt_Bases_Datos_II.pdf
Int_Bases_Datos_II.pdf
 
modelado de datos
modelado de datosmodelado de datos
modelado de datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Clase 2 -
Clase 2 -Clase 2 -
Clase 2 -
 
Clase2 modelo de-datos
Clase2 modelo de-datosClase2 modelo de-datos
Clase2 modelo de-datos
 
Clase2 modelo de-datos
Clase2 modelo de-datosClase2 modelo de-datos
Clase2 modelo de-datos
 
MODELO DE DATOS
MODELO DE DATOSMODELO DE DATOS
MODELO DE DATOS
 

Los modelos de datos y el modelo objeto relacional

  • 1. Los Modelos de Datos y el Modelo Objeto-Relacional Página 1 de 27 OBJETIVOS GENERALES: 1. Desarrollar habilidades en el modelado semántico de datos. 2. Lograr una visión general y una diferenciación clara entre los modelos de datos de alto nivel y los de bajo nivel. 3. Desarrollar habilidades en el diseño de bases de datos. CONTENIDOS: Tema 1.- Modelado semántico de datos • Modelo Entidad - Relación Extendido (E-R-E) Tema 2.- Modelos básicos • Jerárquico y redes • Relacional • Objeto-Relacional • Transformación de los modelos de alto nivel al esquema objeto-relacional • Enfoque por descomposición • Normalización o 1FN o 2FN o 3FN o 4FN o 5FN • Restricciones de integridad. Tema 3.- Lenguajes de consulta del modelo relacional y objeto-relacional • Algebra relacional y SQL3 (estático, dinámico, compuesto y recursivo) Reglas de integridad referencial o triggers • Cálculo relacional de tuplas y QUEL. • Cálculo relacional de dominios y QBE. Ejercicios resueltos y propuestos. ACTIVIDADES: 1. Realizar ejercicios prácticos en el modelado semántico de datos. 2. Realizar ejercicios prácticos con modelos básicos de datos. 3. Desarrollar ejercicios prácticos para transformar modelos de alto nivel a los de bajo nivel. 4. Diseñar bases de datos objeto-relacionales. INTRODUCCION: Los modelos de datos son medios formales para representar los datos asociados a una situación real y para manipular tal representación [DAT-93]. La figura 1 ilustra el concepto anterior. Las componentes de todo modelo de datos son las siguientes:
  • 2. Los Modelos de Datos y el Modelo Objeto-Relacional Página 2 de 27 Figura 1. Modelado de datos. • Las estructuras básicas son los elementos básicos o tipos de objetos que conforman el modelo. • Las reglas que es el conjunto de lineamientos que expresan las propiedades estáticas del modelo. Ellas son: o Las reglas de formación, y o Las restricciones. • Los operadores que permiten cambiar el estado de una base de datos modificando su contenido. Ellos están asociados a las propiedades dinámicas de los elementos. Los modelos de datos se pueden clasificar en: modelos de alto nivel o semánticos y modelos de bajo nivel o básicos. Los modelos semánticos capturan un mayor significado de los datos e intentan representar la estructura real de los datos independientemente de las características de almacenamiento, es decir ellos están orientados a las aplicaciones. Existen, hoy en día, numerosos y muy variados modelos semánticos, entre ellos se encuentran: el modelo Entidad-Relación de P. Chen en [Che-76], el modelo Entidad-Relación-Extendido (ERE) de Teorey et al. en [T-86] y el modelo IFO propuesto por Abiteboul en [ABI- ]. De modelos anteriores solo será tratado el segundo de ellos en detalle más adelante. Los modelos básicos constituyen el grupo de modelos que han sido diseñados orientándose al computador, sobre ellos se han desarrollado la mayoría de los SMBD. Ellos son: el modelo de jerárquico, el modelo redes, el modelo relacional, el modelo orientado por objetos y el objeto- relacional. Al igual que los anteriores, ellos serán vistos en detalle en las secciones siguientes.
  • 3. Los Modelos de Datos y el Modelo Objeto-Relacional Página 3 de 27 1.- Modelos semánticos Muchos modelos semánticos han sido propuestos, pero pocos de ellos han atraído el interés de los desarrolladores de sistemas de base de datos, esto tal vez es debido a la complejidad de tales modelos y a su dificultad para ser plasmados con los modelos básicos actuales. La mayoría de los conceptos del modelado semántico de datos han sido muy bien representados en el modelo ERE, el cual goza de gran prestigio y popularidad en el ambiente comercial, jugando un rol muy importante en la mayoría de las herramientas CASE (Computer Aided Software Engineering). Modelo Entidad-Relación-Extendido (ERE) El modelo Entidad-Relación (E-R) propuesto por P. Chen en [CHE-76] fue la primera versión del modelo ERE. Dicha primera versión se fue modificando con el paso del tiempo debido a la necesidad de tener constructos mas adecuados para la gran diversidad de aplicaciones que existen hoy en día en el área de las bases de datos. Así, la proposición de P. Chen ha sido modificada y enriquecida semánticamente por otros autores. Debido al gran poder expresivo que tiene hoy en día, este modelo es el primero en popularidad y en utilización en la etapa de diseño conceptual de base de datos. En este modelo se emplea el enfoque de diseño de arriba-hacia-abajo y los conceptos de abstracción de datos. El modelo ERE representa la información por medio de tres conceptos básicos: entidades, relaciones y atributos. Su principal objetivo es producir vistas conceptuales de los datos de la aplicación. Cada vista se expresa en términos de los conceptos básicos ilustrados en los diagramas ERE. El modelo está basado en la teoría de conjuntos y en la de las relaciones. Entidad, según el diccionario Larousse, es "lo que constituye la esencia del ser // colectividad considerada como una unidad". Para los efectos de las aplicaciones en base de datos Una entidad puede ser un objeto como: una casa, una planilla, un carro, etc.; un sujeto como una persona; o un evento o actividad como: un partido de football, un viaje, etc. Las entidades se agrupan en conjuntos denominados conjunto entidad y se representan en los diagramas ERE como un rectángulo con el nombre del conjunto entidad dentro. La figura 2 muestra un ejemplo de dicha representación. Figura 2. Conjuntos entidad en los diagramas ERE. Una misma entidad puede pertenecer a varios conjuntos entidad. Por ejemplo, un médico hospitalizado pertenece a los conjuntos entidad paciente y médico. Una relación es una asociación entre dos o más entidades de un mismo tipo o de tipos diferentes. Las relaciones o asociaciones también se agrupan en conjuntos, recibiendo el nombre de conjunto relación.
  • 4. Los Modelos de Datos y el Modelo Objeto-Relacional Página 4 de 27 Los conjuntos relación se representan gráficamente por medio de un rombo que encierra el nombre asociado al conjunto relación especificado. Ejemplos de estos son: propietario que asocia un automóvil a un empleado, dicta que asocia un profesor con una asignatura, etc. La figura 3 ilustra el conjunto relación propietario. Figura 3. Conjunto relación en los diagramas ERE. La figura anterior también muestra los tipos de correspondencia entre los conjuntos entidad asociados por el conjunto relación propietario y la cardinalidad de dicha relación. Los tipos de correspondencia se refieren al número de entidades involucradas en la relación, en un sentido y en el sentido contrario. Así: 1:1 Una entidad del conjunto entidad 1 (C-E1) está asociada a una única entidad del C-E2. 1:N o N:1 Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 o viceversa. N:M Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 y viceversa. La cardinalidad de la relación o asociación entre dos entidades expresa el número mínimo y máximo de entidades relacionadas a través del conjunto relación, así en la figura 3 un empleado puede ser propietario de ninguno o hasta 4 automóviles y un automóvil puede tener como propietario uno y solo un empleado, esto implica que en la BD no hay ningún automóvil sin propietario, pero si hay empleados que no tienen automóvil. Una entidad se describe por medio de sus atributos y una relación puede también ser descrita por medio de atributos. Un atributo es una característica o propiedad específica de una entidad o de una relación. Cada atributo se identifica con un nombre y se le asocia un dominio de valores posible que puede tener en un momento particular. Los atributos se expresan en el modelo E-R con nombres que etiquetan las aristas entre el conjunto entidad o relación a que pertenecen y el dominio asociado al mismo. Los dominios se expresan con óvalos identificados con un nombre, que es el nombre del dominio. La figura 4 completa el diagrama mostrado en la figura anterior.
  • 5. Los Modelos de Datos y el Modelo Objeto-Relacional Página 5 de 27 Figura 4. Atributos, dominios y claves en un diagrama ERE. Una clave o llave de un conjunto entidad o relación es un grupo de uno o más atributos que identifican unívocamente cada entidad o relación del conjunto. La clave de un conjunto relación es siempre la concatenación de las claves de los conjuntos entidad que ella asocia. En la figura 4 se observan las claves de cada conjunto entidad y de la relación propietario. Un conjunto entidad es débil si su existencia depende de otro conjunto entidad. De igual manera, un conjunto relación es débil si él depende de otro. La figura 5 presenta un ejemplo de diagrama donde se observan ambos casos. Un objeto del conjunto entidad objeto existe en la BD si existe la entidad vista del conjunto entidad vista. Asimismo, la relación clave-obj existe si la relación vista-obj existe.
  • 6. Los Modelos de Datos y el Modelo Objeto-Relacional Página 6 de 27 Figura 5. Entidades y relaciones débiles en un diagrama ERE. Un conjunto entidad puede especializarse en otros conjuntos entidad mostrando los diferentes tipos de ese conjunto entidad. Asimismo, varios conjuntos entidad pueden generalizarse en un conjunto entidad genérico, en cuyo caso el proceso de abstracción realizado se denomina generalización y en el primer caso se denomina especialización. Sin importar el proceso de abstracción realizado, el hecho es que existe en el diagrama un conjunto entidad que es una superclase de otros conjuntos entidad denominados subclases, los cuales heredan de la superclase todos sus atributos. La herencia puede ser simple o múltiple, bien sea que herede de un solo conjunto entidad o de varios, respectivamente. La herencia también puede ser parcial o total, en caso que la extensión de la superclase tenga un número de entidades diferente a la suma del número de entidades de sus subclases o que ese número sea igual, respectivamente. Gráficamente la herencia parcial se representa con una arista simple, la total con doble arista y la conexión entre superclases y subclases se realiza con un círculo si hay más de una subclase, llevando siempre un arco que intersecta la arista para indicar cual es la subclase.
  • 7. Los Modelos de Datos y el Modelo Objeto-Relacional Página 7 de 27 Se puede dar el caso que las entidades de las extensiones de las subclases se solapen, lo cual se expresa en el diagrama colocando una o en el círculo, indicando la conjunción de las entidades, si ese no es el caso, pues las extensiones de las subclases son disjuntas, entonces se coloca una d indicando la disyunción de las extensiones. Un caso especial denominado categoría se presenta cuando una entidad de un conjunto entidad puede ser una entidad heredada de 2 o más conjuntos entidad diferentes, pero cuyos atributos no se concatenan, pues la entidad en la categoría puede ser una y solo una de las entidades de cualquiera de las superclases. La categoría se presenta en el diagrama colocando en el círculo una U. La figura 6 muestra dos ejemplos de categorías, uno donde un dueño puede ser una persona, un banco o una compañía y el otro donde una propiedad puede ser un edificio o un lote de terreno. Figura 6. Categorías y herencia en diagramas ERE. 2. Modelos básicos Son los modelos sobre los que se han desarrollado la mayoría de los SMBD, estos son: • Jerárquico y redes • Relacional • Orientado por objetos • Objeto-Relacional
  • 8. Los Modelos de Datos y el Modelo Objeto-Relacional Página 8 de 27 2.1. Modelos jerárquico y redes El modelo jerárquico está definido sobre la base de los conceptos básicos siguientes: • Campo: es la unidad de datos que posee un nombre. • Segmento: es una colección de campos consecutivos en la base de datos que posee un nombre y que constituye la unidad de intercambio entre la BD y los PA. Los segmentos están ligados por asociaciones 1:N donde un segmento padre tiene N segmentos hijos, bien sea en el ámbito de tipos o de ocurrencias, formando así un árbol de segmentos. • Árbol de segmentos: es una colección de segmentos ligados por asociaciones padre – hijos, organizados bajo la forma de una jerarquía. • Base de datos jerárquica: es una BD compuesta de un bosque de segmentos. Ella se representa con árboles de segmentos cuyos nodos son los segmentos y las aristas indican las asociaciones 1:N. La figura 7 muestra un ejemplo de una BD jerárquica para el control de las publicaciones de una librería. Figura 7. Base de datos jerárquica para el control de publicaciones. El mejor SMBD que representa este tipo de BD es un producto IBM denominado IMS/VS (Information Management System/Virtual Storage) cuya primera versión aparece en 1968. Para ejemplificar el nivel de detalle que debe ser usado en estos sistemas, se incluye la definición de la BD anterior en el lenguaje de definición de datos del IMS. En ella se observa que el ABD debe llevar el control de los campos al nivel de bytes de inicio y de longitud en bytes. 1. DBD NAME = Publica 2. SEGM NAME = Tema, BYTES = 44 3. FIELD NAME = (NumTema, SEQ), BYTES = 4, START = 1 4. FIELD NAME = NomTema, BYTES = 40, START = 5 5. SEGM NAME = Publicacion, PARENT = Tema, BYTES = 96 6. FIELD NAME = (ISBN, SEQ), BYTES = 16, START = 1 7. FIELD NAME = Titulo, BYTES = 80, START = 17 8. SEGM NAME = Editorial, PARENT = Pub, BYTES = 40 9. FIELD NAME = (AñoPub, SEQ), BYTES = 4, START = 1 10. FIELD NAME = Editorial, BYTES = 34, START = 5 11. FIELD NAME = NroVolEditados, BYTES = 2, START = 39
  • 9. Los Modelos de Datos y el Modelo Objeto-Relacional Página 9 de 27 12. SEGM NAME = Autor, PARENT = Pub, BYTES = 256 13. FIELD NAME = (NomAut, SEQ), BYTES = 20, START = 1 14. FIELD NAME = Direccion, BYTES = 236, START = 21 El modelo de redes propuesto por el grupo DBTG de CODASYL está definido siguiendo los conceptos básicos dados a continuación: • Atomo o item de dato: es la unidad de datos que posee un nombre. • Agregado de datos: es una colección de átomos arreglados consecutivamente en la base de datos que posee un nombre. Ellos son de dos tipos: vectores o arreglos unidimensionales y grupos repetitivos. • Registro: es una colección de agregados y de átomos consecutivos en la base de datos y que constituyen la unidad de intercambio entre la BD y los PA. • Conjunto: es la asociación entre un registro propietario y n registros miembros. Las limitaciones del modelo hacen que un registro o tipo de registro no pueda ser propietario y miembro a la vez en el mismo conjunto y que una ocurrencia de un registro no pueda pertenecer a varias ocurrencias del mismo conjunto. • Base de datos en redes: es una BD compuesta de registros ligados o asociados entre ellos por los conjuntos. Ella se representa a nivel de tipo con un grafo de tipos de registros cuyos nodos son los tipos de registros y las aristas son los tipos de conjuntos orientados del propietario hacia los miembros. La figura 8 muestra un ejemplo de una BD en redes para una compañía productora de vinos. Figura 8. Base de datos vinícola en redes.
  • 10. Los Modelos de Datos y el Modelo Objeto-Relacional Página 10 de 27 2.2. Modelo relacional Fue propuesto por E. Codd en 1970 [Cod-70] cuando trabajaba para IBM-San José. El modelo está basado en la teoría de normalización de las relaciones, que permite eliminar el comportamiento anormal de las relaciones, luego de actualizaciones, así como el control de la redundancia de datos. Conceptos básicos Los conceptos básicos del modelo son: Dominio: es un conjunto de valores Ejm: D1 = {´rojo`, ´verde`, ´negro`, ´azul`} D2 = {`ford´, ´chevrolet`, ´fiat`, ´toyota`, ´renault`} Relación: es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos. Ejm: R1 = {(´rojo`,`ford´), (´verde`,`ford´), (´negro`, ´chevrolet`), (´azul`, ´toyota`)} R2 = {(´fiat`, ´verde`)} R3 = { } R D1 D2 ´verde` ´ford` ´azul` ´fiat` Atributo: es la columna de una relación identificada con un nombre. Ejm: R color marca ´verde` ´ford` ´azul` ´fiat` Esquema de una relación o de tabla: Es el nombre de la relación seguido de la lista de sus atributos con sus dominios. Un esquema de relación se puede representar por intensión o por extensión.
  • 11. Los Modelos de Datos y el Modelo Objeto-Relacional Página 11 de 27 Esquema de Carro por intensión: Carro(placa, marca, modelo, color) Esquema de Carro por extensión: tabla ↓ columna ↓ Carro placa marca modelo color fila o tupla → ´LGR889` ´toyota` ´corollaXL` ´azul` ´LAB110` ´ford` ´sierra280es` ´verde` ´XSG230` ´fiat` ´siena` ´azul` Base de datos relacional: Es una base de datos cuyo esquema es un conjunto de esquemas de relación de diferente nombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones. Reglas de formación 1. Cada relación o tabla contiene un solo tipo de fila o tupla. 2. Cada tupla tiene un número fijo de atributos o columnas. 3. No se permiten atributos compuestos o grupos repetitivos. 4. Cada tupla es única y se identifica con su clave primaria. 5. Un atributo o grupo de ellos que identifiquen unívoca e inequívocamente cada tupla de la relación es una clave candidata. 6. La clave primaria de una relación se selecciona entre las claves candidatas. 7. Si un atributo A ∈ R1 es también la clave primaria de R2, entonces A es un atributo foráneo de R1. 8. El orden de las tuplas en la relación es irrelevante. 9. Los valores de los atributos deben pertenecer al dominio de cada atributo definido en ella. 10. Un mismo dominio puede ser usado por diferentes atributos. 11. A partir de una o más tablas se pueden producir nuevas tablas diferentes mediante el uso de las operaciones del álgebra relacional. Reglas de integridad • De la relación: ningún componente de un valor de los atributos que conforman la clave primaria puede ser nulo. • De referencia: sea A la clave primaria de R1 y también un atributo foráneo de R2, entonces para toda tupla de R2 donde A ≠ nulo debe existir la tupla correspondiente en R1. • De los valores de un atributo: son los predicados definidos por el administrador de bases de datos sobre los valores de los atributos usando el lenguaje de definición de datos.
  • 12. Los Modelos de Datos y el Modelo Objeto-Relacional Página 12 de 27 Ejemplo: fechaInicio ≤ fechaFin restricciones de integridad de fechaInscripción ≤ fechaInicio los valores de los atributos. Semestre código fechaInicio fechaFin fechaInscripción tupla → ´A98` 02/03/98 17/07/98 22/2/98 ´B98` 14/09/98 30/01/99 07/09/98 ´A99` 15/03/99 23/07/99 08/03/99 Ejemplo de una base de datos relacional Cliente( codCli, nombre, balance, límiteCrédito, descuento) Envio( dirección, codCli) Pedido( codPed, línea, dirEnvio, codArt, cantidadPedida, cantidadEnviada) Artículo( codArt, nomArt, descripción) Inventario( codArt, codPlanta, cantidadExistencia, riesgo) Atributo Descripción Dominio codCli Código del cliente Cadena(4) nombre Nombre del cliente Cadena(40), sub(nombre,i,1)∈ {letras} balance Balance actual de la cuenta del cliente Real límiteCrédito Límite de crédito actual del cliente Real siempre positivo descuento Descuento actual que se le aplica al cliente Real siempre positivo dirección, dirEnvio Dirección de envío del cliente (un cliente Cadena(80),sub(dirección,i,1)∈ {letras}∪ puede tener varias) {/,-,’} con i desde 1 hasta 80 codPed Código de pedido Cadena(6) línea Línea del pedido Entero corto siempre positivo cantidadPedida Cantidad pedida del artículo Entero siempre positivo cantidadEnviada Cantidad enviada del artículo Entero siempre positivo codArt Código del artículo Cadena(6) nomArt Nombre del artículo Cadena(20),sub(nomArt,i,1)∈ {letras} descripción Descripción del artículo Cadena(255), sub(descripción,i,1)∈ {letras} codPlanta Código de la planta que tiene el artículo Cadena(2) cantidadExistencia Cantidad actual en existencia del artículo Entero siempre positivo riesgo Cantidad mínima del artículo en inventario Entero siempre positivo Restricción de integridad: cantidadPedida ≥ cantidadEnviada ≤ cantidadExistencia
  • 13. Los Modelos de Datos y el Modelo Objeto-Relacional Página 13 de 27 2.3. Objeto-relacional Este modelo es básicamente el mismo modelo relacional extendido con algunas facilidades del modelo orientado por objetos, a saber: • Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que deben ser soportados por el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que convierte de ASCII al nuvo tipo. Se soportan tipos complejos como: registros, conjuntos, referencias, listas, pilas, colas y arreglos. • Se pueden crear funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL, Java, C, etc. • Se pueden crear operadores asignándole un nombre y asociandoselo a una función ya definida o creada con anterioridad. • Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro. • Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers. • Soporte adicional para seguridad y activación de la versión cliente-servidor. 2.4. Transformación de modelos de alto a bajo nivel Las reglas de transformación del modelo ERE al modelo relacional son las siguientes: 1. Cada conjunto entidad se convierte en un esquema de relación constituido por todos los atributos del conjunto entidad. Cada tupla en la relación es una entidad del conjunto entidad. La clave primaria de la relación es la misma del conjunto entidad. Ejemplo: Usuario(codUs, nomUs, apeUs, depUs) 2. Cada conjunto relación entre los conjuntos entidades que asocia se convierte en un esquema de relación cuya clave primaria es la concatenación de las claves primarias de los conjunto entidad que ella asocia y sus atributos no clave son los mismos del conjunto relación tratado. Ejemplo: Prestamo(codLib, codUs, fechaPres, fechaEntre)
  • 14. Los Modelos de Datos y el Modelo Objeto-Relacional Página 14 de 27 3. Los conjuntos de valores del diagrama ERE se convierten en los dominios del modelo relacional. 4. Los conjunto entidades débiles se convierten en esquemas de relación con clave primaria igual a la concatenación de la clave primaria del conjunto entidad fuerte del cual depende con algún atributo propio del conjunto entidad débil que sirva para identificar unívocamente cada tupla de la relación. 5. Cada especialización es una tabla con los atributos de la especialización y con clave la del conjunto entidad general. Ejemplo: TrabajadorUniv(ced, nombre. apellido, fechaIngreso), Profesor(ced, catego, dedicac, fechaCatego, fechaDedicac), Empleado(ced, grado, fechaGrado, paso) 6. Una categoría es una subclase de la unión de dos o más superclases, por lo que se crea una clave para la categoría, y se coloca en las tablas de las superclases, si ellas tienen diferentes esquemas. Si las superclases tienen la misma clave, no es necesario utilizar la clave nueva o clave sustituta. Ejemplo: Persona(cedId, nombre, apellido, fechaNac, direccion, telefono, idDue), Banco(codBan, nombre, direccion, telefono, idDue), Compañía(codCom, nombre, direccion, telefono, idDue) con la categoría Dueño(idDue)
  • 15. Los Modelos de Datos y el Modelo Objeto-Relacional Página 15 de 27 Reglas adicionales en caso de convertir el modelo ERE al modelo objeto-relacional: 2.5. Enfoque por descomposición Consiste en definir relaciones universales compuestas de todos los atributos de la base de datos y luego descomponerlas, utilizando el proceso de normalización en subrelaciones que no sufren anomalías. • Enfoque por descomposición: es un proceso de refinamiento paso a paso que lleva al aislamiento de las entidades y asociaciones del mundo real [Cod-79]. La teoría de la descomposición de las relaciones se basa en el uso de dos operaciones fundamentales del álgebra relacional, a saber: • Proyección: La proyección de una relación R(A1, A2, ..., An) sobre los atributos Ai1, Ai2, ..., Aip, con ij ≠ ik, es una relación R’ con esquema R’(Ai1, Ai2, ..., Aip) obtenida por eliminación de los valores de los atributos de R que no están en R’ y la supresión de las tuplas duplicadas. Notación: Π Ai1, Ai2, ..., Aip ( R ) Ejemplo: Si se tiene la relación Carro(placa, marca. modelo, color) la proyección sobre placa y marca de Carro es la relación R’ cuyo esquema está conformado por placa y marca.
  • 16. Los Modelos de Datos y el Modelo Objeto-Relacional Página 16 de 27 R’ = Π placa, marca ( Carro ) R’’ = Π marca, color ( Carro ) Si Carro contiene las tuplas siguientes: Carro placa marca modelo color `LAB384’ ‘ford’ ‘escortXR-31’ ‘verde’ ‘LAM112’ ‘toyota’ ‘corollaXL’ ‘azul’ ´LGR889` ´toyota` ´corollaXL` ´azul` ´LAB110` ´ford` ´sierra280es` ´verde` ´XSG230` ´fiat` ´siena` ´gris` Entonces R’ y R’’ contendrán: R’ placa marca R’’ marca color `LAB384’ ‘ford’ ‘ford’ ‘verde’ ‘LAM112’ ‘toyota’ ‘toyota’ ‘azul’ ´LGR889` ´toyota` ´fiat` ´gris` ´LAB110` ´ford` ´XSG230` ´fiat` • Reunión natural: El producto, reunión o acoplamiento de dos relaciones R y S cuyos esquemas son R(A1, A2, ..., An) y S(B1, B2, ..., Bp) es una relación T con atributos que son la unión de los atributos de R y de S para las tuplas obtenidas por concatenación de las tuplas de R y S que tengan los mismos valores para los atributos de igual nombre. Notación: T = R S
  • 17. Los Modelos de Datos y el Modelo Objeto-Relacional Página 17 de 27 Ejemplo: Si se tiene T’ = R’ R’’ T’ placa marca color `LAB384’ ‘ford’ ‘verde’ `LAB384’ ‘ford’ ´gris` ‘LAM112’ ‘toyota’ ‘azul’ ‘LGR889’ ‘toyota’ ‘azul’ ´ LAB110` ´ ford ` ´verde` ´LAB110` ´ford` ´gris` ´XSG230` ´ford` ´verde` ´XSG230` ´ford` ´gris` • Descomposición: es el reemplazo de una relación R(A1, A2, ..., An) por una colección de relaciones R’1, R’2, ..., R’n obtenidas de las proyecciones de R y tal que la relación resultado de las reuniones R’1 R’2 ... R’n tiene el mismo esquema que R. Ejemplo: R1 = Π placa, modelo, color ( Carro ) R2 = Π modelo, marca ( Carro ) R’ R’’ ≠ Carro pero R1 R2 = Carro • Descomposición sin pérdida: Es la descomposición de una relación R en R’1, R’2, ..., R’p tal que para toda extensión de R se tiene que: R = R’1 R’2 ... R’p El problema de la concepción de bases de datos relacionales se reduce a la descomposición sin pérdida de las relaciones universales con todos sus atributos en subrelaciones que no contengan anomalías. 2.6. Normalización El esquema relacional es un modelo de la realidad bajo la forma de una colección de relaciones, el cual debe ser construído con el fin de que: a. la creación, modificación y supresión de datos sean eficaces. Para ello, es indispensable eliminar toda redundancia innecesaria. Idealmente, se desea que ante cualquier evento que ocurra en la realidad, éste se traduzca en el manejo de una sola tupla en la extensión del modelo relacional. b. la modificación del esquema relacional por la evolución de la percepción de la realidad, sea lo más simple posible. c. la comprensión de la realidad sea facilitada por el esquema.
  • 18. Los Modelos de Datos y el Modelo Objeto-Relacional Página 18 de 27 • Dependencias funcionales: Sea R(A1, A2, ..., An) y X y Y dos subconjuntos del conjunto formado por {A1, A2, ..., An} . Se dice que X → Y (X determina a Y o que Y depende funcionalmente de X) si para toda extensión r de R y para toda tupla t1 y t2 de r se tiene que: Π X ( t1 ) = Π X ( t2 ) implica que Π Y ( t1 ) = Π Y ( t2 ) Ejemplo: 1. placa → marca placa → modelo placa → color placa → (marca, modelo) modelo → marca 2. (codigoMateria, cedulaEstudiante, semestre, año, sección) → nota Considerando varias secciones en una misma asignatura y la posibilidad de repitencia de un estudiante en una sección de una asignatura. Las dependencias funcionales, en adelante DF, se identifican mirando atentamente el significado de los atributos, no sus valores actuales, sino todos los valores posibles de ellos. Las DF deben aparecer en el esquema conceptual de una BD. • Propiedades de las DF: 1. Reflexibidad: Si Y ⊆ X ⇒ X → Y. Ejemplo: color → color y (marca, modelo) → marca 2. Aumento: Si X → Y ⇒ X Z → Y Z Ejemplo: modelo → marca ⇒ (modelo, color) → (marca, color) 3. Transitividad: Si X → Y y Y → Z entonces X → Z Ejemplo: placa → modelo y modelo → marca ⇒ placa → marca 4. Aditividad: Si X → Y y Y → Z entonces X → Y Z Ejemplo: placa → modelo y modelo → marca ⇒ placa → (modelo, marca) 5. Pseudo-transitividad: Si X → Y y X W Y → Z entonces W Y → Z Ejemplo: placa → modelo y (marca, modelo) → potencia ⇒ (placa, marca) → potencia 6. Descomposición: Si X → Y y Z ⊆ Y entonces X → Z
  • 19. Los Modelos de Datos y el Modelo Objeto-Relacional Página 19 de 27 Ejemplo: placa → (modelo, marca) y modelo ⊆ (modelo, marca) ⇒ placa → modelo • Dependencias funcionales elementales: Una dependencia funcional elemental, en adelante DFE, es una DF de la forma X → A, donde A es un atributo único no incluído en X y donde no existe un X' ⊂ X tal que X' → A Ejemplo: placa →DFE modelo, pero placa →no es DFE (modelo, marca) La regla de inferencia que se aplica a las DFE es la transitividad. Las DFE se expresan en un grafo de DFE donde los nodos son los atributos y las aristas son las DFE. En caso de tener más de un atributo en la parte izquierda de la DFE, ésta se expresa colocando una línea que acoja las aristas de todos los atributos de la parte izquierda y de ella sale una arista al atributo de la parte derecha, convirtiendo así el grafo de DFE en una red de DFE. Un ejemplo de grafo y de red de DFE se muestra en la figura 9. Figura 9. (a) Grafo de DFE. (b) Red de DFE. A partir de las DFE se pueden componer otras DFE utilizando la propiedad de transitividad. El conjunto completo de todas las DFE se denomina cierre transitivo, formalmente se define como el conjunto de las DFE consideradas, enriquecidas con todas las DFE deducidas por transitividad. Notación: C+. Ejemplo: Para la relación Carro se tiene: C+ = {placa → marca, placa → modelo, placa → color, modelo → marca } A partir de C+ se define la equivalencia de dos conjuntos de DFE. Dos conjuntos de DFE son equivalentes si tienen la misma C+. • Cobertura mínima: es el conjunto C de DFE asociado a un conjunto de atributos que verifican las propiedades siguientes:
  • 20. Los Modelos de Datos y el Modelo Objeto-Relacional Página 20 de 27 a. ninguna DF es redundante en C, es decir para toda DF denotada f de C, C - f no es equivalente a C. b. toda DFE de los atributos está dentro de C+. Ejemplo: C = {placa → modelo, placa → color, modelo → marca } C es esencial para la descomposición sin pérdida. • Clave de una relación: es el conjunto X de atributos de una relación R(A1, A2, ..., An) tal que: a. X → A1, A2, ..., An b. no existe un subconjunto Y ⊂ X tal que Y → A1, A2, ..., An Pueden existir varios atributos que cumplan con esta definición dentro de una misma relación, ellos serán denominados claves candidatas y se escogerá entre las mismas una única clave primaria. Dentro de una relación, la clave primaria se subraya. Formas normales El objetivo de las tres primeras formas normales es permitir la descomposición de relaciones sin pérdida de información, a partir de las DFE y obtener así el esquema conceptual relacional normalizado. • Primera forma normal (1FN): Una relación está en 1FN si todo atributo contiene un valor atómico. Ejemplo: • Persona(cedula, nombre, apellido, sexo, telefono, direccion) los primeros cinco atributos son atómicos y el atributo direccion puede ser considerado atómico en aquellas aplicaciones donde esta columna no va a ser utilizada como un atributo de búsqueda, lo que implica que la relación Persona está en 1FN.
  • 21. Los Modelos de Datos y el Modelo Objeto-Relacional Página 21 de 27 • Estudiante(cedula, apellido, nombre, escuela, materias, notas) es claro que los primeros cuatro atributos son atómicos, pero también es claro que los dos últimos no lo están, por lo tanto la relación no está en 1FN. Para convertirla a 1FN se proyecta en dos relaciones, obteniendo: Estudiante(cedula, apellido, nombre, escuela) Cursa(cedula, materia, nota) • Segunda forma normal (2FN): Una relación está en 2FN si y solo si: 1. la relación está en 1FN 2. todo atributo que no pertenece a una clave no puede depender de una parte de esa clave. Ejemplo: • Proveedor(codProv, codArt, dirProv, precio) Ella está en 1FN considerando la dirección como una columna atómica, pero dadas las DFE siguientes: (codProv, codArt) → precio y codProv → dirProv, ella no está en 2FN, pues hay un atributo no clave (dirProv) que depende de una parte de la clave. Para normalizarla se proyecta en dos relaciones: Proveedor(codProv, dirProv) ProveeArticulos(codProv, codArt, precio) • Carro(placa, marca, modelo, color) está en 2FN. La segunda forma normal permite eliminar las redundancias para que ningún atributo esté determinado por una parte de una clave. • Tercera forma normal (3FN): Una relación está en 3FN si y solo si: 1. la relación está en 2FN 2. todo atributo que no pertenece a la clave no depende de un atributo que no es clave.
  • 22. Los Modelos de Datos y el Modelo Objeto-Relacional Página 22 de 27 Ejemplo: • Carro(placa, marca, modelo, color) está en 2FN, pero no en 3FN ya que se tiene la DFE modelo → marca. Para normalizarla se proyecta en dos relaciones: Carro(placa, modelo, color) ModelosDeCarros(modelo, marca) La tercera forma normal permite asegurar la eliminación de redundancias debidas a las dependencias transitivas. • Descomposición que preserva las dependencias funcionales: la descomposición {R1, R2, ..., Rn} de una relación R preserva las DF de R, si C+ de R es la misma que la de la unión de las DF de {R1, R2, ..., Rn}. Toda relación R tiene al menos una descomposición en 3FN tal que: 1. la descomposición preserve las DF. 2. la descomposición sea sin pérdida. Algoritmo de descomposición en 3FN: Este algoritmo propuesto por Bernstein en 1976 se basa en el principio siguiente: Se construye la cobertura mínima C y a partir de la misma se editan los atributos aislados, considerándolos como claves, luego se busca el conjunto más grande X de atributos que determine a otros A1, A2, ..., An con n ≥ 1 y como salida se genera la relación (X, A1, A2, ..., An). Las DFE utilizadas en la formación de esa relación se eliminan de C y todos los atributos aislados que no estén en las DFE que quedaron en C. Procedimiento Normalizar3FN( DFE ) 1. C = cobertura mínima de las DFE 2. At = Obtener los atributos aislados que pertenecen a C 3. reducir(C, At) 4. formar una R con los atributos restantes en At, si los hay 5. fin del procedimiento
  • 23. Los Modelos de Datos y el Modelo Objeto-Relacional Página 23 de 27 Procedimiento reducir( C, At ) 1. repita mientras que una DFE en C no incluya todos los atributos o C esté vacío 1. buscar el conjunto más grande de atributos X tal que X → A1, ..., X → Ak 2. formar la relación R(X, A1, A2, ..., Ak) 3. eliminar de C las DFE utilizadas en R 4. eliminar de At los atributos que no pertenezcan ya a C 5. reducir(C, At) fin del repita mientras 2. regresar Un esquema normalizado hasta 3FN debe cumplir con el juramento siguiente: • Forma normal de Boyce-Codd (FNBC): Una relación está en FNBC si y solo si las solas DFE son aquellas dentro de las cuales una clave determina un atributo. Ejemplo: Examen(cedEst, codMat, cedProf, nota) está en 3FN (cedEst, codMat) → cedProf no está en FNBC si cedProf → codMat cada profesor dicta (cedEst, codMat) → nota una única materia
  • 24. Los Modelos de Datos y el Modelo Objeto-Relacional Página 24 de 27 Para resolver el problema se proyecta para que cumpla con la FNBC Examen(cedEst, codMat, nota) Dicta(codMat, cedProf) No se preserva la DFE (cedEst, codMat) → cedProf En general, la descomposición en FNBC es sin pérdida pero NO preserva las DFE, después ellas pueden obtenerse por reunión o producto. • Dependencias multivaluadas (DM): Sea R(A1, A2, ..., A n) y X e Y dos subconjuntos de atributos de {A1, A2, ..., An}. Se dice que X -» Y, si dados los valores de X hay un conjunto de valores Y asociados y este conjunto es independiente de otros atributos Z = R – X – Y de R. Las DM caracterizan la independencia entre Y y Z correlacionadas por X. Las DF son un caso particular de las DM, por lo cual X → Y ⇒ X -» Y • Dependencias multivaluadas elementales (DME): Una DME es una DM X -» Y de una relación R tal que: a. Y no es vacío y es disjunto de X b. R no contiene otra DM del tipo X’ -» Y’ tal que X’ ⊂ X y Y’ ⊂ Y Ejemplo: EstMatDeporte (nroEst, codMat, deporte) EstMatDeporte nroEst codMat deporte 105 ‘PD10’ ‘tennis’ 105 ‘PD10’ ‘natación’ 145 ‘AL10’ ‘tennis’ 145 ´FI20’ ´futbol` nroEst -» codMat, nroEst-» deporte, pues un estudiante puede cursar varias materias y puede practicar varios deportes, pero codMat es independiente de deporte y en este caso solo están correlacionados a través de nroEst. • Cuarta forma normal (4FN): Una R está en 4FN si y solo si las solas DME son aquellas donde una clave determina un atributo. Una R en 4FN está en 3FN y en FNBC. Ejemplo: EstMatDeporte (nroEst, codMat, deporte) no está en 4FN, por lo que se proyecta según sus DME como: Cursa(nroEst, codMat) Practica(nroEst, deporte) • Teorema de Fagin (1979): R(A, B, C) se puede descomponer sin pérdida en R1(A, B) y R2(A, C) si y solo si se cumplen en R las DM A -» B | C. Demuestra que toda R tiene una descomposición, no siempre única, en 4FN sin pérdida de información.
  • 25. Los Modelos de Datos y el Modelo Objeto-Relacional Página 25 de 27 Ejemplo: Curso(nomCur, prof, texto) Curso nomCur Prof texto ‘Estadística’ ‘Perez’ ‘Estadística I’ ‘Estadística’ ‘Perez’ ‘Introducción a la estadística’ ‘Estadística’ ‘Mendez’ ‘Estadística I’ ‘Estadística’ ‘Mendez’ ‘Introducción a la estadística’ nomCur -» prof, nomCur-» texto Se proyecta como: TextoMateria(nomCur, texto) Dicta(nomCur, prof) • Dependencias de productos (DP): Existen relaciones que no es posible descomponerlas en 2 relaciones, pero si en 3, 4 o más relaciones. Sea R(A1, A2, ..., An) y X1, X2, ..., Xm subconjuntos de {A1, A2, ..., An}. Se dice que existe una DP simbolizada por *{X1, X2, ..., Xm} si R es el producto de sus proyecciones sobre X1, X2, ..., Xm, es decir si R = Π X1( R ) Π X2( R ) ... Π Xm( R ) Ejemplo: Si el proveedor #E suministra la pieza #P y en el proyecto #J se usan piezas #P y el proveedor #E suministra piezas al proyecto #J, entonces #E suministra #P al proyecto #J. Suministro(#E, #P, #J) está en 4FN Suministro #E #P #J E1 P1 J2 E1 P2 J1 E2 P1 J1 E1 P1 J1 No está en 5FN pues #E -» #P, #P -» #J, #J -» #E, no es posible descomponerla en 2 relaciones, pero si es posible en 3 relaciones, así: R1 #E #P R2 #P #J R3 #E #J E1 P1 P1 J2 E1 J2 E1 P2 P2 J1 E1 J1 E2 P1 P1 J1 E2 J1
  • 26. Los Modelos de Datos y el Modelo Objeto-Relacional Página 26 de 27 Suministro ≠ R1 R2, Suministro ≠ R1 R3, Suministro ≠ R2 R3, Suministro = R1 R2 R3 • Quinta forma normal (5FN): Una relación R está en 5FN si y solo si toda DP está implicada por las claves candidatas de R. En la realidad no es común tener DP y es muy difícil darse cuenta de su existencia, por lo que Fagin en [Fag-79] presenta un algoritmo para probar si una DP está implicada por un conjunto de claves en R. 2.7. Restricciones de integridad La integridad de los datos en bases de datos accedidas por procesos concurrentes debe ser asegurada, mediante la aplicación de restricciones y reglas que aseguren la concordancia de los datos que la base de datos modela con los del mundo real. Restricciones de integridad: Son aserciones que deben verificar los datos en instantes determinados. Bases de datos coherentes: Son bases de datos donde el conjunto de restricciones de integridad (explícitas o implícitas) se respeta a todo lo largo de la vida útil de la BD. Tipos de restricciones de integridad: Se tienen ocho tipos que son los siguientes: 1. Restricciones de dominio o integridad de dominio: Están referidas al tipo de dato del atributo o columna. El valor que se puede asignar a una columna debe estar en el dominio especificado para dicha columna. Se permite a un dato estar marcado para contener un valor especial definido por el diseñador de la BD (NoDefinido), no contener valor alguno o contener el valor nulo si: a. Existe la posibilidad de desconocer la información (nulo aplicable) b. No tiene sentido asignar un valor del dominio (nulo inaplicable) Ejemplo: cant es de tipo Entero siempre positivo.
  • 27. Los Modelos de Datos y el Modelo Objeto-Relacional Página 27 de 27 2. Restricciones de rango o integridad de columna: Se refiere al intervalo de variación de los valores del dominio del atributo y de los tipos de datos definidos en el SMBD. Ejemplo: edad es de tipo Entero siempre positivo entre 0 y 120. 3. Integridad de entidad o de dependencias funcionales: Se refiere al hecho de tener un atributo que está determinado por uno o varios atributos. Estas restricciones están aseguradas con la normalización de las tablas de la BD. Ningún componente de una clave primaria puede contener valores nulos. Ningún componente de una clave foránea debe permitir un valor nulo por inaplicable, aunque si puede permitir valor nulo por desconocimiento de información. Ejemplo: cedula determina edad. 4. Dependencias multivaluadas: Son aquellas donde uno o varios atributos multideterminan un atributo. Estas están aseguradas con la normalización de las tablas de la BD. Ejemplo: cedulaEstudiante multidetermina deportePractica. 5. Integridad referencial: Son las dependencias de inclusión en varias tablas o de claves foráneas. Para cada clave foránea debe existir un valor equivalente de una clave primaria y en el mismo dominio. Ejemplo: Se tienen las tablas Carro(placa, modelo, color) y ModeloMarca(modelo, marca), en ellas observamos que el atributo modelo es clave en la tabla ModeloMarca y está incluida en la tabla Carro, por tanto el atributo modelo es una clave foránea en la relación Carro. 6. Restricciones aritméticas: Son las expresiones aritméticas que deben cumplir algunos atributos de una tabla o que involucra a varias tablas de la BD. Ejemplo: En la BD formada por las tablas siguientes: Producto(codPro, nomPro, cantExistencia, color) Venta(codVen, nomCli, codProVen, cantVen, fechaVen) Compra(codCom, fechaCom, codProCom, cantCom, nomProveedor) Para todo producto identificado con su código codPro de la tabla Producto, la cantExistencia debe ser mayor que la cantidad vendida cantVen para el producto codProVen, ya que no se puede vender una cantidad de producto mayor que la que se tiene en existencia. 7. Valores invariantes que no son posibles de expresar en el esquema: Ejemplo: Tomando la BD descrita anteriormente, se tiene que en todo momento la cantidad comprada menos la cantidad vendida debe ser igual a la cantidad en existencia (cantCom - cantVen = cantExistencia), para cada producto presente en la BD. 8. Restricciones temporales: Son aquellas aserciones que deben ser cumplidas periódicamente o en momentos específicos. Ejemplo: En una BD de trasacciones bancarias al finalizar cada mes, el saldo de cada cuenta debe ser igual a la suma de de depósitos en la cuenta menos la suma de los retiros de la cuenta.