Diseño de base de datos: Modelo Entidad Relación (II)

Anuncio
Diseño de base de datos:
Modelo Entidad Relación
(II)
I.
Relaciones
Una relación es una asociación entre dos o más entidades. Así, por ejemplo, podría
existir una relación entre la entidad Empleado y un Proyecto que se encuentra
realizando.
Las relaciones en el modelo E-R se representan mediante un rombo, tal y como se
puede ver en la siguiente figura:
Figura 1. Representación de relaciones
Una relación queda caracterizada por las propiedades:

Nombre: deben tener un nombre que las identifique unívocamente.

Grado: número de tipos de entidad sobre las que se realiza la asociación. La
relación juega_en entre Jugador y Equipo, será binaria, es decir, su grado sería
dos.

Cardinalidad: permite especificar si todas las ocurrencias de una entidad
participan o no en la interrelación establecida con otra(s) entidad(es). Es decir,
se puede definir la cardinalidad de un tipo de entidad como el número mínimo
y máximo de ocurrencias de un tipo de entidad que pueden estar relacionadas
con una ocurrencia del otro, u otros tipos de entidad que participan en el tipo
1
de interrelación. Su representación gráfica es una etiqueta del tipo (0,1), (1,1),
(0,N) ó (1,n).
A continuación veremos el tipo de relaciones existentes según su cardinalidad:
1. Reflexivas
Una entidad se relaciona consigo misma. Por ejemplo pensemos en una
relación que sea “es supervisado”. Así, en una empresa, un empleado es
supervisado por su jefe inmediatamente superior, pero este a su vez es un
empleado.
Figura 2. Ejemplo de relación reflexiva
2. Relaciones1:1 (Uno a Uno)
Sucede cuando un registro de una tabla sólo puede estar relacionado con un único
registro de la otra tabla y viceversa. La clave foránea se ubica en alguna de las 2 tablas.
Figura 3. Relaciones 1:1
Un ejemplo de relación 1:1 podría ser la existente entre un Empleado y un Puesto de
trabajo. Un Empleado solo puede tener un Puesto de trabajo, y viceversa.
2
Figura 4. Representación de cardinalidad 1 a 1
3. Relaciones1: N (Uno a Muchos)
Sucede cuando un registro de una tabla, llamada tabla secundaria, sólo se relaciona
con un único registro de la otra tabla o tabla principal pero, a su vez, un registro de la
tabla principal puede estar relacionado con más de un registro en la tabla secundaria.
La clave foránea se ubica en la tabla secundaria (del lado de la N).
Figura 5. Relaciones 1:N
Un ejemplo de relación de este tipo es la anterior entre Alumno y Curso. En este caso,
la tabla Alumno debe contener una clave foránea que referencia a la tabla Curso, ya
que lo contrario sería imposible (piensa por un momento cómo sería).
Figura 6. Representación de cardinalidad 1 a N
4. Relaciones N: M (Muchos a Muchos)
Se produce cuando un registro de una tabla puede estar relacionado con más de un
registro de la otra tabla y a la inversa. En este caso las dos tablas no están relacionadas
3
directamente, si no que se añade una tabla intermedia, que incluya los pares de valores
relacionados entre sí (es decir, las claves primarias de cada tabla).
La clave de esta tabla se conforma por la unión de los campos claves de las tablas que
relaciona.
Figura 7. Relaciones N:M
Figura 8. Representación de la cardinalidad N a M
II.
Conceptos Avanzados
5. Entidades débiles
Las entidades débiles no están bien definidas sino es con relación a otra entidad.
Normalmente, estas relaciones son del tipo 1:N, y aunque no tengan clave primaria, sí
que tienen un discriminante o clave parcial, es decir, un atributo que diferencia a esa
entidad del resto de las relacionadas con la entidad fuerte.
Pensemos en la entidad Capítulo (de un libro por ejemplo). Un capítulo podemos
querer identificarlo por su título, o por su número. El título no lo identifica de manera
unívoca, ya que puede haber varios capítulos con el mismo nombre en distintos libros.
Lo mismo pasa con el número. Solo habrá un capítulo 1 por libro, pero casi todos los
libros tendrán capítulo 1. Es por ello que Capítulo es una entidad débil, y para
4
identificarlo y diferenciarlo de todos los capítulos de todos los libros, debe ser a través
del libro al que pertenece. Así pues, el libro El Quijote tendrá un primer capítulo, que se
identifica de manera única con el par de atributos <ISBN, numero>.
La clave primaria de una entidad débil se forma con unión de la clave primaria de la
entidad fuerte (asociada con la entidad débil) y los atributos discriminantes. Se
representan mediante líneas dobles y el discriminador se marca un doble subrayado.
Figura 9. Ejemplo relación débil
2. Atributos multivaluados
Como ya vimos anteriormente, éstos son atributos que pueden representar varios
valores simultáneamente para una misma ocurrencia de una entidad. Se representan
mediante una elipse doble. Por ejemplo el teléfono, ya que una persona puede tener
varios números de teléfono.
Figura 10. Atributo multivaluado
3. Atributos Compuestos
Son atributos que están formados por otros atributos que a su vez pueden ser simples
o compuestos.
5
Figura 11. Atributo compuesto
A continuación tienes un ejemplo bastante completo que recoge atributos de los
distintos tipos vistos hasta ahora.
Figura
12.
Ejemplo
de
representación
de
atributos
4. Relaciones ternarias
Como su propio nombre indica son relaciones en las que participan 3 entidades. Por
ejemplo, la relación existente entre un empleado que vende un producto a un cliente.
Figura 13. Relación ternaria
6
5. Herencia
También conocida como especialización generalización o ISA. Un conjunto de entidades
puede incluir subgrupos de entidades. Por ejemplo, la entidad Persona con atributos
nombre, calle y ciudad. Imaginemos que estamos diseñando una base de datos para
una tienda. En este contexto, una persona puede ser:

Cliente: quiere almacenar el atributo número de tarjeta de puntos.

Empleado: quiere tener guardado el atributo salario.
La entidad de nivel más alto se denomina superclase (Persona), mientras que las de
nivel más bajo se denominan subclases (Empleado y Cliente). Las subclases heredan
todos los atributos y la participación en las relaciones de la superclase.
Figura 14. Ejemplo de herencia
Las jerarquías se representan mediante rectángulos y un rombo invertido entre los
supertipos y los subtipos como se aprecia en la imagen anterior. La palabra ISA viene
del inglés IS A o en español ES UN, e indica que toda ocurrencia del supertipo es
también una ocurrencia de uno o varios de los subtipos.
Características generales

Toda ocurrencia de un subtipo es una ocurrencia del supertipo, y las
cardinalidades serán siempre (1,1) en el supertipo, y (0,1) ó (1,1) en los
subtipos.

Todo atributo del supertipo pasa a ser un atributo de los subtipos.
7
Así, tenemos que cada jerarquía se puede caracterizar por dos propiedades:

Total / Parcial: todos los miembros u ocurrencias del supertipo son también
miembros de alguno de los subtipos (total) o lo contrario (parcial). Es decir, si la
relación de herencia contempla todos los posibles subtipos que pueden
pertenecer a ese supertipo se dirá que es total, si puedes contemplar alguna
ocurrencia de algún subtipo que no se encuentra representada, entonces dirás
que es parcial.

Disjunta / Solapada: ninguna ocurrencia de un subtipo puede pertenecer
simultáneamente a otro subtipo (disjunta), es decir, si pertenece a un subtipo
no pueden pertenecer a ningún otro más; o bien a la inversa (solapada).
Figura 15 Representación de los distintos tipos de herencia
8
TEST
1. Los atributos multivaluados se representan:
a. Fase 1: Con una doble línea en el óvalo o círculo que representa el atributo.
b. Fase 2: Con una línea de puntos suspensivos.
c. Fase 3: Con una línea en forma de rombo.
d. Fase 4: Con una línea de color rojo.
2. Cuando un registro de una tabla solo puede estar relacionado con un único
registro de otra tabla pero, sin embargo, un registro de la otra tabla sí puede
estar relacionado con más de un registro de la primera tabla, hablamos de
una relación:
a. N:M.
b. Reflexiva.
c. 1:N.
d. 1:1.
3. ¿Cómo se representan los datos de una tabla?:
a. En filas y registros.
b. En filas (llamadas campos) y columnas (llamadas registros).
c. En columnas y campos.
d. En columnas (llamadas campos) y filas (llamadas registros).
4. En los mecanismos normales de representación mediante tablas de un
conjunto de relaciones del modelo Entidad-Relación:
a. Las relaciones ternarias se representan mediante dos tablas.
b. Las entidades débiles no generan tabla.
c. Las relaciones de ISA pueden generar más de una tabla (supertipo, subtipo,
etc).
d. Cada relación siempre genera una tabla.
5. Un conjunto de entidades débiles del modelo E-R:
a. Si tiene más de una clave candidata, entonces no puede tener atributos
multivaluados.
b. No puede tener atributos multivaluados.
9
c. Deben estar identificadas por la combinación de su discriminante con la
clave primaria de una entidad fuerte.
a. Siempre deben intervenir en dos o más relaciones con otras entidades del
modelo.
6. En un Modelo Entidad-Relación, la cardinalidad máxima y mínima de los tipos
de entidades participantes en un tipo de relación es:
a. El número máximo y mínimo de tipos de subentidades que participan en
una relación.
b. El número máximo y mínimo de ocurrencias (registros) de un tipo de
entidad que pueden estar relacionadas con una ocurrencia de otro, que
participa en el tipo de relación.
c. El número máximo y mínimo de atributos que un tipo de entidad tiene.
d. El número máximo y mínimo de subtipos de un tipo de entidad que se
relacionan con el supertipo de una entidad dominante
7. A partir del siguiente diagrama indica qué tipo de ISA se está representando:
a. Solapada y total.
b. Solapada y parcial.
c. Exclusiva y total.
d. Exclusiva y parcial.
8. Dadas las siguientes especificaciones: existe una relación de herencia entre
una clase base VEHÍCULO, y sus clases hijas: MOTOCICLETA, TURISMO Y
CAMIÓN. ¿De qué tipo señalarías la relación de herencia?
a.
Solapada y total.
10
b. Solapada y parcial.
c.
Exclusiva y total.
d. Exclusiva y parcial.
9. Indica la afirmación correcta:
a. Las relaciones reflexivas siempre generan una tabla intermedia.
b. Las relaciones 1:N siempre generan una tabla intermedia.
c. Las relaciones N:M siempre generan una tabla intermedia.
d. Las relaciones 1:1 siempre generan una tabla intermedia.
10. ¿Cómo representarías una relación de un alumno que a su vez es delegado de
clase?
a. Sería una especialización o ISA. De la superclase alumno se deriva una clase
DELEGADO.
b. Es una relación entre la entidad débil DELEGADO y la fuerte ALUMNO.
c. Una relación 1:N entre ALUMNO y DELEGADO.
d. Como una relación reflexiva.
Respuestas:
1 a/2 c/3 d/4 c/5 c/6 b/7 b/8 d/9 c/10 d
11
Descargar