El modelo entidad / relación - WordPress.com · Web viewSe diferencia unívocamente de cualquier...

19
El Modelo Entidad / Relación (MER) Es un modelo de datos de alto nivel. Está basado en una percepción de un mundo real que consiste en una colección de objetos básicos, denominados entidades, y de relaciones entre estos objetos. Se desarrolló para facilitar el diseño de BD, permitiendo la especificación de un esquema de la empresa que representa la estructura lógica completa de una BD. De esta forma, dentro del diseño de BD, se utiliza en la etapa de diseño conceptual, después de la etapa de análisis y conocida ya la especificación de requerimientos. El esquema generado es un esquema conceptual, el que representa la realidad requerida. Fue propuesto por Peter P. Chen entre 1976 y 1977. Posteriormente se fueron proponiendo nuevas aportaciones al modelo, lo cual explica que no exista uno sólo, sino distintos modelos o variaciones según los autores. Algunos de los objetivos que debe cumplir un esquema conceptual, en este caso generado a través del MER, son (Piattini y De Miguel): Captar y almacenar el universo del discurso mediante una descripción rigurosa. Aislar la representación de la información de los requisitos de máquina y exigencias de cada usuario en particular.

Transcript of El modelo entidad / relación - WordPress.com · Web viewSe diferencia unívocamente de cualquier...

El Modelo Entidad / Relación (MER)Es un modelo de datos de alto nivel. Está basado en una percepción de un

mundo real que consiste en una colección de objetos básicos, denominados

entidades, y de relaciones entre estos objetos.

Se desarrolló para facilitar el diseño de BD, permitiendo la especificación de un

esquema de la empresa que representa la estructura lógica completa de una

BD. De esta forma, dentro del diseño de BD, se utiliza en la etapa de diseño

conceptual, después de la etapa de análisis y conocida ya la especificación de

requerimientos. El esquema generado es un esquema conceptual, el que

representa la realidad requerida.

Fue propuesto por Peter P. Chen entre 1976 y 1977. Posteriormente se fueron

proponiendo nuevas aportaciones al modelo, lo cual explica que no exista uno

sólo, sino distintos modelos o variaciones según los autores.

Algunos de los objetivos que debe cumplir un esquema conceptual, en este

caso generado a través del MER, son (Piattini y De Miguel):

Captar y almacenar el universo del discurso mediante una descripción

rigurosa.

Aislar la representación de la información de los requisitos de máquina y

exigencias de cada usuario en particular.

A continuación se describirán los elementos básicos que emplea el MER:

entidades, relaciones y atributos, además de otros componentes

complementarios no menos importantes. Ya se ha hablado de aquellos

principales en la unidad anterior, y corresponde ahora conocer cómo se

representan y emplean para generar una realidad empresa.

1. EntidadUna entidad es "una persona, lugar, cosa, concepto o suceso, real o abstracto,

de interés para la empresa" (ANSI 1977).

Se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del

mismo tipo, o una misma entidad. Por ejemplo:

Una persona: se diferencia de cualquier otra persona, incluso siendo

gemelos.

Un automóvil: aunque sean de la misma marca, el mismo modelo, tendrán

atributos diferentes, p.e., el número de chasis o la patente).

Una casa: aunque sea exactamente igual a otra, se diferenciarán en su

dirección.

Una entidad se representa por sus características o atributos.

P.e., la entidad Persona puede llevar consigo las características: Nombre,

Apellido, Género, Estatura, Peso, Fecha de nacimiento, etc...

En el MER, la entidad se representa por un rectángulo, con el nombre de dicha

entidad escrito en la parte interior.

Entidades Persona, Préstamo, Asignatura y Auto respectivamente.

2. AtributosUn atributo es cualquier característica que describe a una entidad. Son

propiedades que permiten describir cada instancia de una entidad específica.

Ejemplo.

Entidad Alumno, con el sgte. conjunto de atributos:

(id, nombre, edad, semestre)

(1, Sofia, 18, 2 ) Instancia 1

(2, Josefa, 19, 5 ) Instancia 2

(3, Gabriela, 20, 2 ) Instancia 3

(4, Josefa, 19, 3 ) Instancia 4

...

Una instancia de entidad tiene valores específicos asignados para cada uno de

sus atributos, de esta forma, es posible su identificación unívoca.

Cada una de las instancias de entidad se diferencia de las demás por el valor

de sus atributos. Nótese que dos o más instancias de entidades diferentes

pueden tener los mismos valores para algunos de sus atributos, pero nunca

para todos.

Debe haber uno o más atributos que permitan diferenciar a una instancia de

otra distinta. Por ejemplo, el atributo identificativo que distingue a un alumno de

otro es su número de id.

El atributo se representa de la siguiente manera:

Ejemplos en entidad Persona y entidad Auto:

2.1 DominioCada atributo tiene un dominio. Éste indica el tipo de datos que será

almacenado o a restricciones en los valores que el atributo puede tomar

(Cadenas de caracteres, números, solo dos letras, sólo números mayores que

cero, solo números enteros...).

Algunas consideraciones de atributos:

2.2 Simples y Compuestos: Los atributos simples son no divisibles, en cambio

los compuestos se pueden dividir en subpartes pudiendo formar jerarquías. Por

ejemplo, nombre-cliente podría estar estructurado como un atributo compuesto

consistente en nombre, primer-apellido y segundo-apellido. Otro ejemplo:

atributo compuesto dirección-cliente, con los atributos calle, ciudad, provincia, y

código-postal. A su vez, su componente calle puede ser a su vez dividido en

número-calle, nombre-calle y piso.

Usar atributos compuestos en un esquema de diseño es una buena elección si

el usuario desea referirse a un atributo completo en algunas ocasiones y, en

otras, a algún componente.

Se representa de la siguiente manera:

En el ejemplo Persona y Nombre:

2.3 Monovalorados y Multivalorados. Los atributos vistos en los pasados

ejemplos asumen todos sólo un valor para alguna entidad concreta. Por

ejemplo, el atributo fecha_nacimiento para una entidad persona, referencia a

una fecha única, puesto que una persona tiene un solo nacimiento. Tales

atributos se llaman monovalorados: tienen un solo valor para una entidad en

particular.

Puede haber ocasiones en las que un atributo tiene un conjunto de valores

para una entidad específica. Consideremos la entidad empleado con el atributo

número-teléfono. Cualquier empleado particular puede tener cero, uno o más

números de teléfono. Este tipo de atributo se llama multivalorado; son atributos

que tienen límites inferior y superior en el número de valores para una entidad.

Por ejemplo, un banco puede limitar el número de números de teléfono

almacenados para un único cliente a dos. Colocando límites en este caso, se

expresa que el atributo número-teléfono de la entidad cliente puede tener entre

cero y dos valores.

Se representa como se ve a continuación:

2.4 Almacenados y derivados. Los atributos almacenados son aquellos

guardados en la BD. Los derivados son aquellos que es posible calcular o

derivar a partir de algunos datos almacenados.

Por ejemplo, la entidad cliente tiene un atributo préstamos que representa

cuántos préstamos tiene un cliente en el banco. Ese atributo se puede derivar

contando el número de entidades préstamo asociadas con ese cliente.

Otro ejemplo, la entidad cliente tiene un atributo edad, que indica la edad del

cliente. Si la entidad cliente tiene también un atributo fecha-de-nacimiento, se

puede calcular edad a partir de fecha-de-nacimiento y de la fecha actual. Así,

edad es un atributo derivado (de fecha de nacimiento) y fecha de nacimiento

uno almacenado.

El valor de un atributo derivado no se almacena; se calcula cuando sea

necesario.

Se representa de la siguiente manera:

Aplicado al problema de cliente, fecha de nacimiento y edad, tenemos:

2.5 Atributos con valor nulo. Se puede asignar valor nulo a algunos atributos:

Sin valor aplicable: por ejemplo el atributo titulo_universitario para personas

que no tengan este tipo de título.

De valor desconocido :

Falta: por ejemplo el atributo altura para una persona. Es seguro que toda

persona tiene un valor de altura.

Existe?: por ejemplo el atributo teléfono de una persona, puede que no

tenga o que sí tenga pero no se conozca.

Hay algunos atributos que no deben contener valor nulo: los atributos clave.

3. ClavesLa clave de una entidad es un atributo o conjunto de atributos de dicha entidad,

capaces de identificar unívocamente una instancia de la misma. Es decir, si

conocemos el valor de dichos atributos, seremos capaces de conocer a qué

ocurrencia de entidad, entre todas las posibles, hace referencia. Esto implica

que los valores de los atributos clave no se pueden repetir para dos instancias

de la misma entidad.

En nuestro ejemplo, seremos capaces de identificar de qué automóvil estamos

hablando, con sólo conocer el valor del atributo patente, ya que no existe una

misma patente para dos automóviles distintos. Los atributos marca, modelo o

color no identifican unívocamente una ocurrencia de la entidad, ya que pueden

existir dos automóviles distintos de la misma marca, modelo o color. Por ende,

patente es la clave de la entidad automovil.

En el modelo E/R, un atributo clave se representa de la siguiente forma:

En nuestro ejemplo:

Automovil (sin clave): resulta imposible identificar a alguno de los 2 autos

marca Peugeot que aparecen en la tabla.

Marca Modelo Motor Color

Peugeot 207 1.6 Rojo

Mercedes W116 3.0 Verde

Peugeot 207 1.6 Rojo

Automovil (con clave): a través de la clave, es posible identificar cualquiera de

los autos que aparecen en la tabla.

Patente Marca Modelo Motor Color

GF6534 Peugeot 207 1.6 Rojo

DE8743 Mercedes W116 3.0 Verde

MU8732 Peugeot 207 1.6 Rojo

La clave puede estar conformada por más de un atributo, así como puede ser

un atributo compuesto.

Esta clave es elegida por el diseñador dentro de un conjunto de atributos que

cumplen con la condicion de identificar una instancia de entidad. A estos

atributos les llamaremos claves candidatas y la clave elegida sera la clave

primaria.

4. RelacionesUna relación representa, como su nombre indica, una correspondencia entre

dos entidades.

Se representa por un rombo que une mediante una línea las entidades que se

asocian:

Si tenemos dos entidades automóvil y persona, podemos tener una relación

entre ellas:

La relación debe tener un nombre que sea capaz de identificar el tipo de

correspondencia entre ambas entidades. Generalmente estos nombres son

verbos:

Dicha relación se puede establecer en ambos sentidos:

Persona posee auto.

Auto pertenece a persona.

Podría haber sido tb de la siguiente forma:

Lo que semánticamente dice exactamente lo mismo que en el caso anterior.

Luego, el nombre que usemos dependerá de cada diseñador, pero debe ser

significativo y se debe mantener durante toda la etapa de diseño su coherencia.

4.1 Atributos en relaciones

Una relación también puede tener atributo(s) asociado(s).

A veces los atributos no son propios de ninguna de las 2 entidades

participantes en la relación, sino del hecho mismo de la relación.

Se representan igual que los atributos de las entidades.

Un ejemplo típico son las relaciones de tipo "histórico" donde debe constar una

fecha o una hora. Por ejemplo, supongamos que es necesario hacer constar la

fecha de compra en que persona compró el auto: la fecha es de la compra, no

de la persona, ni del auto. En tal caso, el atributo "Fecha de compra" debería

colocarse en la relación "compra".

5. Cardinalidad de una relaciónEs una forma de representar más rigurosamente una relación y a la vez aplicar

ciertas restricciones a las relaciones.

La cardinalidad de una relación representa el número de ocurrencias que se

pueden dar de una relación: va a especificar con cuantas ocurrencias de B se

puede relacionar A y con cuantas ocurrencias de A se puede relacionar B.

Ejemplo: Una persona puede comprar muchos autos y un auto es comprado

por una sola persona. Llevándolo al diagrama, tendríamos que una ocurrencia

de A (Persona) se puede relacionar con muchas ocurrencias de B (Auto) y que

una ocurrencia de B (Auto) se puede relacionar con sólo una ocurrencia de A

(Persona).

La cardinalidad puede ser de tres tipos:

Cardinalidad 1-1: cada ocurrencia de una entidad se relaciona con una

ocurrencia de otra entidad.

Ej.: una persona posee un automóvil.

Cardinalidad 1-N: también llamada uno a muchos. Cada ocurrencia de una

entidad puede relacionarse con varias ocurrencias de otra entidad.

Encontramos tambien la cardinalidad N-1: varias ocurrencias de una entidad

pueden relacionarse con una de otra entidad.

Ej.: una persona posee varios automóviles. (ejemplo más arriba).

Cardinalidad N-M: también llamada muchos a muchos. Cada ocurrencia de

una entidad puede relacionarse con varias ocurrencias de otra entidad y

viceversa.

Ej.: una persona posee varios automóviles y un automóvil puede pertenecer

a varias personas.

Sin embargo es posible restringir aún más esta relación:

Cardinalidad máxima de una relación: representa el número máximo de

ocurrencias de una entidad con las que se puede relacionar otra ocurrencia de

entidad. Ej.: una persona puede tener como máximo tres automóviles.

Cardinalidad mínima de una relación: representa el número mínimo de

ocurrencias de una entidad con las que se puede relacionar otra entidad. Ej.:

un automóvil debe pertenecer como mínimo a una persona.

Ejemplo:

Una ocurrencia de A se relaciona con mínimo una ocurrencia de B y máximo

varias ocurrencias de B, una ocurrencia de B se relaciona con mínimo una

ocurrencia de A y máximo una ocurrencia de A. Aplicado a un ejemplo:

Una persona puede comprar mínimo 1, máximo varios automóviles. Un auto

puede ser comprado por mínimo 1 persona y máximo 1 persona:

Se lee de izquierda a derecha y luego de derecha a izquierda (o al revés): Una

persona compra uno o más autos, y un auto es comprado por sólo una

persona.

Nota: N ó M también se puede definir como un número entero específico: Una

persona puede comprar mínimo 0, máximo 4 autos.

6. Entidad débil Se dice que una entidad es débil, cuando depende de otra para su existencia,

sin la cual no tienen sentido.

Una entidad débil es una entidad cuyos atributos no la identifican

completamente, sino que sólo la identifican de forma parcial. Esta entidad debe

participar en una relación que ayuda a identificarla. Para toda entidad débil,

siempre debe haber una única interrelación que permita completar su

identificación. Esta interrelación debe ser binaria con conectividad 1:N, y la

entidad débil debe estar en el lado N.

Se representan de la siguiente manera:

Si se elimina una ocurrencia de la entidad fuerte, se debe eliminar las

ocurrencias de la entidad débil asociadas.

Ejemplo: un libro tiene uno o más ejemplares, y un ejemplar es de solo un libro.

El ejemplar en si no dice mucho semánticamente, solo podría saber algo mas

de el sabiendo de que libro es el ejemplar. Por otro lado, si eliminamos un libro,

desaparecen sus ejemplares.

Aplicando la notación se vería de la siguiente forma:

Otro ejemplo: tenemos las entidades edificio (con el atributo clave

codigo_edificio) y despacho (con el atributo codigo_despacho), ésta última es

una entidad débil, ya que no somos capaces de identificar un despacho con

sólo conocer su código, sino que además se necesita conocer el código del

edificio al que se hace referencia, para determinar en qué edificio está el

despacho. Claramente si eliminamos el edificio, desaparece el despacho.

7. Generalización.En una generalización existe una jerarquía de tipos en la que se definen

sucesivos niveles de subtipos que corresponden a un supertipo.

Ejemplo: el tipo de entidad vehículo es una generalización del tipo de entidad

bicicleta, ya que todas las bicicletas son vehículos. El tipo de entidad persona

es una generalización de las entidades hombre y mujer.

Son subtipos de la generalización o supertipo (Es_un o Es_parte_de). Lo

representaremos de la siguiente forma:

Herencia de atributos

Una propiedad es la herencia de atributos. Los atributos de los supertipos se

dice que son heredados por los subtipos. Por ejemplo, cliente y empleado

heredan los atributos de persona. Así, cliente se describe mediante sus

atributos C.I., nombre y ciudad y adicionalmente por el atributo dirección;

empleado se describe mediante sus atributos C.I, nombre y ciudad y

adicionalmente por el atributo sueldo.

Cobertura total o parcial

La cobertura parcial o total permite especificar una restricción entre el supertipo

y sus subtipos, donde todos los elementos del supertipo deben pertenecer a

alguno de sus subtipos (si es total), o no (si es parcial).

En el caso anterior, la cobertura es total (t) porque una persona puede ser u

hombre o mujer, pero nada mas. Si tenemos el supertipo empleado y los

subtipos docente y administrativo, puede ser parcial (p), porque dentro de los

empleados tb hay directivos.

Cobertura exclusiva o superpuesta

La cobertura exclusiva o superpuesta permite especificar una restricción entre

los subtipos, donde los elementos que pertenecen a un subtipo pueden

pertenecer también a otro subtipo (si es superpuesto, (s)) o no (si es exclusiva

(e)).

Algunos ejemplos: