Entidad - Relación





MODELO E-R / MODELO RELACIONAL


CONTENIDO
- MODELIZACION CONCEPTUAL DE DATOS
   - Modelos de Datos
   - Potencia Semántica
- MODELO ENTIDAD - RELACION
   - Entidades y Tipos de Entidades
   - Relaciones y Tipos de Relaciones
   - Diagrama Entidad-Relación (E-R)
   - Restricciones de Cardinalidad de Correspondencia
   - Restricciones de Dependencia Existencial
   - Claves Primarias – Restricciones de Identificación
   - Generalización y Especialización
   - Agregación

MODELIZACION CONCEPTUAL DE DATOS
MODELOS DE DATOS
Los modelos son  una herramienta intelectual que provee una interpretación del mundo real.
Podemos decir que un MODELO DE DATOS es una herramienta formal para representar la realidad. 
Los Modelos de Datos en general, especifican:
  • estructura de los datos,.
  • restricciones sobre las estructuras.
  • operaciones sobre las estructuras.

POTENCIA SEMÁNTICA
La potencia semántica de un Modelo de Datos está determinada por su capacidad de representar, además de la estructura de los datos, el significado de los mismos y de sus interrelaciones. Por ejemplo, en la frase “Su altura es de 5 metros”, el dato es el número “5” y el significado es “altura en metros”.
En general, la utilización del computador para el procesamiento de información ha resultado en una separación entre los datos y su significado. Mientras que las computadoras sólo procesan los datos, queda para el usuario o los programas, la tarea de interpretación.
A medida que la utilización de computadoras evoluciona hacia aplicaciones más sofisticadas, resulta cada vez más necesario captar y utilizar activamente el significado de los datos (y de sus vinculaciones). Consecuentemente, es necesario advertir que al traducir el modelo conceptual al modelo de datos del SGBD que se utilizará, inevitablemente habrá pérdida de información semántica.

MODELO ENTIDAD-RELACION
ENTIDADES Y TIPO DE ENTIDADES
Una Entidad es algo que existe (concreto o abstracto) y es distinguible de algo similar.  Un Tipo de Entidad queda definido por:
  • un NOMBRE
  • un SIGNIFICADO
  • ATRIBUTOS
  • un IDENTIFICADOR

RELACIONES(ó RELACIONAMIENTOS) Y TIPOS DE RELACIONAMIENTOS
Una Relación (ó relacionamiento) es una asociación entre dos o más entidades.Por ejemplo, el relación que asocia el cliente "Pérez" con la cuenta 259.
Un Conjunto de Relacionamientos (o Tipo de Relacionamiento ) es un conjunto de relaciones del mismo tipo.
ENTIDADES          RELACIONES        ENTIDADES

DIAGRAMAS E-R
Un Modelo E-R consiste en una colección de tipos de entidades y tipos de relacionamientos más los atributos, dominios y restricciones necesarios para describir las propiedades que interesan de esos conjuntos. Una forma gráfica de representar un modelo de este tipo es mediante un diagrama E-R que utiliza la siguiente simbología:

a)     rectángulos que representan tipos de entidades
b)     óvalos que contienen los atributos
c)      rombos que representan tipos de relaciones ó relacionamientos
d)     líneas que asocian atributos a los tipos de entidades y tipos de entidades a tipos de relacionamientos

Cada componente está rotulado con su correspondiente nombre. Los roles se indican rotulando las lineas que conectan los rectángulos con los rombos.

RESTRICCIONES DE CARDINALIDAD DE CORRESPONDENCIA
Las cardinalidades de correspondencia son restricciones importantes que expresan la cantidad (mínima y máxima) de entidades a las cuales puede asociarse una entidad a través de un tipo de relacionamiento.
Nos ocuparemos de las cardinalidades de correspondencia entre tipos de relacionamientos binarios (es decir, relacionamientos entre dos tipos de entidades).
Para un tipo de relacionamiento binario R entre dos tipos de entidades A y B, la cardinalidad puede ser :

UNO A UNO (1:1)
Una entidad en A está asociada como máximo a una entidad en B, y una entidad en B está asociada como máximo a una entidad en A.

UNO A MUCHOS (1:M)
Una entidad en A está asociada como máximo con cualquier cantidad de entidades en B, y una entidad en B está asociada como máximo a una entidad en A.

MUCHOS A MUCHOS (M:M)
Una entidad en A está asociada como máximo con cualquier cantidad de entidades en B, y una entidad en B está asociada como máximo con cualquier cantidad de entidades en A.


RESTRICCIONES DE DEPENDENCIA EXISTENCIAL
Las dependencias de existencia conforman otra clase importante de restricciones. Específicamente, si la existencia de la entidad S depende de la existencia de la entidad D, entonces se dice que S tiene dependencia existencial o depende existencialmente de D.
Operacionalmente, esto significa que si D es borrado, también S es borrado. La entidad D es la entidad dominante y S es la entidad subordinada.

Considérese los tipos de entidades CUENTA y TRANSACCION, y el tipo de relacionamiento MOVIMIENTO entre éstos, que especifica que para una cuenta particular pueden existir varias transacciones.
Este tipo de relacionamiento es uno-a-muchos de CUENTA a TRANSACCION. Cada entidad TRANSACCION debe estar asociada a una entidad CUENTA. Si una entidad cuenta es borrada, entonces todas las entidades TRANSACCION asociadas también deben ser borradas. Sin embargo, las entidades TRANSACCION pueden ser borradas de la base de datos sin afectar ninguna entidad CUENTA. El tipo de entidad CUENTA, por lo tanto, es dominante y el tipo de entidad TRANSACCION es subordinado del tipo de relacionamiento MOVIMIENTO.

CLAVES PRIMARIAS - RESTRICCIONES DE IDENTIFICACION
Conceptualmente las entidades y relacionamientos individuales son distinguibles entre sí.
Una superclave es un conjunto de uno a más atributos que, tomados colectivamente, permiten identificar unívocamente una entidad (o un relacionamiento) en el conjunto de entidades (o relacionamientos) del mismo tipo.
Por ejemplo, el atributo NOMBRE DE CLIENTE del tipo de entidad CLIENTE no es una superclave, pues varios clientes pueden tener el mismo nombre.
El atributo NRO. DE DOCUMENTO del tipo de entidad CLIENTE es suficiente para distinguir una entidad CLIENTE de otra. Por lo tanto NRO. DE DOCUMENTO es una superclave. Asimismo la combinación NOMBRE DE CLIENTE y NRO. DE DOCUMENTO es una superclave para el tipo de entidad CLIENTE.
Si K es una superclave, cualquier superconjunto de K también es una superclave. Interesan generalmente las menores superclaves posibles. Esto es, estamos interesados en aquellas superclaves para las cuales ningún subconjunto propio es una superclave.
Estas superclaves se denominan claves candidatas o identificadores candidatos.
Vemos que aunque los atributos NOMBRE DE CLIENTE y NRO. DE DOCUMENTO juntos son una superclave (pues permitirían distinguir entidades CLIENTE), su combinación no constituye una clave candidata porque el atributo NRO. DE DOCUMENTO por sí solo es una superclave.
Es posible que varios conjuntos distintos de atributos puedan servir como claves candidatas. El atributo CUIL/CUIT, por ejemplo, podría ser suficiente para distinguir entre miembros del conjunto de entidades CLIENTE. Así, tanto {NRO. DE DOCUMENTO} como {CUIL/CUIT} son claves candidatas.
Usaremos el término clave primaria o identificador principal para denominar aquella clave candidata que es elegida, por el diseñador del modelo de datos, como medio principal para identificar entidades dentro de un conjunto de entidades.
Puede ocurrir que en un tipo de entidad ningún atributo (o conjunto de atributos) satisfaga las condiciones de identificador principal, esto es, permitir la identificación unívoca de una entidad dentro del conjunto.
Por ejemplo, si para cada CUENTA las TRANSACCIONes se numeran secuencialmente desde 1, no será posible identificar por NRO.TRANSACCION una transacción dentro del conjunto de transacciones, diferentes transacciones sobre diferentes cuentas pueden tener el mismo número. Se dice que una entidad tiene una dependencia de identidad o identificación si no es identificable por sus propios atributos.
Este tipo de entidad que no tiene una clave primaria propia se denomina entidad débil, y normalmente está subordinada a otro tipo de entidad, que denominamos entidad fuerte, de la cual depende su identificación. Una entidad que tiene clave primaria propia es una entidad fuerte.
El concepto de entidades fuertes y débiles está relacionado con el concepto de dependencia de existencia. Una entidad débil es, por definición, una entidad subordinada a la entidad dominante de la cual depende su identidad. Toda dependencia de identidad es una dependencia de existencia, pero una dependencia de existencia no implica necesariamente una dependencia de identidad.
Un tipo de entidad débil se indica con un rectángulo doble. El tipo de relacionamiento que lo conecta con el tipo de entidad fuerte del cual depende se indica con línea doble.
Aunque un tipo de entidad débil no tiene clave primaria propia, es necesario distinguir, entre sí, las entidades débiles que dependen de una misma entidad fuerte.
El discriminador de un tipo de entidad débil es el conjunto de atributos que permiten realizar esta distinción. Por ejemplo, el discriminador del tipo de entidad débil TRANSACCION es el atributo NRO. TRANSACCION, dado que para cada cuenta estos números de transacción identifican unívocamente una única transacción.
La clave primaria de un tipo de entidad débil está formada por la clave primaria de la entidad fuerte de la cual depende existencialmente, más su discriminador. En el caso del tipo de entidad TRANSACCION, su clave primaria es (NUMERO DE CUENTA, NRO. TRANSACCION), donde NUMERO DE CUENTA identifica la entidad dominante de una TRANSACCION, y NRO. TRANSACCION distingue las entidades TRANSACCION dentro de la misma cuenta.
Los tipos de relacionamiento también tienen claves primarias. En general, aunque no siempre, sus claves primarias están formadas por los atributos de las claves primarias de los tipos de entidad que asocian. Por ejemplo, CUIL/CUIT es la clave primaria de CLIENTE, y NUMERO DE CUENTA es la clave primaria de CUENTA.
La clave primaria del tipo de relacionamiento TENENCIA (indica las Cuentas que un Cliente tiene) es: CUIL/CUIT, NUMERO DE CUENTA.
La clave primaria del tipo de relacionamiento MOVIMIENTO (indica las transacciones de una Cuenta) es: NUMERO DE CUENTA, NRO. TRANSACCION.
Obsérvese que en este último caso la clave primaria del tipo de relacionamiento coincide, con la del tipo de entidad débil; en general esto sucede con cada tipo de relacionamiento binario funcional (cardinalidades 1:M o 1:1), en que su clave primaria coincide con la de uno de los tipos de entidad que asocia, según el sentido de la funcionalidad de la relación.
Puede darse el caso de un tipo de relacionamiento que sea identificado por un atributo propio.


GENERALIZACION Y ESPECIALIZACION
La generalización y la especialización son dos tipos de relacionamientos con características particulares.
Generalización es el resultado de unir dos o más conjuntos disjuntos de entidades de menor nivel (subtipos) para producir un conjunto de entidades de mayor nivel  (supertipo). En una generalización toda entidad del supertipo debe ser una entidad de 1 y sólo 1 subtipo.
Especialización es el resultado de tomar uno o varios subconjuntos de un conjunto de entidades de mayor nivel (supertipo) para formar conjuntos de entidades de menor nivel (subtipos). En una especialización una entidad del supertipo puede  pertenecer a 0, 1, o N subtipos. En un diagrama E-R tanto la generalización como la especialización se representan a través de un triángulo ES-UN.
La generalización se distingue de la especialización mediante líneas dobles entre el triángulo y los subtipos de entidades.
Las cardinalidades de estos tipos de relacionamientos se omiten en el diagrama porque por definición son siempre las mismas: 1 a 1 del supertipo a cada uno de los subtipos.
Cada uno de los subtipos de entidades puede tener atributos propios. Además de estos atributos propios, tanto en la generalización con en la especialización, los atributos de las entidades de mayor nivel son heredados por las entidades de menor nivel.

AGREGACION
Una limitación del modelo E-R es la imposibilidad de expresar relacionamientos entre relacionamientos. La solución es usar la agregación. La agregación es una abstracción que permite manejar relacionamientos como entidades de mayor nivel.
Considérese el siguiente caso: algunos empleados trabajan en proyectos y durante su trabajo usan  diferentes máquinas. Usando las construcciones conocidas hasta ahora del modelo E-R, obtendríamos el siguiente diagrama:



Sin embargo, este diagrama no muestra claramente el hecho de que una máquina es usada por "un EMPLEADO asignado a un PROYECTO". Para ello, podemos realizar la agregación del tipo de relacionamiento TRABAJA y los tipos de entidades EMPLEADO y PROYECTO en un tipo de entidad de mayor nivel llamado TRABAJO. Este tipo de entidad puede ser tratado como cualquier otro tipo de entidad.
------------------------------------------------------------------------------------------------------------------