En este apartado trataremos el diseño conceptual de una base de datos mediante
el modelo ER.El modelo ER es uno de los enfoques de modelización de datos que más se utiliza
actualmente por su simplicidad y legibilidad. Su legibilidad se ve favorecida
porque proporciona una notación diagramática muy comprensiva. Es una
herramienta útil tanto para ayudar al diseñador a reflejar en un modelo conceptual
los requisitos del mundo real de interés como para comunicarse con
el usuario final sobre el modelo conceptual obtenido y, de este modo, poder
verificar si satisface sus requisitos.
El modelo ER resulta fácil de aprender y de utilizar en la mayoría de las aplicaciones.
Además, existen herramientas informáticas de ayuda al diseño (herramientas
CASE*) que utilizan alguna variante del modelo ER para hacer el diseño
de los datos.El nombre completo del modelo ER es entity-relationship, y proviene del hecho de
que los principales elementos que incluye son las entidades y las interrelaciones
(entities y relationships). Traduciremos este nombre por ‘entidad-interrelación’.
Por entidad entendemos un objeto del mundo real que podemos distinguir
del resto de objetos y del que nos interesan algunas propiedades.Algunos ejemplos de entidad son un empleado, un producto o un despacho. También son
entidades otros elementos del mundo real de interés, menos tangibles pero igualmente diferenciables
del resto de objetos; por ejemplo, una asignatura impartida en una universidad,
un préstamo bancario, un pedido de un cliente, etc.Las propiedades de los objetos que nos interesan se denominan atributos.Sobre una entidad empleado nos puede interesar, por ejemplo, tener registrados su DNI, su
NSS, su nombre, su apellido y su sueldo como atributos.El modelo ER proporciona una notación diagramática para representar gráficamente las entidades y sus atributos:
* Las entidades se representan con un rectángulo. El nombre de la entidad
se escribe en mayúsculas dentro del rectángulo.
* Los atributos se representan mediante su nombre en minúsculas unido
con un guión al rectángulo de la entidad a la que pertenecen. Muchas veces,
dado que hay muchos atributos para cada entidad, se listan todos aparte
del diagrama para no complicarlo.Se define interrelación como una asociación entre entidades.Las interrelaciones se representan en los diagramas del modelo ER mediante
un rombo. Junto al rombo se indica el nombre de la interrelación con letras
mayúsculas.Como ya hemos comentado anteriormente, una entidad debe ser distinguible
del resto de objetos del mundo real. Esto hace que para toda entidad sea posible
encontrar un conjunto de atributos que permitan identificarla. Este conjunto
de atributos forma una clave de la entidad.*Clave candidata *Clave primaria
Una interrelación puede asociar dos o más entidades. El número de entidades
que asocia una interrelación es el grado de la interrelación.Interrelaciones de grado dos*La interrelación evaluación asocia la entidad estudiante y la entidad asignatura; es decir, asocia
dos entidades.
*De forma análoga, la interrelación asignación asocia empleado y despacho.Las interrelaciones de grado dos se denominan también interrelaciones binarias.
Todas las interrelaciones de grado mayor que dos se denominan, en conjunto,
interrelaciones n-arias. Así pues, una interrelación n-aria puede tener
grado tres y ser una interrelación ternaria, puede tener grado cuatro y ser una
interrelación cuaternaria, etc.
Conectividad de las interrelaciones binarias:La conectividad de una interrelación expresa el tipo de correspondencia
que se establece entre las ocurrencias de entidades asociadas con la
interrelación. En el caso de las interrelaciones binarias, expresa el número de ocurrencias de una de las entidades con las que una ocurrencia
de la otra entidad puede estar asociada según la interrelación. Una interrelación binaria entre dos entidades puede tener tres tipos de conectividad:* Conectividad uno a uno (1:1). La conectividad 1:1 se denota poniendo
un 1 a lado y lado de la interrelación. * Conectividad uno a muchos (1:N). La conectividad 1:N se denota poniendo
un 1 en un lado de la interrelación y una N en el otro.
* Conectividad muchos a muchos: (M:N). La conectividad M:N se denota
poniendo una M en uno de los lados de la interrelación, y una N en el otro.Dependencias de existencia en las interrelaciones binarias:En algunos casos, una entidad individual sólo puede existir si hay como
mínimo otra entidad individual asociada con ella mediante una interrelación
binaria determinada. En estos casos, se dice que esta última entidad
es una entidad obligatoria en la interrelación. Cuando esto no
sucede, se dice que es una entidad opcional en la interrelación.
En este punto, y antes de continuar explicando construcciones más complejas
del modelo ER, puede resultar muy ilustrativo ver la aplicación práctica de las
construcciones que hemos estudiado hasta ahora. Por este motivo, analizaremos
un caso práctico de diseño con el modelo ER que corresponde a una base
de datos destinada a la gestión de las inscripciones en un conjunto de casas de
colonias. El modelo ER de esta base de datos será bastante sencillo e incluirá
sólo entidades, atributos e interrelaciones binarias (no incluirá interrelaciones
n-arias ni otros tipos de estructuras).
En algunos casos, una entidad individual sólo puede existir si hay como
mínimo otra entidad individual asociada con ella mediante una interrelación
binaria determinada. En estos casos, se dice que esta última entidad
es una entidad obligatoria en la interrelación. Cuando esto no
sucede, se dice que es una entidad opcional en la interrelación. Introducción al diseño de bases de datos
La descripción siguiente explica con detalle los requisitos de los usuarios
que hay que tener en cuenta al hacer el diseño conceptual de la futura base
de datos:
Conectividad de las interrelaciones ternarias.Cada una de las tres entidades asociadas con una interrelación ternaria
puede estar conectada con conectividad “uno” o bien con conectividad
“muchos”. En consecuencia, las interrelaciones ternarias pueden tener
cuatro tipos de conectividad: M:N:P, M:M:1, N:1:1 y 1:1:1.Caso general: conectividad de las interrelaciones n-arias. Lo que hemos explicado sobre la conectividad para las interrelaciones ternarias
es fácilmente generalizable a interrelaciones n-arias.Una interrelación n-aria puede tener n + 1 tipos de conectividad, teniendo
en cuenta que cada una de las n entidades puede estar conectada con
“uno” o con “muchos” en la interrelación.Para decidir si una de las entidades se conecta con “uno” o con “muchos”, es
necesario preguntarse si, fijadas ocurrencias concretas de las otras n – 1 entidades,
es posible conectar sólo una o bien muchas ocurrencias de la primera entidad: * Si la respuesta es que sólo una, entonces se conecta con “uno”.
* Si la respuesta es que muchas, la entidad se conecta con “muchos”.
Una interrelación recursiva es una interrelación en la que alguna entidad está asociada más de una vez.1) Interrelación recursiva binaria: interrelación en la que las ocurrencias
asocian dos instancias de la misma entidad*. Las interrelaciones binarias recursivas
pueden tener conectividad 1:1, 1:N o M:N, como todas las binarias.
En esta interrelación también es posible expresar la dependencia de existencia
igual que en el resto de las interrelaciones binarias.En una interrelación recursiva, puede interesar distinguir los diferentes papeles
que una misma entidad tiene en la interrelación. Con este objetivo, se
puede etiquetar cada línea de la interrelación con un rol. En las interrelaciones
no recursivas normalmente no se especifica el rol; puesto que todas las
entidades interrelacionadas son de clases diferentes, sus diferencias de rol se
sobreentienden.Algunas interrelaciones recursivas no presentan diferenciación de roles; entonces,
las líneas de la interrelación no se etiquetan.2) Interrelación recursiva n-aria: interrelación recursiva en la que las ocurrencias
asocian más de dos instancias.
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 interrelación que ayuda a identificarla. Una entidad débil se representa con un rectángulo doble, y la interrelación
que ayuda a identificarla se representa con una doble línea.
En este subapartado estudiaremos algunas construcciones avanzadas que extienden
el modelo ER estudiado hasta ahora. En este apartado se encuentra:*Generalización/Especializacion*Entidades Asociativas
La generalización/especialización permite reflejar el hecho de que
hay una entidad general, que denominamos entidad superclase, que se
puede especializar en entidades subclase:a) La entidad superclase nos permite modelizar las características comunes
de la entidad vista de una forma genérica.
b) Las entidades subclase nos permiten modelizar las características
propias de sus especializaciones.
Es necesario que se cumpla que toda ocurrencia de una entidad subclase
sea también una ocurrencia de su entidad superclase.En la generalización/especialización, las características (atributos o interrelaciones)
de la entidad superclase se propagan hacia las entidades subclase. Es lo
que se denomina herencia de propiedades.La generalización/especialización puede ser de dos tipos:
a) Disjunta. En este caso no puede suceder que una misma ocurrencia aparezca
en dos entidades subclase diferentes. Se denota gráficamente con la
etiqueta D.
b) Solapada. En este caso no tiene lugar la restricción anterior. Se denota gráficamente con la etiqueta S.Además, una generalización/especialización también puede ser:
1) Total. En este caso, toda ocurrencia de la entidad superclase debe pertenecer
a alguna de las entidades subclase. Esto se denota con la etiqueta T.
2) Parcial. En este caso no es necesario que se cumpla la condición anterior. Se
denota con la etiqueta P.
Slide 13
2.2.2 Entidades Asociativas
La entidad que resulta de considerar una interrelación entre entidades
como si fuese una entidad es una entidad asociativa, y tendrá el mismo
nombre que la interrelación sobre la que se define.La utilidad de una entidad asociativa consiste en que se puede interrelacionar
con otras entidades y, de forma indirecta, nos permite tener interrelaciones en
las que intervienen interrelaciones. Una entidad asociativa se denota recuadrando
el rombo de la interrelación de la que proviene.El mecanismo de las entidades asociativas subsume el de las entidades débiles
y resulta todavía más potente. Es decir, siempre que utilicemos una entidad
débil podremos sustituirla por una entidad asociativa, pero no al revés.Aunque las entidades débiles se puedan sustituir por el mecanismo de las entidades
asociativas, es adecuado mantenerlas en el modelo ER porque resultan
menos complejas y son suficientes para modelizar muchas de las situaciones
que se producen en el mundo real.
En este subapartado veremos un ejemplo de diseño conceptual de una base de
datos mediante el modelo ER.Se trata de diseñar una base de datos para la gestión del personal de una entidad
bancaria determinada que dispone de muchos empleados y de una amplia
red de agencias. La siguiente descripción resume los requisitos de los usuarios
de la futura base de datos.