-
MODELO ENTIDAD RELACIN (MER). EXTENSIONES DEL MER.
Introduccin
Un Diagrama o Modelo Entidad Relacin (a veces denominado por su
siglas, E-R "Entity
Relationship", o, "DER" Diagrama Entidad Relacin), es una
herramienta para el modelado
de datos de un sistema de informacin. Estos modelos expresan
entidades relevantes para
un sistema de informacin as como sus interrelaciones y
propiedades. Propuesto por Peter
Chen en 1976, mediante el mismo se pretenden 'visualizar' los
elementos que pertenecen a
una Base de Datos, que reciben el nombre de entidades, las
cuales se corresponden con el
concepto de clase de la Programacin Orientada a Objeto y donde
cada tupla de una futura
relacin representara un objeto de la Programacin Orientada a
Objetos.
Desarrollo
El principal instrumento para lograr los niveles de abstraccin
que conforman la arquitectura
de un Sistema de Base de Datos (nivel externo, lgico global o
conceptual y nivel interno) es
precisamente el Modelo de Datos, que es una representacin de la
realidad que conserva
slo los detalles relevantes de esa realidad que se est
modelando. Por ejemplo, si se
considera una transaccin bancaria, el depsito en una cuenta
corriente, la oficina
encargada debe conservar ciertos detalles como el nmero de la
cuenta, monto del depsito,
fecha, nmero del cajero e ignorar otros como el nmero de gente
en el banco, las palabras
que se intercambiaron durante la transaccin, las personas que
estn en la cola, etc. Si se
analiza este aspecto en relacin con la Arquitectura de tres
niveles, habra que tener en
cuenta que tal vez, en otra visin de la realidad, detalles que
han sido considerados
irrelevantes tengan importancia y sean considerados relevantes,
por lo que diferentes
usuarios pueden tener diferentes modelos de la realidad.
Para el propsito actual, un Modelo de Datos no va ser ms que un
conjunto de conceptos
que pueden servir para describir la estructura de una BD, esto
se refiere a tipos de datos, sus
vnculos y las restricciones que deben cumplir estos datos.
Cuando un Modelo de Datos describe un conjunto de conceptos de
un problema real en
trminos comprensibles por los expertos del dominio de aplicacin,
se le llama Modelo de
Datos Conceptual. Los modelos conceptuales se usan en las
primeras fases del diseo de
Bases de Datos y los modelos lgicos en fases ms avanzadas cuando
ya se tiene una
-
definicin del SGBD que soportar la aplicacin. As se pueden
formalizar las siguientes
categoras de Modelos de Datos:
Modelos de Datos de Alto Nivel o Conceptual: dispone de
conceptos muy cercanos al
modo en que la mayora de los usuarios perciben los datos.
Modelo de Datos de Bajo Nivel o Fsico: proporciona conceptos que
describen los
detalles de cmo se almacenan los datos en la computadora,
dirigidos a especialistas
en computacin.
Modelo de Datos de Representacin o de Implementacin: es un
modelo intermedio,
cuyos conceptos pueden ser entendidos por los usuarios finales
aunque no est
demasiado alejado de la forma en que los datos se almacenarn en
la computadora.
Ejemplos:
o Relacional (Lgico basado en registros)
o Redes o Plex (Lgico basado en registros)
o Jerrquico (Lgico basado en registros)
o Entidad-Relacin (Lgico basado en objetos)
o Orientados a Objetos (Lgico basado en objetos)
Representacin de la informacin
En el proceso y construccin de todo sistema informativo
automatizado, el diseo de la BD
ocupa un lugar importante, a tal punto que esto puede verse como
un proceso relativamente
independiente dentro del diseo del sistema y compuesto por una
serie de etapas. Es por
ello que resulta de inters el estudio de los problemas
relacionados con el diseo de las
bases de datos y la modelacin de la informacin.
Cuando se habla de informacin, se hace referencia, de forma
general, a tres niveles
diferentes, tendindose a saltar de uno a otro sin establecer una
advertencia previa.
1. El primero de estos niveles es el del MUNDO REAL, en el que
existen entidades u objetos,
que no son ms que cosas o elementos que existen y estn bien
diferenciados entre s, que
poseen propiedades y entre los cuales se establecen relaciones.
Por ejemplo, una silla es
una entidad u objeto, un automvil, un empleado, un profesor, un
estudiante, que son cosas
concretas; pero tambin puede ser algo no tangible como un suceso
cualquiera, una cuenta
de ahorro, o un concepto abstracto. Entre las propiedades que
caracterizan a una entidad u
objeto pudieran encontrarse el color, el valor monetario, el
nombre, etc. De las relaciones
-
entre las entidades u objetos se habla ms adelante.
La determinacin de cierta entidad u objeto correspondiente a un
fenmeno o proceso est
muy relacionada con el nivel de abstraccin en que se est
realizando el anlisis. As, por
ejemplo, si se estudia el comportamiento de un insecto especfico
en determinadas
condiciones climticas, las propiedades y relaciones que
interesan son de un cierto tipo; sin
embargo, si se estuviera realizando un estudio de las diferentes
especies de insectos,
entonces seran otros los objetos a definir, as como las
propiedades que los caracterizaran
y las relaciones que se estableceran. Si se estuviera analizando
todo el reino animal, seran
tambin otros los objetos a definir, con sus caractersticas y
propiedades.
2. El segundo nivel es el dominio de las ideas y es en el que se
decide la informacin que
debe existir en la BD sobre un fenmeno o proceso del mundo real,
o sea, qu informacin
debe almacenarse. En este nivel es donde realmente se define el
contenido informativo que
representar al fenmeno, proceso o ente de la realidad objetiva
que se est analizando. De
modo que, en este nivel, se definen cules objetos y qu
propiedades de stos son
representativas y sobre los cuales es necesario almacenar
informacin.
En este nivel es donde se trabaja con los conceptos ms
importantes del Modelo de Datos,
que establecen la relacin entre el mundo real y la informacin
almacenada fsicamente en la
Base de Datos:
Campo o atributo: es la unidad menor de informacin sobre un
objeto almacenada en la base
y representa una propiedad de un objeto, por ejemplo el color.
Sin embargo, hay que
distinguir entre el nombre o tipo del atributo y el valor del
atributo, ya que un nombre de
atributo puede tomar diferentes valores sobre un cierto conjunto
que se denomina dominio. A
un valor de un atributo determinado o definido en el dominio
dado en un cierto momento del
tiempo, se denomina ocurrencia o instancia del atributo.
Ejemplo:
Atributo: Color, Cat_Doc
Dominio: {Azul, Rojo, Verde,...}, {PTit, PAux, Asis, Inst}
Ocurrencia: Rojo, Asis
Ahora bien, una coleccin identificable de campos asociados es un
artculo o registro y
representa un objeto con sus propiedades. Una vez ms, es
imprescindible distinguir entre
nombre o tipo de artculo y ocurrencia de artculo. Una ocurrencia
de artculo o tupla consiste
en un grupo de ocurrencias de campos relacionados, representando
una asociacin entre
ellos. Por ejemplo, tenemos un artculo correspondiente al objeto
profesor, en un fenmeno o
-
proceso de la realidad que pretenda representar el
comportamiento de una Facultad.
El nombre o tipo de artculo puede ser PROFESOR, que est formado
por los siguientes
tipos de campos o atributos:
NRO_IDENT: nmero de identidad del profesor
NOM_PROF: nombre del profesor
CAT_DOC: categora docente del profesor
DPTO: departamento docente al que pertenece el profesor
Una ocurrencia de este artculo puede ser:
45112801731, Hdez Roberto, PA, Computacin.
Un fichero o archivo o conjunto de datos puede ser definido como
un conjunto de ocurrencias
de un mismo tipo de artculo. En la prctica, a menudo interesan
las colecciones o conjuntos
de objetos similares, necesitndose almacenar la informacin de
las mismas propiedades
para cada uno de ellos, por ejemplo, el conjunto de profesores
de la Facultad.
Entonces, una Base de Datos contendr muchas ocurrencias de cada
uno de los tipos de
artculos, lo que implica que la Base de Datos, por supuesto,
tambin contendr muchas
ocurrencias de los distintos tipos de atributos. Uno de los
momentos cruciales en el diseo de
un fenmeno de la realidad objetiva que se concreta en una Base
de Datos es,
precisamente, la seleccin de los conjuntos de objetos y sus
propiedades.
Adems, existe otro concepto muy importante en este nivel, que es
el concepto de llave o
clave: un atributo o conjunto de atributos de un artculo que
define que cada ocurrencia de
artculo de la Base de Datos sea nico. En principio, cada artculo
tiene una llave, ya que se
tiene como hiptesis que cada elemento u ocurrencia del artculo
es diferente de las dems.
Por ejemplo, nmero de identidad del trabajador.
3. El tercer nivel es de los datos propiamente dichos,
representados mediante cadenas de
caracteres o de bits. En este nivel es necesario tener en cuenta
la diferencia entre tipo de
dato y valor del dato. El tipo de dato corresponde a un atributo
o tipo de atributo, que est
asociado a un tipo de artculo correspondiente, mientras que el
valor corresponde a una
ocurrencia del atributo. Sin embargo, una coleccin de bits o
caracteres que representa un
nico valor de datos y que puede existir independientemente de
cualquier informacin que se
almacena, adquiere significado slo cuando se le asocia a un tipo
de atributo. Se puede, por
ejemplo, almacenar permanentemente los valores ROJO, AZUL,
VERDE, etc. y asociarlo en
un momento determinado a un tipo de atributo a travs de los
valores que toma,
representando una ocurrencia en una tupla.
-
Es importante notar que, en general, habr asociaciones o
relaciones enlazando las
entidades bsicas. Estos enlaces se pueden establecer entre
diferentes objetos o tipos de
artculos o entre un mismo tipo de artculo. Por ejemplo, cuando
se tiene una Base de Datos
formada por dos tipos de objetos: SUMINISTRADOR y PRODUCTO, se
puede tener la
relacin "CANTIDAD", que establece la cantidad de cada producto
que abastece un
suministrador dado. Otro ejemplo pudiera ser con el artculo
PERSONA, sobre el que se
pudiera representar la relacin "SER MADRE DE", que no es ms que
una relacin que se
establece entre elementos de un mismo tipo de artculo.
Es necesario profundizar acerca de los diferentes tipos de
relaciones que pueden ocurrir en
la prctica.
Relaciones de correspondencia:
Hay que establecer la correspondencia que existe entre los
datos; esta relacin puede ser
simple o compleja. Por relacin simple se entiende una
correspondencia biunvoca (de uno a
uno) entre las ocurrencias de los objetos, o sea, entre los
artculos. Si, por ejemplo, los
atributos son Nro_Ident y nombre del profesor la correspondencia
entre ellos es simple: a
cada nombre corresponde un nmero de identidad y viceversa.
Si los atributos son Nro_ident y departamento, la relacin es ms
complicada, porque a cada
departamento corresponden varios empleados. La terminologa
corriente expresa que la
correspondencia de empleado a departamento es simple (cada
empleado es miembro de un
nico departamento), mientras que la correspondencia de
departamento a empleado es
compleja, pues cada departamento tiene, por lo general, muchos
empleados.
Hay cuatro tipos de relaciones posibles entre dos tipos de
artculos A y B: La
correspondencia de A a B puede ser simple y la recproca
compleja. La correspondencia de
A a B puede ser compleja y la recproca simple. Ambas
correspondencias pueden ser
complejas o ambas pueden ser simples.
Nombre Nro_Identidad Relacin de uno a uno
1 : 1
Nro_Dpto Nro Ident Relacin de uno a muchos
1 : M
-
A B A B A B
Un ejemplo donde ambas correspondencias son complejas, lo es la
relacin que se
establece entre PROFESOR y ESTUDIANTE por la imparticin de
clases, ya que un profesor
puede impartir clases a varios estudiantes, pero a su vez, un
estudiante puede recibir clases
de varios profesores:
PROFESOR ESTUDIANTE Relacin de muchos a muchos
N : M
Las relaciones pueden tener diferentes caractersticas:
- Aunque la mayora de las relaciones asocian dos tipos de
entidades, ste no es
siempre el caso. Por ejemplo, PROFESOR_HORARIO_ESTUDIANTE. Esto
podra
representar el hecho de que un profesor imparte clases a una
cierta hora a un cierto
estudiante. Esto no es lo mismo que la combinacin
PROFESOR_HORARIO y
HORARIO_ESTUDIANTE, ya que la informacin de que "el profesor P5
imparte clases
en el horario H1 al estudiante E4" dice ms que la combinacin "el
profesor P5 imparte
clases en el horario H1" y "el estudiante E4 recibe clases en el
horario H1".
- Las relaciones pueden establecerse entre un mismo tipo de
entidad. Por ejemplo,
una asociacin entre un profesor y otro puede venir dada por el
hecho de que un
profesor sea el jefe de otros profesores.
- En general, las mismas entidades pueden ser asociadas en
cualquier nmero de
relaciones. Por ejemplo, se puede tener una relacin
PROFESOR_ESTUDIANTE a
travs de la asignatura que se imparte y otra a travs de la
direccin del trabajo
CIENTIFICO_ESTUDIANTIL.
Es importante sealar que una asociacin entre entidades puede ser
considerada en s como
una entidad, ya que una relacin se puede ver como un objeto bien
diferenciado sobre el cual
se desea almacenar informacin. Entonces, un Modelo de Datos no
es ms que la
representacin de un fenmeno de la realidad objetiva a travs de
los objetos, sus
propiedades y las relaciones que se establecen entre ellos.
El Modelo Entidad Relacin (MER).
... el modelo ER puede ser usado como una base para una vista
unificada de los datos,
adoptando el enfoque ms natural del mundo real que consiste en
entidades e
interrelaciones Peter P. Chen 1976.
-
El MER est basado en una percepcin del mundo real que consta de
un conjunto de objetos
bsicos llamados entidades con sus atributos y de las
interrelaciones que existen entre estos
objetos. Se desarroll para facilitar el diseo de Bases de Datos
permitiendo la especificacin
de un esquema del universo de discurso que representa la
estructura completa de una Base
de Datos. El MER es uno de los diferentes modelos de datos
semnticos que existe; el
aspecto semntico del modelo reside en su intento de representar
el significado de los datos.
Este modelo es extremadamente til para hacer corresponder los
significados e interacciones
del desarrollo del mundo real con un esquema conceptual. Los
esquemas de MER usan
diagramas para representar la estructura natural de los datos,
que se nombran Diagrama
Entidad Relacin (DER). En esos diagramas los rectngulos
representan a las entidades y
los rombos representan a las interrelaciones. Las
interrelaciones son enlazadas con sus
entidades constitutivas por arcos, y el grado de la interrelacin
es indicado en el arco.
Aunque con los conceptos bsicos del MER se pueden modelar la
mayora de las
caractersticas de las Bases de Datos, algunos aspectos de estas
pueden ser expresados de
una mejor forma mediante ciertas extensiones del MER bsico.
Supongamos que deseamos modelar la Base de Datos de una empresa
productora de
proyectos de software, la informacin que se ha recogido del
anlisis de requisitos es la
siguiente:
La empresa est organizada por departamentos dirigidos por un
nico jefe, los empleados
pertenecen a un solo departamento, pero pueden trabajar en
varios proyectos de software,
estos proyectos se asignan a un departamento, pero un
departamento pudiera atender varios
proyectos a la vez, de cada proyecto se generarn varios
reportes.
Otros aspectos a controlar son:
- de los proyectos, su nmero (nico dentro de la empresa), ttulo,
presupuesto , fecha
de inicio, fecha de terminacin, el departamento responsable y
los empleados que
laboran en l.
- de los departamentos, su nombre, localizacin y su jefe que es
uno de los empleados
que pertenece al departamento.
- de los empleados, su nmero, su nombre, direccin y sexo y el
departamento a que
pertenece.
- de los reportes el nmero del reporte (consecutivo dentro del
proyecto), y el proyecto
que lo origina.
-
Entidades.
Las entidades son objetos reales o abstractos relevantes en el
universo de discurso, que
pueden ser identificadas unvocamente y acerca de los que se
colecciona informacin;
usualmente denotan una persona, lugar, cosa o evento de inters
informacional. Las
entidades son descritas a travs de atributos, si las mismas
pueden ser descritas por el
mismo tipo de atributos son consideradas como conjuntos y
referidas como un conjunto de
entidades. Los conjuntos de entidades son representados en el
diagrama del MER como un
rectngulo.
Figura: Ejemplo de un conjunto de entidades.
Interrelaciones.
Las interrelaciones son asociaciones o conexiones que existen
entre dos o ms entidades.
Las entidades relacionadas pueden pertenecer al mismo o a
distintos conjuntos de
entidades. Una interrelacin puede ser vista como una relacin
matemtica entre n entidades
cada una tomada de un conjunto de entidades, no necesariamente
diferentes, donde cada e i
es una instancia del conjunto de entidades Ei. Cada tupla de la
forma [e1, e2,, en] es una
instancia de la interrelacin.
Las interrelaciones son representadas grficamente por un rombo o
diamante conectado a
los conjuntos de entidades a travs de lneas. Una interrelacin
debe tener como mnimo dos
lneas de conexin.
Una asociacin es una forma de abstraccin en que una interrelacin
entre conjuntos de
entidades con igual nivel de abstraccin es considerada como un
conjunto de mayor nivel.
Los detalles de los conjuntos de entidades interrelacionados se
suprimen y se enfatizan los
del conjunto obtenido. Esto establece una interrelacin
Miembro_De entre conjuntos de
EMPLEADO
trabaja
-
entidades que permite determinar un conjunto de interrelaciones
a partir de los objetos
miembros.
El grado de una asociacin est dado por el nmero de conjuntos de
entidades asociados en
las mismas. Las interrelaciones unarias, binarias y ternarias
tienen grado 1, 2 y 3
respectivamente.
Las asociaciones son distinguidas por el nmero de posibles
relaciones que una entidad
determinada puede tener sobre esta. Este rango es llamado
cardinalidad y es especificado
por la cantidad mnima y mxima de instancias de la asociacin.
Tpicamente la cota inferior
es 0 o 1 y la superior 1 o n (muchos), esta forma de indicar la
cardinalidad es llamada
notacin (mn, mx) y es representada en las lneas que conectan los
rombos y los
rectngulos; que representan las asociaciones y los conjuntos de
entidades
respectivamente.
Formalmente la cardinalidad se define para asociaciones binarias
de la siguiente forma:
Cardinalidad Mnima (min-card): Considrese la interrelacin A
entre dos conjuntos de
entidades E1 y E2. La cardinalidad mnima de E1 en A, denotada
como min-card(E1, A), es la
cantidad mnima de veces que cada elemento de E1 puede participar
en A. Similarmente se
define la cardinalidad mnima de E2 y se denotada como
min-card(E2, A).
Los valores ms usados para la cardinalidad mnima son 0 y 1 pero
tambin pueden ser
usados valores mayores. Si min-card(E1, A) = 0 se dice que el
conjunto de entidades E1
tiene una participacin opcional en la asociacin. Si min-card(E1,
A) > 0 se dice que el
conjunto de entidades E1 tiene una participacin total u
obligatoria.
Cardinalidad Mxima (max-card): Considrese la asociacin A entre
dos conjuntos de
entidades E1 y E2. La cardinalidad mxima de E1 en A, denotada
como max-card(E1, A), es la
cantidad mxima de veces que cada elemento de E1 puede participar
en A. La cardinalidad
mxima de E2 se define similarmente y es denotada como
max-card(E2, A).
Los valores ms usados para la cardinalidad mxima son 1 y n, n,
m, etc. representa
cualquier nmero e indica que cada elemento de E1 puede
participar un nmero
arbitrariamente grande de veces en A. La cardinalidad mxima
tambin puede tener un valor
fijo.
La participacin de un conjunto de entidades en una asociacin se
caracteriza indicando los
valores de las cardinalidades mnima y mxima y se denota en lo
que sigue: sea A una
asociacin binaria de los conjuntos de entidades E1 y E2 con
min-card(E1, A) = m1 y max-
-
card(E1, A) = M1; entonces se dice que la cardinalidad de E1 en
A es el par (m1, M1).
Similarmente se define la cardinalidad para el conjunto de
entidades E2 en A.
El concepto de cardinalidad se puede generalizar a las
asociaciones n-aria de la siguiente
forma.
Cardinalidad Mnima (min-card) Considrese la asociacin A entre
los conjuntos de
entidades E1, E2, , En. La cardinalidad mnima de Ei en A,
denotada como min-card(Ei, A),
es la cantidad mnima de veces que cada elemento de Ei puede
participar en A, i toma
valores que estn entre 1y n.
Cardinalidad Mxima (max-card) Considrese la asociacin A entre
los conjuntos de
entidades E1, E2, , En. La cardinalidad mxima de Ei en A,
denotada como max-card(Ei, A),
es la cantidad mxima de veces que cada elemento de Ei puede
participar en A, i toma
valores que estn entre 1y n.
Para una asociacin binaria R entre los conjuntos de entidades A
y B, la cardinalidad mxima
debe ser una de las siguientes:
Uno a Uno: Una entidad en A se asocia con a lo sumo una entidad
en B, y una entidad
en B se asocia con a lo sumo una entidad en A.
(1, 1) (1, 1)
Uno a Muchos: Una entidad en A se asocia con cualquier nmero de
entidades en B.
Una entidad en B, sin embargo, se puede asociar con a lo sumo
una entidad en A.
(1, 1) (1, N)
Muchos a Uno: Una entidad en A se asocia con a lo sumo una
entidad en B. Una entidad
en B, sin embargo, se puede asociar con cualquier nmero de
entidades en A.
(1, N) (1, 1)
Muchos a Muchos: Una entidad en A se asocia con cualquier nmero
de entidades en B,
y una entidad en B se asocia con cualquier nmero de entidades en
A.
A B R
A B R
A B R
-
(1, M) (1, N)
El rol de una entidad es el papel o funcin que esta desempea en
una asociacin. La
definicin de roles permite atribuirle a un conjunto de entidades
su semntica dentro de la
agregacin aportndole mayor expresividad al esquema y permitiendo
disminuir
ambigedades en la definicin de cardinalidades (esto cobra mayor
importancia en aquellas
interrelaciones que involucran a un mismo conjunto de entidades
ms de una vez).
Atributos.
Cada entidad, instancia de un conjunto de entidades, es descrita
por un conjunto de atributos
que representan sus cualidades, caractersticas o propiedades
relevantes, y por los valores
asociados a los mismos. Las interrelaciones, al igual que los
conjuntos de entidades, tambin
pueden tener atributos. Los atributos son representados
usualmente con crculos u valos
conectados a un conjunto de entidades o una interrelacin. Para
cada atributo existe un
conjunto de valores posibles o permitidos, este conjunto de
valores es llamado dominio o
conjunto de valores de un atributo. Varios atributos pueden
compartir el mismo dominio.
Formalmente un atributo de un conjunto de entidades es una
funcin que asigna al conjunto
de entidades un dominio. Como un conjunto de entidades puede
tener diferentes atributos,
cada entidad se puede describir con un conjunto de pares
(atributo, valor), un par para cada
atributo del conjunto de entidades.
Clasificacin de los atributos:
1. Atributos Simples o Compuestos.
Atributo Simple o atmico: no son divisibles.
Alternativa: Nombre (para ocupar menos espacio en el
diagrama)
A B R
Nombre
-
Atributo Compuesto: se puede dividir en componentes ms pequeos
que
representan atributos ms bsicos con su propio significado
independiente, Ejemplo
el atributo direccin est compuesto por calle, nmero y
ciudad.
Los atributos compuestos pueden formar jerarquas, el valor del
atributo es la
concatenacin de los valores de los atributos simples que lo
constituyen.
Son tiles para las ocasiones en que el usuario hace referencia
al atributo
compuesto como una unidad unas veces y otras se refiere
especficamente a sus
componentes. Si slo se hace referencia al atributo compuesto
como un todo
entonces no hay necesidad de subdividirlo.
2. Atributo Monovaluado (univaluado) o Multivaluado.
Atributos Monovaluados: tienen un solo valor para una entidad en
particular, ejemplo
la edad es un atributo monovaluado de una persona.
Atributo Multivaluado: el atributo puede tener un conjunto de
valores para la misma
entidad, ejemplo el color de un automvil o el grado
universitario para una persona.
3. Atributo Almacenado o Derivado.
Atributos derivados: cuando se relacionan dos o ms valores de
atributos. Ejemplo la fecha
de nacimiento y la edad de una persona. En este caso la edad es
un atributo derivado del
atributo fecha de nacimiento que es un atributo almacenado. En
otras ocasiones se pueden
se pueden derivar de entidades relacionadas. Ejemplo Nmero de
Empleado se obtiene
contando la cantidad de empleados del departamento. En ciertos
casos, cierta entidad,
Nombre
color
direccin
calle
nmero
ciudad
-
podra no tener ningn valor aplicable para un atributo, en estas
situaciones crea un valor
especial llamado nulo.
Existen atributos identificadores (subrayado) y descriptivos
(sin subrayar). Los atributos
identificadores distinguen de manera nica una instancia de un
conjunto de entidades o
relaciones, mientras que los descriptivos, como su nombre lo
indica, describen la ocurrencia
de cierta entidad o relacin.
Atributos identificadores.
Alternativa: Nro_ident (para ocupar menos espacio en el
diagrama)
El identificador o llave de un conjunto de entidades E es una
coleccin de atributos o de
conjuntos de entidades relativas a E con la propiedad de
determinar unvocamente todas las
instancias de E. Una restriccin importante de las entidades de
un tipo es la restriccin de
clave o de unicidad de los atributos, aquel atributo cuyo valor
es distinto para cada entidad
individual, su nombre sirve para identificar de manera nica cada
entidad.
Formalmente un identificador se define de la siguiente manera:
sea E un conjunto de
entidades y A1,,An atributos univaluados y obligatorios de E,
sean E1,,Em otros
conjuntos de entidades conectados a E por asociaciones binarias
obligatorias, Uno a Uno o
Muchos a Uno. Considrese como un posible identificador de E el
conjunto I(E) = {A1,,An,
I(E1),,I(Em)} n 0, m 0, n + m 1; un identificador de E cumple
las siguientes
propiedades.
1. No puede haber dos instancias de E con el mismo valor del
identificador.
2. Si se suprime cualquier componente del conjunto I(E), la
propiedad 1 no se cumple.
Los identificadores se clasifican de la siguiente forma:
1. Un identificador es simple si n + m = 1; es compuesto si n +
m > 1.
2. Un identificador es interno si m = 0; es externo si n =
0.
3. Un identificador es mixto si n > 0 y m > 0.
edad
Nro_ident
-
Extensiones del Modelo Entidad Relacin (ER).
Con los elementos ya mencionados que incluye el MER, no se
pueden modelar todas las
situaciones que existen relacionadas con la informacin. Por
ejemplo, cuando la interrelacin
entre dos entidades a su vez constituye otro concepto que puede
tener atributos, relaciones
con otras entidades, etc, no es posible interrelacionar una
interrelacin con otra entidad, por
tanto se necesitan de otros elementos adicionales a los ya
mencionados.
Otro ejemplo que no se puede modelar con los conocimientos
actuales es el hecho de que
existen personas con determinada informacin, pero un grupo de
esas personas tiene
adems otros datos especficos, por ejemplo de las personas de la
Uci se tiene sus datos
generales, pero de los estudiantes se tiene adems el ao que
cursa, el grupo al que
pertenece, y de los profesores se conoce el departamento al que
pertenece, la asignatura
que imparte, etc. En este caso tampoco se conocen elementos para
representar esta
situacin
A continuacin se describirn un grupo de extensiones que tiene el
MER para representar
estas y otras situaciones.
Entidades dbiles.
El concepto de entidad dbil no es tratado con suficiente
claridad por diferentes autores, en
general hay un consenso en considerarla como una entidad que
tiene dependencia de
existencia de otra, ya sea porque sus atributos internos no son
suficientes para identificarla o
bien porque no lo son dentro del dominio de aplicacin. Aunque un
conjunto de entidades
dbiles no tiene llave primaria con sus atributos internos, al
menos en el contexto de la
aplicacin que se modela, solamente se necesita conocer la
distincin entre todas aquellas
entidades del conjunto de entidades que depende de una entidad
particular fuerte. El
discriminante de un conjunto de entidades dbiles es un conjunto
de atributos que permite
que esta distincin se haga, a este discriminante se le llama
llave parcial del conjunto de
entidades dbiles.
La llave primaria de un conjunto de entidades dbiles se forma
mediante la llave primaria del
conjunto de entidades fuertes, de cuya existencia depende el
conjunto de entidades dbiles,
y el discriminante del conjunto de entidades dbiles. El conjunto
de entidades que identifica
un conjunto de entidades dbiles se llama Propietario (Owner) del
conjunto de entidades
dbiles.
-
Un conjunto de entidades dbiles puede participar como
propietario en una interrelacin de
identificacin con otro conjunto de entidades dbiles. Los
conjuntos de entidades dbiles se
indican en los DER mediante un rectngulo dibujado con una lnea
doble y la
correspondiente interrelacin de identificacin mediante un rombo
dibujado con lneas
dobles.
Figura: Ejemplo de la representacin de entidades dbiles.
Notar que el familiar del trabajador, es a su vez una persona y
tiene suficientes atributos
como para poder ser identificado y tener una contrapartida en la
realidad. No obstante, en el
contexto de la aplicacin se desea representar solo el inters de
esa persona asociada a un
trabajador.
Existen otras situaciones donde esta dependencia es an ms
marcada y se puede
presentar el caso que un conjunto de entidades pueda no tener
suficientes atributos para
formar un identificador y para que dicho conjunto de entidades
tenga sentido, debe formar
parte de una interrelacin de identificacin con otro conjunto de
entidades denotado por id.
Con la interrelacin id se modelan las asociaciones entre
entidades genricas y especficas.
Ejemplo:
Asociaciones recursivas.
Una asociacin recursiva o unaria es definida como una asociacin
entre las instancias, al
tomar roles, de un mismo conjunto de entidades. Un conjunto de
instancias puede tomar uno
o mltiples roles dentro de un mismo conjunto de entidades.
Examinando estos roles es
posible clasificar las asociaciones recursivas en simtricas o
asimtricas y las asimtricas, a
su vez, se clasifican en jerrquicas, circulares y reflejadas
(mirrored).
-
Una asociacin recursiva es simtrica o reflexiva cuando todas las
instancias que participan
en la misma toman un nico rol y el significado semntico de la
relacin es el mismo para
todas las instancias que participan en esta, independientemente
de la direccin en que sea
vista. Estos tipos de asociaciones tambin son llamados
bidireccionales.
Una asociacin recursiva es asimtrica o no reflexiva cuando
existe una asociacin entre dos
grupos de roles distintos dentro del mismo conjunto de entidades
y el significado semntico
de la asociacin vara dependiendo de la direccin en que sea
vista. Estos tipos de
interrelaciones tambin son llamados unidireccionales.
Dentro de las asociaciones asimtricas, las jerrquicas son
aquellas en que las instancias de
un mismo conjunto de entidades son organizadas en grados,
rdenes, o clases, unas por
encima de otras. Una asociacin recursiva es circular cuando al
menos una de sus instancias
no obedece a una jerarqua determinada. En el caso de las
reflejadas son aquellas
asociaciones cuya semntica permite que una instancia de un
conjunto de entidades se
relacione con ella misma a travs la asociacin.
Especializacin.
-
Un conjunto de entidades puede incluir subgrupos de entidades
que se diferencian de alguna
forma de las otras entidades del conjunto. Por ejemplo, un
subconjunto de entidades en un
conjunto de entidades puede tener atributos que no son
compartidos por todas las dems
entidades. El proceso de designacin de subgrupos dentro de un
conjunto de entidades es la
especializacin. Un conjunto de entidades se puede especializar
mediante ms de una
caracterstica distintiva.
Muchas veces las generalizaciones son representadas a travs de
interrelaciones ISA. Las
interrelaciones ISA son un tipo especial de interrelaciones
semnticas, si A ISA B entonces B
es un concepto ms general y A es el concepto especfico. La
propiedad ms significativa de
una interrelacin ISA es la herencia. Todo lo que sea vlido para
el concepto genrico es
vlido para el concepto especfico, esto es, que todos los
atributos, sus valores y
restricciones son heredados desde el nivel ms genrico hasta el
nivel especfico.
Generalizacin.
En el MER es posible establecer jerarquas de generalizacin entre
los conjuntos de
entidades. Un conjunto de entidades E es una generalizacin de un
grupo de conjuntos de
entidades E1, E
2,, E
n si cada elemento de los conjuntos de entidades E
1, E
2,, E
n es
tambin un elemento del conjunto de entidades E. La representacin
grfica en el DER es
como se muestra en la figura. La flecha va hacia el conjunto de
entidades generalizado. En el
sentido contrario hablamos de especializacin.
-
Propiedad de cubrimiento de una generalizacin
Cubrimiento Total o Parcial. El cubrimiento de una generalizacin
es total (t) si cada
elemento del conjunto de entidades genrico es transformado en al
menos un elemento de
los conjuntos de entidades de nivel ms bajo o especficos; es
parcial (p) si existe algn
elemento del conjunto de entidades genrico que no es
transformado a algn elemento de
los conjuntos de entidades especficos.
Cubrimiento Exclusivo o Solapado. El cubrimiento de una
generalizacin es exclusivo (e) si
cada elemento del conjunto de entidades genrico es transformado
a lo sumo a un elemento
de los conjuntos de entidades especficos; es solapado (s) si
existe algn elemento del
conjunto de entidades genrico que es transformado a elementos de
dos o ms conjuntos de
entidades diferentes.
Los siguientes ejemplos ilustran las formas en que son
combinados los distintos cubrimientos
de la generalizacin.
1. El cubrimiento de la generalizacin Persona de los conjuntos
de entidades Masculino y
Femenino es total y exclusivo (t, e).
2. El cubrimiento de la generalizacin Persona de los conjuntos
de entidades Masculino y
Empleado es parcial y solapado (p, s).
3. El cubrimiento de la generalizacin Vehculo de los conjuntos
de entidades Bicicleta y
Auto es parcial y exclusivo (p, e).
4. El cubrimiento de la generalizacin Deportista de los
conjuntos de entidades Futbolista
y Tenista en una escuela que requiere que cada alumno participe
al menos en uno de
estos deportes es total y solapada (t, s).
-
La principal propiedad de la abstraccin de generalizacin es la
herencia, todas las
propiedades del conjunto de entidades genrica son heredadas por
los conjuntos de
entidades de nivel ms bajo. En trminos del MER esto quiere decir
que cada atributo,
interrelacin, y generalizacin definida para el conjunto de
entidades genricas es
automticamente heredada por todos los conjuntos de entidades de
nivel ms bajo en la
generalizacin.
Generalizacin versus Especializacin.
Para todos los propsitos prcticos, la generalizacin es una
inversin simple de la
especializacin. En trminos de DER no se distingue entre
especializacin y generalizacin.
La especializacin parte de un conjunto de entidades simples,
enfatiza la diferencia entre las
entidades dentro del conjunto mediante la creacin de distintos
conjuntos de entidades de
nivel ms bajo. Estos conjuntos de entidades de nivel ms bajo
pueden tener atributos, o
pueden participar en interrelaciones, que no se aplican a todas
las entidades del conjunto de
entidades de nivel ms alto. De hecho, la razn de que el diseador
aplique la
especializacin es representar tales caractersticas
diferentes.
La generalizacin procede del reconocimiento de un nmero de
conjuntos de entidades que
compartan algunas caractersticas comunes (se describen mediante
el mismo conjunto de
atributos y participan en las mismas interrelaciones). Basada en
sus similitudes, la
generalizacin sintetiza estos conjuntos de entidades en uno
solo, el conjunto de entidades
de nivel ms alto. La generalizacin se usa para resaltar las
similitudes entre los conjuntos
de entidades de nivel ms bajo y para ocultar las diferencias,
tambin permite economizar la
representacin para que los atributos compartidos no estn
repetidos.
Agregaciones.
Una limitacin del MER bsico es que no facilita expresar
interrelaciones entre
interrelaciones. Una interrelacin y los conjuntos de entidades
que relaciona, pueden ser
manejados como un conjunto de entidades en un nivel de
abstraccin mayor, lo que posibilita
que se pueda asociar con otros conjuntos de entidades. Este
mecanismo es conocido como
Estructura de Agregacin o Agregacin de Conjuntos de Entidades y
permite representar la
interrelacin Part_Of. La agregacin se representa en el DER como
un rectngulo
englobando a la interrelacin que la conforma.
-
Figura: Ejemplo de una agregacin
Clase membresa de una interrelacin o funcin en la
interrelacin.
Esta extensin permite especificar si la aparicin de una
ocurrencia de un tipo de entidad en
una interrelacin es obligatoria u opcional. Es obligatoria si en
la interrelacin al menos una
ocurrencia del tipo de entidad tiene que darse en la
interrelacin, en caso contrario es
opcional. Ntese que la opcionalidad puede representarse mediante
la especificacin de la
cardinalidad mnima como cero.
Ejemplo:
Aqu se introduce la semntica de que un empleado puede o no
trabajar en uno o varios
proyectos, o sea, habr entidades del tipo de entidad empleado
que no participan en la
interrelacin. Ntese que la interrelacin obligatoria u opcional
tambin puede ser expresada
a travs de las cardinalidades mnimas y mximas.
Interrelaciones de grado mayor que 2.
Interrelacin ternaria: Las interrelaciones pueden envolver ms de
dos entidades. Aquellas
que envuelven tres no son inusuales. Como un ejemplo
consideremos la Base de Datos en la
figura de abajo, la cual es para guardar informacin sobre
compaas, los productos que
estos producen y los pases a las cuales estos exportan esos
productos.
El conjunto de pases a los cuales un producto es exportado vara
de producto a producto y
tambin de compaa a compaa. La interrelacin VENTAS es ternaria,
es decir, esta
envuelve tres entidades. La funcionalidad de la interrelacin
ternaria VENTAS es
-
representada en la figura como muchos a muchos a muchos (N-M-P).
Esto refleja los
hechos siguientes sobre la interrelacin:
Para un par dado (compaa, producto) existen por lo general
muchos pases a los cuales
ese producto se vende. Para un par dado (pas, producto) existen
varias compaas que
exportan ese producto a ese pas. Para un par dado (compaa, pas)
existirn muchos
productos exportados por esa compaa a ese pas.
Figura: Una interrelacin ternaria.
La cardinalidad de la interrelacin ternaria podra ser adems uno
a muchos a muchos,
uno a uno a muchos o an uno a uno a uno y la semntica de la
interrelacin tienen que
ser cuidadosamente examinada para determinar sus
cardinalidades.
Las interrelaciones ternarias tienen que ser definidas
cuidadosamente y debera ser
introducida slo cuando la interrelacin no puede ser representada
exactamente por varias
interrelaciones binarias entre las entidades participantes. En
otro caso es probable que
surjan redundancias innecesarias en la Base de Datos resultante.
Por ejemplo, si una
compaa fabrica muchos productos y exporta todos esos productos a
un nmero de pases
diferentes, entonces dos interrelaciones binarias independientes
EXPORTA y CREA, como
se muestra en la figura ms abajo deberan ser definidas en lugar
de la interrelacin ternaria.
En este caso, es independiente del producto, y este hecho tiene
que ser reflejado por el
Modelo de Datos.
Figura: Dos interrelaciones binarias N-M.
-
Pueden existir interrelaciones de grados mayores y el
tratamiento ser parecido al que se le
da a las ternarias.
Conclusiones
La gran ventaja de los MER est en que pueden ser comprendidos
por personas que no
sean especialistas. El nmero de entidades en una Base de Datos
es por lo general
considerablemente menor que el nmero total de elementos de
datos. As, usando el
concepto de una entidad como una abstraccin para esos objetos
del mundo real sobre el
cual se desean coleccionar informaciones, se simplifican
grandemente las fases de anlisis
de los requerimientos y diseo conceptual. Un MER esquemtico
puede ser modificado y
extendido por un usuario hasta que este represente
cuidadosamente la estructura de los
datos a ser modelada. En este sentido los MER son independientes
de cualquier SGBD
particular. Estos sistemas generalmente imponen restricciones en
la forma en que los
campos pueden ser representados, considerando que el MER,
estando en un nivel superior,
puede reflejar ms cuidadosamente la estructura natural de los
datos. Adems, a diferencia
de muchas implementaciones, los MER son flexibles y extensibles,
y por tanto se adaptan
fcilmente a nuevos desarrollos.
El traspaso de un MER en una implementacin es razonablemente
directo. Cualquier SGBD
provee algn mecanismo para representar entidades y las
conexiones entre estas
(interrelaciones), pero por supuesto los compromisos tienen que
ser hechos dependiendo de
las facilidades disponibles. Los SGBD en red, por ejemplo,
generalmente imponen
restricciones sobre los tipos de interrelaciones que pueden ser
representadas directamente.
Con tales sistemas puede ser necesario descomponer
interrelaciones N-M e interrelaciones
recursivas en estructuras ms primitivas para facilitar la
implementacin.
Tambin existen software que permiten realizar la representacin
conceptual, modela los
Diagramas Entidad Relacin y posteriormente generando los
diagramas fsicos y
especficamente las Bases de Datos.