El Modelo Entidad/Interrelación

EL MODELO ENTIDAD/INTERRELACIÓN

Los modelos de datos soportado por los SGBD no suelen ofrecer, dado su bajo nivel de abstracción, los mecanismos suficientes para captar la semántica del mundo real, por lo que surgen modelos conceptuales, mas ricos semánticamente, que facilitan la labor del diseñador ayudándole en su comunicación con el usuario.

Entre estos modelos de datos semánticos, el modelo Entidad/Interrelación, que se presenta en este capítulo, es posiblemente el de mas amplia aceptación y al que se les suele dar soporte en la mayoría de las herramientas CASE.

En el presente capitulo, después de estudiar la historia del modelo y la parte estática del mismo, se analiza la semántica de las interrelaciones, así como la generalización, para terminar describiendo muy brevemente su dinámica.

PRESENTACION E HISTORIA

Desde que fue propuesto, este modelo ha tenido una gran difusión y ha despertado un enorme interés en la comunidad informática dedicada a las base de datos. Prueba de ello son los innumerables congresos dedicados al tema.

Como hemos indicado en el capitulo anterior, todo modelo de datos tiene básicamente dos tipos de propiedades:

-          Estáticas: describen la estructura del Universo del Discurso y apenas varían en el tiempo. Utilizamos el Lenguaje de Definición de Datos para describirlas.

-          Dinámicas: permiten el paso de un estado a otro, ejecutando operaciones sobre los datos almacenados en la estructura; se corresponden con la naturaleza evolutiva del mundo real. Para expresar las operaciones se utiliza el Lenguaje de Manipulación de Datos (LMD).

El modelo Entidad/Interrelación (ME/R) tal como fue propuesto por Chen,  no consideraba la parte dinámica, definiendo únicamente la parte estructural y semántica, así como la forma de representación de los datos. Posteriormente, otros autores, como POONEN (1978) y SHOSHANI (1980), completan el modelo proponiendo lenguajes de manipulación (CLEAR y CABLE) capaces de recuperar y actualizar de forma sencilla los datos almacenados en las estructuras.

De todos modos, al utilizarse el ME/R como instrumento de diseño de bases de datos y no estar soportado por los SGBD actuales, la parte dinámica del mismo carece de interés desde un punto de vista práctico. En los entornos de desarrollo de aplicaciones comerciales, el modelo Entidad/Interrelación juega un importante papel, siendo soportado por muchas de las actuales herramientas de ingeniería del software asistido por ordenador.

ESTATICA DEL MODELO E/R

Se pueden distinguir como conceptos básicos de este modelo: las entidades e interrelaciones (con sus atributos), además de los dominios que en este modelo denominan conjuntos de valores.

ENTIDAD

Entidad es “una persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa”. Es aquel objeto acerca del cual queremos almacenar información en la base de datos.

Llamaremos tipo de entidad a la estructura genérica y ocurrencia de entidad a cada una de las realizaciones concretas de ese tipo de entidad. Así, el tipo de entidad AUTOR se refiere a la estructura que nos describe las características de los autores como una abstracción, mientras que una ocurrencia de autor será cada uno de los autores en concreto, por ejemplo, C.J. Date.

La representación grafica de un tipo de entidad es un rectángulo etiquetado con el nombre del tipo de entidad.

Existen dos clases de entidades:

-          Regulares: las ocurrencias de un tipo de entidad regular tienen existencia propia, es decir, existen por si mismas.

-          Débiles. La existencia de cada ocurrencia de un tipo de entidad débil depende de la existencia de la ocurrencia del tipo de entidad regular del cual aquella depende, es decir, si se elimina una ocurrencia del tipo entidad regular, desaparecen también con ella todas las ocurrencias de la entidad débil dependientes de la misma. Un tipo de entidad débil se representa con dos rectángulos concéntricos con su nombre en el interior. Si desaparece un libro, con el  desaparecerán todos sus ejemplares, ya que la existencia de un ejemplar de un cierto libro no tiene sentido si no existe correspondiente libro en la base de datos.

INTERRELACION

Llamamos Tipo de interrelación a la estructura genérica del conjunto de interrelaciones existentes entre dos o más tipos de entidad, mientras que la ocurrencia de una interrelación será la vinculación existente entre las ocurrencias concretas de cada uno de los tipos de entidad que intervienen en la interrelación. Así, el tipo de entidad AUTOR se interrelaciona con el tipo de entidad DOCUMENTO mediante el tipo de interrelación Escribe; una ocurrencia de esta interrelación es que (C.J. Date) ha escrito el documento Introducción a los Sistemas de bases de datos.

Representamos el tipo de interrelación mediante un rombo etiquetado con el nombre de la interrelación, unido mediante arcos a los tipos de entidad que asocia.

Un tipo de interrelación se caracteriza por:

-          Nombre: por el que identificamos de forma única el tipo de interrelación y mediante el cual lo referenciamos.

-          Grado: el numero de tipos de entidad que participan en un tipo de interrelación. Puede ser de grado 2 (binarias) cuando asocian dos tipos de entidad (entre ellas tenemos las reflexivas que asocian ocurrencias de un mismo tipo de entidad); de grado 3(ternarias) cuando asocian tres tipos de entidad; o en general de grado n.

-          Tipo de  correspondencia: número máximo de ocurrencias de un tipo que pueden intervenir por cada ocurrencia del tipo de entidad asociado en la interrelación. El tipo de correspondencia es 1:1 cuando en la interrelación solo puede aparecer, como máximo, una ocurrencia del tipo de entidad por cada ocurrencia del otro; será 1:N, si para uno de los tipos de entidad puede haber un número indefinido (mayor que uno) de ocurrencias, y será N:N su esto ocurre para ambos tipos de entidad. Para representarlo gráficamente, se puede poner una etiqueta que lo indique al lado del rombo que representa el tipo de interrelación o una punta de flecha hacia el tipo de entidad que participa con  mas de una ocurrencia en la interrelación.

-          Atributo: es cada una de las propiedades o características que tiene un tipo de entidad o de interrelación. Así, el tipo de entidad AUTOR tiene como atributos el Nombre, la Nacionalidad, la Fecha_nac,etc; y los atributos del tipo de entidad DOCUMENTO son, entre otros, Titulo y Resumen. El tipo de interrelación Escribe entre AUTOR y DOCUMENTO tiene como atributo Orden_de_firma.

El conjunto de posibles valores que puede tomar un atributo recibe el nombre de dominio. El dominio tiene un nombre y una existencia propia con independencia de cualquier entidad o atributo.  El dominio se representa con un circulo u ovalo en cuyo interior aparece su nombre, mientras que el nombre del atributo se escribe sobre el arco que une el dominio con el tipo de entidad o de interrelación a la que pertenece dicho atributo. Para simplificar la representación a la que pertenece, en muchos casos será suficiente el nombre del atributo en el interior del círculo u ovalo, eliminando el nombre del arco (pondremos el nombre del atributo al lado del circulo en lugar de en el interior.

Entre todos los atributos de un tipo de entidad debemos elegir uno o varios que identifiquen unívoca y mínimamente cada una de las ocurrencias de ese tipo de entidad (atributo identificador principal –AIP-). Puede que exista más de un atributo que cumple esta condición (atributo identificador candidato –AIC-), de los cuales elige uno como principal y los otros son alternativos (atributo identificador alternativo –AIA-)

-          Restricciones: pueden limitar los tipos de estructuras que es posible representar mediante un cierto modelo de datos (restricciones inherentes), o bien permiten restringir los calores que pueden tomar ciertos atributos o imponen limitaciones al tipo de correspondencia y otras características de las interrelaciones (restricciones semánticas o de comportamiento)

El ME/R es muy flexible porque se puede considerar que las únicas restricciones inherentes que impone es la obligatoriedad del Atributo Identificador Principal, además de que solo permite definir tipos de interrelación entre tipos de entidad (no se puede, por ejemplo, definir un tipo de interrelación entre un tipo de entidad y un tipo de interrelación).

SEMANTICA DE LAS INTERRELACIONES

El contenido semántico de las interrelaciones se ha completado con conceptos tales como las cardinalidades mínima y máxima, las dependencias en existencia y en identificación, y diversos mecanismos de abstracción (como la generalización y  la agregación)

CARDINALIDADES DE UN TIPO DE ENTIDAD

Definimos las cardinalidades máxima y mínima de los tipos de entidad participantes en un tipo de interrelación como el número máximo y mínimo de ocurrencias de un tipo de entidad que pueden estar interrelacionadas con una ocurrencia del otro, u otros tipos de entidad que participan en el tipo de interrelación. Su representación grafica es una etiqueta del tipo (0,1),(1,1),(0,N),(1,N)o (N,N), según corresponda, que se pone en el arco que une el correspondiente tipo de entidad con el rombo que representa la interrelación

DEPENDENCIA EN EXISTENCIA Y EN IDENTIFICACION

Los tipos de interrelación se clasifican, según el tipo de entidades que vinculan, en regulares si asocian tipos de entidades regulares y débiles si asocian un tipo de entidad débil con un tipo de entidad regular. Un tipo de interrelación débil exige siempre que las cardinalidades del tipo de entidad regular sean (1,1)

Dentro de los tipos de interrelación débil podemos distinguir:

-          Dependencia en existencia: Se dice que hay una dependencia en existencia cuando en una interrelación está vinculado un tipo de entidad regular con uno débil, de forma que las ocurrencias del tipo de entidad dependiente (tipo de entidad débil) no pueden existir sin la ocurrencia de la entidad regular de la que dependen. Si desaparece una ocurrencia de un tipo de entidad regular, todas las ocurrencias de la entidad débil que dependen en existencia de la misma desaparecen con ella.

-          Dependencia en identificación: Hay una dependencia en identificación cuando, además de la dependencia en existencia, las ocurrencias del tipo de entidad débil no se pueden identificar solo mediante sus propios atributos, sino que se tiene que añadir la clave de la ocurrencia de la entidad regular de la cual depende.

GENERALIZACION Y HERENCIA

La generalización es el tipo de interrelación que existe entre un tipo de entidad y los tipos de entidad mas específicos que dependen de el. En el mundo real es muy habitual la descomposición de un tipo de entidad, creándose de esta forma una jerarquía de tipos de entidad donde se puede distinguir un supertipo del cual dependen varios subtipos. La abstracción correspondiente a este tipo de interrelación entre entidades se denomina ES_UN (“IS_A”, en ingles).

Una de las características más importantes de las jerarquías es la herencia, por la cual, los atributos de un supertipo son heredados por sus subtipos.

En la generalización, los atributos comunes a los subtipos (incluidos los identificadores) se asignan al supertipo, mientras que los atributos específicos se asocian al subtipo correspondiente. Del mismo modo, las interrelaciones que afectan a todos los subtipos se asocian al supertipo, dejándose para los subtipos las interrelaciones especificas en las que el correspondiente subtipo, pero solo el, participa.

DINAMICA DEL MODELO E/R

Chen, en su artículo donde presentaba el modelo E/R, no se ocupo de la parte dinámica del mismo (tampoco propuso ninguna sintaxis para la componente estática) lo que no resulta extraño si se tiene en cuenta que el modelo está más orientado al diseño que a la implementación. Sin embargo, en varios trabajos posteriores se han propuesto lenguajes basados en el Modelo Entidad/Interrelación. Estos lenguajes permiten, además d e definir la parte estática del modelo (entidades, interrelaciones, etc.) formular consultas a la base de datos con sentencias que se parecen al lenguaje natural y son sencillas de formular.

Entre estos lenguajes destacan el CABLE (Chain Based Language), SHOSHANI (1980) y el CLEAR (Conceptual Languaje for Entities And Relationship), POONEN (1978). A fin de completar el modelo E/R con la parte dinámica, vamos a presentar brevemente el lenguaje CLEAR, que es un  lenguaje de especificación que trabaja con conjuntos de registros.

EL LENGUAJE CLEAR

CLEAR es un lenguaje basado en el modelo E/R que trabaja, por tanto, a nivel conceptual, de tal forma que la base de datos es independiente de ciertos cambios en  la estructura y refleja lo mejor posible la realidad del mundo que se va a modelar. Esta independencia respecto a las estructuras físicas de los datos es una de las principales características del CLEAR.

Se trata de un lenguaje intuitivo y fácil de aprender en el que no aparecen variables ni cuantificadores del algebra  que, en general, resultan poco comprensibles para los usuarios finales. Este lenguaje tiene mucho en común con el SQL.

En lugar de exponer de manera formal el lenguaje, presentaremos algunos ejemplos para las siguientes operaciones básicas:

a) Selección de ciertos atributos de un tipo de entidad o interrelación

b) Selección de ocurrencias de entidades o interrelaciones que satisfagan ciertas propiedades

c) Combinación de dos o mas entidades para obtener información basándose en las interrelaciones existentes.

A continuación se detalla cada una de estas operaciones mostrando la sintaxis de la pregunta seguida de un ejemplo:

a) Selección de ciertos atributos de un tipo de entidad o interrelación:

referencia-simple = nombre

| nombre DE tipo-entidad

|nombre EN tipo-interrelación

|tipo-entidad

nombre = DOMINIO

| ATRIBUTO DOMINIO

| DOMINIO ATRIBUTO

Cuando los nombres de los dominios no sean únicos para un tipo de entidad, se deshace la ambigüedad añadiendo el nombre del ATRIBUTO asociado al DOMINIO

b) Selección de ocurrencias de entidades o interrelaciones que satisfagan ciertas propiedades:

referencia = referencia-simple

| referencia-simple CON condición

Donde condición es una expresión lógica en la que se admiten los operadores booleanos “o” e “y”.

Los dominios que se van a referenciar en la consulta  deben pertenecer al mismo tipo de entidad o interrelación. Cuando esto no sea así se utilizara una consulta de tipo [c] :

c) Combinación de dos o mas entidades para obtener información basándose en las interrelaciones existentes entre ellas:

combinación = | referencia

| referencia-simple EN tipo-interrelación CON condición

 

Ref.Fundamentos y modelos de bases de datos.Editorial ra-ma.Adoración de Miguel Castaño, Mario Piattini.

Sobre c4r106