You are on page 1of 11

http://exa.unne.edu.

ar/depar/areas/informatica/anasistem
2/public_html/apuntes/maf/cap4.htm
Modelamiento OO. Muy buena pgina, tiene todo bien
organizado

Diagramas de Entidad- Relacin.

Porqu son tiles los Modelos de Datos en el Anlisis de


Sistemas.
El diagrama de entidad- relacin, tambin conocido como DER o
diagrama E_R, es un modelo de red que describe con un alto nivel de
abstraccin la distribucin de datos almacenados en un sistema.
Por qu podramos estar interesados en modelar datos en un sistema?
En primer lugar porque las estructuras de datos y las relaciones pueden
ser tan complejas que se desear enfatizarlas y examinarlas
independientemente del proceso que se llevar a cabo.
El diagrama de entidad- relacin es una herramienta efectiva de
modelado para comunicarse con el grupo de administracin de base de
datos. Basndose en la informacin presentada por el DER, este grupo
puede ver el tipo de claves o ndices o apuntadores que se necesitarn
para llegar de manera eficiente a los registros de las bases de datos.
Para el analista, el DER representa un gran beneficio tambin: enfatiza
las relaciones entre almacenes de datos en el DFD que de otra forma se
hubieran visto solo en la especificacin de proceso.

Los componentes de un DER.


Existen cuatro tipos de componentes principales en un diagrama de
Entidad- Relacin:

1.
2.
3.
4.

Tipos de objetos.
Relaciones.
Indicadores asociativos de tipo de objeto.
Indicadores de supertipo/ subtipo.
Tipos de objetos.

Se representa en un DER por medio de una caja rectangular.


Representa una coleccin o conjunto de objetos (cosas) del mundo real
cuyos miembros individuales o instancias tienen las siguientes
caractersticas:
Cada una puede identificarse de manera nica por algn
medio. Existe alguna forma de diferenciar entre instancias
individuales del tipo de objeto.
Cada uno juega un papel necesario en el sistema que se
construye. Es decir para que el tipo de objeto sea legitimo, debe
poder decirse que el sistema no puede operar sin tener acceso a
esos miembros.
Cada uno puede describirse por uno o ms datos.

Un tipo de Objeto.

El objeto es algo material del mundo real, y el tipo de objeto es su


representacin en el sistema. Sin embargo, un objeto tambin puede ser
algo no material: por ejemplo horarios, planes, estndares, estrategias,
mapas, etc.

Relaciones.
Los objetos se conectan entre si mediante relaciones. Una relacin
representa un conjunto de conexiones entre objetos. Cada instancia de
la relacin representa una asociacin entre cero o ms ocurrencias de
un objeto y cero o ms ocurrencias del otro.

La relacin representa algo que debe ser recordado por el sistema, no


pudo haberse calculado o derivado mecnicamente.
Puede existir ms de una relacin entre dos objetos.
Notaciones alternativas para Relaciones.

Representacin mediante rombo, no puede indicarse


cardinalidad ni orden.
Notacin de punto ancla, el inconveniente no deja visible el
nombre de la relacin.
En el ejemplo, el cliente es el punto ancla, objeto primario desde
el cual debe leerse la relacin.

La relacin consiste en un cliente conectado con N artculos, el


cliente podr adquirir de 0 a N artculos, pero se indica que solo
habr un cliente en cada instancia de relacin.

Notacin flecha de dos puntas, alternativa para relaciones de 1 a


muchos, mientras que se emplea una flecha simple o lnea simple;
para relaciones de 1 a 1. Aparece el nombre de la relacin.

Indicadores Asociativos de Tipo de Objetos.


Esta es una notacin especial, representa algo que funciona como
objeto como relacin. Otra forma de considerarlo es que el tipo
asociativo de objeto representa una relacin acerca de la cual se desea
mantener alguna informacin.
Por ejemplo imaginemos una relacin compra entre cliente y artculo,
pero supongamos que deseamos recordar datos acerca de la instancia
de cada compra como hora del da en que se hizo, entonces estos
atributos corresponden a la compra; no corresponde almacenarlos en
articulo ni en cliente.

Compra funcionar ahora como tipo de objeto del cual almacenaremos


informacin; una relacin que conecta los tipos de objeto Articulo y
Cliente que existirn con o sin la Compra. La Compra depende de la
existencia de Cliente y Articulo.

Indicadores de Subtipo / Supertipo.


Los tipos de objetos de objetos de Subtipo / Supertipo consisten en
tipos de objetos de una o ms sub- categoras conectados por una
relacin.

Por ejemplo una categora general Empleado y las sub- categoras son
Empleado Asalariado y Empleado Por Horas. Los subtipos se conectan
al supertipo por una relacin sin nombre, el supertipo se conecta a la
relacin por una lnea que tiene una barra.

En esta notacin el supertipo se describe por datos que se aplican a


todos los subtipos, por ejemplo todos los empleados se describen por:
nombre
domicilio particular
aos de servicio
Por el contrario cada subtipo se describe por medio de datos diferentes,
de otro modo no hara falta hacer distincin entre ellos.
Por ejemplo Empleado Asalariado se describe por:
salario mensual
porcentaje anual adicional
Y el Empleado por Horas por:
paga por hora
cantidad por tiempo extra
hora de comienzo

Reglas para la construccin de Diagramas de EntidadRelacin.


El modelo inicial de objetos y relaciones usualmente se derivara de 1) su
comprensin de la aplicacin del usuario, 2) entrevistas con el usuario,
3) cualquier otro tipo de recoleccin e investigacin de informacin que
pueda usar.
No debe esperar que el primer diagrama de E-R que haga sea el final,
que revisar con el usuario o entregar al diseador del sistema. Como
todas las dems herramientas de modelado, los diagramas de E-R
deben revisarse y mejorarse muchas veces. La primer versin ser solo
un borrador y las dems versiones se realizarn utilizando una serie de
reglas de refinamiento que se presentan a continuacin.
Aadir tipos de objetos adicionales.
Despus de haber desarrollado el primer DER, el siguiente paso es
agregar datos del sistema a los diversos tipos de objetos.
El proceso de asignacin puede ofrecer una de tres razones para crear
nuevos tipos de objetos:
Es posible encontrar datos que pueden asignar a algunas
instancias de un tipo de objeto pero no a otras.
En este caso se necesitar crear un conjunto de subtipos
abajo del tipo de objeto con el que ha estado trabajando, y
asignar los datos especficos a los subtipos apropiados. Por
ejemplo en el desarrollo de un sistema de personal y se
identifica un tipo de objeto Empleado. Muchos de los datos
se aplican a todas las instancias de un empleado, como
fecha_de_contratacin, pero luego se descubren datos como
numero- de- embarazos que debe atribuirse solo a
empleadas. Esto llevara a crear Empleados Varones y
Empleadas como subtipos de la categora general de
Empleado.

Pueden descubrirse datos aplicables a todas las


instancias de dos objetos distintos.

Si esto ocurre, deber crearse un supertipo nuevo y


asignarle los datos comunes al supertipo. Por ejemplo, tal
vez se identific Cliente de Contado y Cliente a Crdito
como dos tipos de objetos distintos cuando se cre el DER
para un sistema de pedidos. Sin embargo, existen datos
como nombre_del_cliente y domicilio_del_cliente describen
ambos tipos de cliente de la misma forma, lo cual apoyara
la creacin de un supertipo Cliente.

Puede descubrirse que algunos datos describen relaciones


entre otro tipo de objetos.

En estos casos debera reemplazarse la relacin desnuda entre los dos


objetos con un tipo asociativo de objeto. Por ejemplo en un primer
borrador de DER existe una relacin de Compra entre Cliente y Articulo.
Durante la asignacin de datos puede encontrarse con que hay un dato
fecha- de- compra que 1) parece pertenecer a la relacin Compra y 2)
proporciona datos acerca de la interaccin de un Cliente con un
Artculo. Esto sugiere que debe sustituirse la relacin de Compra por un
tipo asociativo de objeto.

Por ultimo, podran presentarse grupos que se repiten. Por


ejemplo consideremos el tipo de objeto Empleado con los datos
obvios que lo componen como nombre, domicilio, etc. Suponiendo
que hay datos adicionales como nombre_del_hijo, edad_del_hijo,
etc. Entonces podramos describir un objeto nuevo llamado Hijo,
porque existen mltiples instancias de informacin relacionadas
con los hijos de cada instancia de un Empleado y cada instancia
de informacin relacionada se define de manera nica por el
nombre_del_hijo. El proceso de eliminar objetos incluidos en otros
es parte de una actividad de refinamiento ms general llamada
normalizacin.

Eliminar Tipos de Objetos.


Existe un buen nmero de situaciones en las que los refinamientos del
DER llevan a la eliminacin de tipos de objetos y relaciones
redundantes o errneos. Examinaremos cuatro situaciones comunes:
Tipos de objetos que consisten solo en un identificador.
Existe en estos casos la oportunidad de eliminar el tipo de
objeto y asignar el identificador, como dato a un tipo de
objeto relacionado.
Este refinamiento solo tiene sentido si existe una
correspondencia uno a uno entre instancias del objeto que
est a punto de ser eliminado e instancias del objeto
relacionado.
Por ejemplo imagine que se creo para un sistema de
personal dos tipos de objetos Empleado y Cnyuge,
relacionados por una relacin Casado con. Durante el
proceso de asignar datos a los diversos objetos, puede
descubrirse que el nico dato que se guarda del Cnyuge es
su nombre. En este caso el refinamiento ser eliminar
Cnyuge como tipo de objeto e incluir nombre- del- cnyuge
como dato dentro del objeto Empleado.

Tipos de objetos para los cuales existe solo una instancia.


Por ejemplo imaginemos que se muestra la relacin entre
Paciente y Medicamentos de un hospital, pero supongamos
que la nica informacin que se guarda acerca del

medicamento es su nombre y supongamos tambin que el


hospital slo administra un tipo de medicamento. En este
caso el medicamento es una constante y no tiene que
mostrarse en el diagrama. Esto significa que el diagrama no
tendra un almacn de datos llamado Medicamentos.

Tipos asociativos de objetos flotantes.


Recordando el ejemplo anterior del hospital, s como antes
se sugiri Medicamento es un objeto de instancia nica,
solo con identificador, entonces se eliminara. Pero
supongamos ahora que Tratamiento es un tipo de objeto
asociativo entre Paciente y Medicamento; aunque ahora se
conecte solo con un tipo de objeto sigue siendo un tipo de
objeto asociativo. Esto se conoce como tipo de objeto
asociativo flotante, es legitimo en un DER aunque poco
usual.

Relaciones derivadas.
Las relaciones que pueden derivarse o calcularse deben eliminarse del
DER, debe mostrar los requerimientos para los datos almacenados.
Por ejemplo si la relacin Renovar entre Conductor y Licencia puede
calcularse basndose en alguna fecha, entonces debe eliminarse. Esto
lleva a que los tipos de objetos no estn conectados, no es necesario que
todos los tipos de objetos estn conectados entre s.

You might also like