Elementos del modelo ER
Entidades

Una entidad representa un conjunto de "personas, lugares, cosas, conceptos o sucesos (reales o abstractos), de interés para la organización". Es ese objeto sobre el que queremos almacenar información en la BD.
Hay que diferenciar entre entidad y ocurrencias de la entidad: entidad es la estructura genérica y ocurrencia de entidad es cada uno de los objetos que representa esa entidad (pero que no se pone en el esquema ER, claro). Así, por ejemplo:
-
La entidad LIBROS se refiere a la estructura que nos describe las características de los libros.
-
Las ocurrencias de LIBROS serán cada uno de los libros, como por ejemplo el del Nombre de la Rosa, el del Tirant lo Blanc, el de Nosotros los valencianos...
Representación de las entidades
Una entidad se representa con un rectángulo etiquetado con el nombre de la entidad en mayúsculas. Un nombre de entidad sólo puede aparecer una vez en el esquema. Los nombres de las entidades son sustantivos (ya veremos que el nombre de las relaciones son verbos) y es aconsejable ponerlos en plural ("PAISES" y no "PAÍS").
Pero existen 2 tipos de entidades: débiles y fuertes. Las débiles se representarán con doble recuadro. Lo veremos más adelante ya que primero es necesario explicar el concepto de relación entre entidades.
Atributos
Es cada una de las propiedades que tiene una entidad (o una relación , ya veremos). El atributo se representa mediante elipses con un nombre, unidas con un arco en la entidad (o relación) que describe.
En el ejemplo anterior, código, nombre y tipos son los atributos de la entidad LIBROS.
Dominio del atributo
El conjunto de posibles valores que puede tomar un atributo recibe el nombre de dominio. Algunos autores ponen el dominio en cada atributo y después describen el dominio indicando los posibles valores. Por ejemplo:

Dominios:
-
d_código_lib: número
-
d_nombre_lib: combinación de 50 caracteres alfabéticos
-
d_tipo_lib: una de las siguientes letras: P, F, I, H, A
- (correspondientes a Miedo, Ficción, Infantil, Humor, Ensayo)
Por simplicidad
Por simplicidad, en el ER no pondremos el dominio de cada atributo, sino que sólo indicaremos los posibles valores en aquellos campos donde lo indique el análisis de requerimientos de forma explícita. Por ejemplo:
- "Los empleados tendrán un DNI, un nombre y un estado civil, que sólo podrá tener los valores S, C, D o V"

Tipo de atributos
Los atributos pueden clasificarse desde dos puntos de vista: funcionalidad y estructura.
-
Según su funcionalidad podemos distinguir:
Atributo identificador
- Atributo identificador: permite distinguir entre las distintas ocurrencias de una entidad. Se representa subrayando el nombre del atributo. También se le llama " la clave " de la entidad. Dos ocurrencias de una entidad no pueden tener el mismo valor en el atributo identificador.

Posibles ocurrencias de la entidad CLIENTES:
DNI 76.333.333H 87.333.445A ~~76.333.333H~~ 54.233.567C conviene que toda entidad tenga un atributo identificador.
Atributo descriptor
- Atributo descriptor: describe las ocurrencias de una entidad o relación. Es decir: son los atributos "que no son clave". Se representa simplemente con la elipse, sin subrayar el nombre. Además de esto, un atributo descriptor puede ser "no nulo" y esto se simboliza mediante un pequeño círculo entre el arco y la elipse. Serán atributos que consideremos que deben tener un valor obligatoriamente para cada ocurrencia de la entidad. Los atributos claves son no nulos pero no se pone el círculo.

Posibles ocurrencias de la entidad CLIENTES:
DNI Nombre Data_naix 76333333H Pep 08/07/1970 87333445A Abdón 08/07/1970 54233567C Nieves 01/12/1998 45654322N Nieves 12/12/2002 77654432D Pepa -- -- --- --- Pueden haber 2 o más clientes que han nacido el mismo día. Puede ser que haya un cliente del que no conocemos la fecha de nacimiento.
-
Según su estructura podemos distinguir:
Atributo Simple
- Atributo simple: para cada ocurrencia de la entidad o relación que califican, el atributo toma un único valor atómico. Es decir, es el caso de atributo "normal". En el ejemplo siguiente, "DNI", " Data_naix" y "Dirección" son atributos simples.

Posibles ocurrencias de la entidad CLIENTES:
DNI Data_naix Dirección 76333333H 08/07/1970 C/Moro, 13 (Sueca) 87333445A 04/03/1970 C/Sequial, 45 (Algemesí) 54233567C 01/12/1998 C/Moro, 13 (Alginet) -- --- --- Atributo multivalente
- Atributo multivalente: para cada ocurrencia de la entidad que califica, el atributo puede tomar varios valores. Se pone una "n" sobre el arco del atributo.

Posibles ocurrencias de la entidad CLIENTES:
DNI Teléfonos 76333333H 96-170-33-44 87333445A 96-171-33-46 96-171-33-47 636-092-555 54233567C 67437567G 96-170-44-64 699-076-433 -- --- Atributo compuesto
- Atributo compuesto: está formado por un conjunto de otros atributos. Una ocurrencia de un atributo compuesto estará formada por una ocurrencia de cada uno de sus "sub-atributos".

Posibles ocurrencias de la entidad CLIENTES:
Dirección = Calle + Número + Población
DNI Dirección -- Calle Número Población 76333333H C/Moro 13 Sueca 54233567C C/Sequial 45 Algemesí 67437567G C/Moro 13 Alginet -- -- -- -- el atributo compuesto parece que no sea necesario, ya que podríamos descomponerlo en atributos simples. Pero no podríamos hacerlo en el caso de tener un atributo compuesto multivalente (por ejemplo, n direcciones). Además se ve más claro si lo ponemos en forma de atributo compuesto.
Atributo compuesto multivalente
- Atributo compuesto multivalente: para cada ocurrencia de la entidad que califica, el atributo puede tomar varios valores, y cada uno de estos valores está formado por un conjunto de otros atributos.

Posibles ocurrencias:

Ejercicios sobre Entidades y Atributos
Ejercicio 1
- De los siguientes elementos hay 3 que son entidades. Piensa cuáles son y ponles los atributos correspondientes con los símbolos del ER. Indica también las claves respectivas (atributos identificadores), los campos que no deberían admitir nulos, y si puede haber algún atributo multivalente.
| datos | datos | datos | datos |
|---|---|---|---|
| edad | ordenadores | metros_cuadrados | apellidos |
| cantidad_ventanas | aulas | alumnos | planta |
| mem_disco_duro | teléfonos | dni | código_ordenador |
| num_aula | velocidad_cpu | nombre | RAM |
| -- | -- | -- | -- |
Respuesta correcta
- Entidades: AULAS, ALUMNOS, ORDENADORES
- Atributos de AULAS: num_aula (clave), planta, cantidad_ventanas (no nulo)
- Atributos de ALUMNOS: dni (clave), nombre, apellidos (no nulo), edad
- Atributos de ORDENADORES: código_ordenador (clave), RAM, velocidad_cpu, mem_disco_duro
Ejercicio 2
- Identifica en cada apartado, cuál sería la entidad débil y cuál la fuerte.
- a) Facturas / Clientes
- b) Notas / Alumnos
- c) Ciudades / Países
Respuesta correcta
- a) Facturas (débil) / Clientes (fuerte)
- b) Notas (débil) / Alumnos (fuerte)
- c) Ciudades (débil) / Países (fuerte)
Ejercicio 3
-
En un hipermercado quieren tener información de los productos que tienen a la venta. Piensa todos los atributos posibles que podría tener la entidad "productos" y ponlos en la entidad siguiendo el modelo ER para indicar si son atributos: identificadores o descriptores; no nulos; simples o multivalentes; compuestos; o compuesto multivalente.
-
Piensa qué otra información se podría informatizar en el hipermercado, obteniendo otras entidades y sus respectivos atributos.
-
Indica 2 o 3 posibles ocurrencias de cada entidad.
Respuesta correcta
-
Atributos de la entidad PRODUCTOS:
- código_producto (clave, identificador, no nulo)
- nombre_producto (descriptor, no nulo)
- precio (descriptor, no nulo)
- categoría (descriptor, no nulo)
- fecha_caducidad (descriptor, no nulo)
- proveedores (multivalente, descriptor)
- características (compuesto multivalente: marca, peso, volumen)
-
Otras entidades:
- CLIENTES: dni (clave), nombre, apellidos, teléfono
- PEDIDOS: número_pedido (clave), fecha_pedido, cliente_dni (no nulo)
-
Posibles ocurrencias:
- PRODUCTOS:
- 001, "Leche", 1.20€, "Lácteos", 2024-12-31, ["Proveedor1", "Proveedor2"], {marca: "MarcaA", peso: "1L", volumen: "1L"}
- 002, "Pan", 0.80€, "Panadería", 2024-10-15, ["Proveedor3"], {marca: "MarcaB", peso: "500g", volumen: "500g"}
- CLIENTES:
- 12345678A, "Juan", "Pérez", "612345678"
- 87654321B, "Ana", "Gómez", "698765432"
- PEDIDOS:
- 1001, 2024-09-01, 12345678A
- 1002, 2024-09-02, 87654321B
- PRODUCTOS:
Relaciones
Definimos la relación como la asociación o correspondencia entre entidades. Llamamos relación a la estructura que relaciona 2 o más entidades. Mientras que ocurrencia de una relación es la relación existente entre una ocurrencia de una entidad y otra ocurrencia de la otra entidad.
Así, por ejemplo:
-
Relación ESCRIBIR:
- estructura que describe la relación entre la entidad AUTORS y la entidad LIBROS.
-
Ocurrencias de la relación ESCRIBIR:
- "Joanot Martorell" - "Tirant lo Blanch".
- "Cervantes" - "Don Quijote de la Mancha"
Representamos la relación mediante un rombo etiquetado con el nombre de la relación, unido mediante arcos a las entidades asociadas. Aquí, vemos que la relación Escribir asocia a un autor con un libro.

Una relación se caracteriza por su nombre, sus atributos, el grado y la conectividad:
El nombre de la relación
Identifica la relación (etiqueta del rombo). En un diagrama ER no puede haber 2 relaciones con el mismo nombre (tampoco puede haber 2 entidades con el mismo nombre). En el siguiente ejemplo, el nombre es "Estar_casado":

Los atributos de la relación.
La relación puede tener 0, 1 o varios atributos propios. Éstos se representan como hemos dicho antes (con elipses) pero "colgando" de la relación. Estos atributos no son de ninguna de las entidades sino de la propia relación. Por ejemplo, para indicar la fecha de boda de un hombre y una mujer, este atributo no depende de la entidad HOMBRES ni de la entidad MUJERES, sino de la relación entre las 2 entidades. Es decir, el atributo " Data" es de la relación "Estar_casado":

El grado radica en la relación
Cantidad de entidades que participan en ella. Puede ser de grado 1, 2, 3 donde:
Simplicidad de los apuntes
A veces no ponemos los atributos por simplicidad de los ejemplos. Pero sí que los pondremos en la E-R.
Unarias
(grado 1), cuando una entidad se relaciona consigo misma:

Posibles ocurrencias de la relación "Estar_casado":
| Persona | Persona |
|---|---|
| Pep | Pepa |
| Maria | Albert |
| Marco | Juana |
| ... | ... |
Binarias
(grado 2), cuando asocian dos entidades

Posibles ocurrencias de la relación "Conduce":
| Coche | Piloto |
|---|---|
| Ferrari | Carlos Sainz |
| Aston Martin | Fernando Alonso |
| -- | -- |
Símbolos
Los símbolos de las relaciones (rombos y triángulos) "se pintan" de una forma u otra pero eso lo veremos en el apartado siguiente.
Ternarias
(grado 3), cuando asocian tres entidades

Posibles ocurrencias de la relación "impartir":
| Profesor | Grupo | Asignatura | Horas |
|---|---|---|---|
| María | 1DAM-SP | BD | 5 |
| Alfredo | 1DAM | BD | 5 |
| Abdó | 1DAM | PRG | 8 |
| Joan Gerard | 1DAM-SP | PRG | 8 |
| --- | --- | --- | --- |
N-arias
(grado n), cuando se asocian más de 3 entidades.
Como no suele darse (no veremos).
¡Cuidado! ¿Atributo o relación?
Cómo saner cuándo es un atributo y cuándo es una relación
NO podemos poner un atributo en una entidad que haga referencia a otra entidad existente. Es decir:

Si no tuviéramos la entidad CIUDADES en nuestro ER estaría bien poner el atributo ciudad en la entidad CLIENTES. Pero si ya tenemos la entidad CIUDADES, es necesario quitar ese atributo y relacionar CLIENTES con CIUDADES:

Ejercicios sobre relaciones
Ejercicio 4
Tenemos las entidades EQUIPOS, JUGADORES y TEMPORADAS. Invéntate 2 o 3 atributos de cada una (uno de ellos deberá ser la clave) y dibuja las relaciones necesarias (con nombre y posibles atributos) para poder guardar la siguiente información:
- Partidos jugados con el correspondiente resultado de goles.
- Los jugadores que ha tenido cada equipo en cada temporada y el sueldo que cobraba cada uno.
- Cuántos minutos ha jugado cada jugador en cada temporada y cuántos goles ha marcado (independientemente del equipo en el que jugará).
Posible solución

Ejercicio 5
Invéntate posibles relaciones (de diferentes grados) entre las entidades que han salido en ejercicios anteriores. Recuerda poner nombres coherentes y ponles también algún atributo.
Posibles respuestas
| Tipo de Relación | Entidades | Relación |
|---|---|---|
| Relación Unaria | EMPLEADOS | Es_supervisor_de |
| JUGADORES | Es_compañero_de | |
| Relación Binaria | JUGADORES, EQUIPOS | Pertenece_a |
| JUGADORES, PARTIDOS | Juega_en | |
| Relación Ternaria | JUGADORES, EQUIPOS, TEMPORADAS | Juega_en_temporada_para |
| JUGADORES, PARTIDOS, TEMPORADAS | Participa_en |
La conectividad de la relación
Cantidad máxima de ocurrencias con que puede estar relacionada una ocurrencia en una relación.
Por decirlo de una manera de ir por casa, la conectividad de una relación es la forma en que pintaremos los triángulos de la relación.
¿Cómo pintar una relación binaria?
Ejemplo:

Suponiendo que tenemos las siguientes ocurencias:

Para pintar los triángulos de la relación debemos hacer dos preguntas sobre si una ocurrencia de una entidad puede estar relacionada con más de una ocurrencias de la otra entidad. Preguntaremos esto usando el verbo de la relación: una en activa y otra en pasiva ("en sentido contrario"). Es decir:
| Pregunta | Respuesta | Acción |
|---|---|---|
| ¿Dado 1 profesor, de cuantos alumnos puede ser tutor? | De muchos | triángulo negro en la parte de alumnos. |
| ¿Dado 1 alumno , por cuántos profesores puede ser tutorizado? | Sólo 1 | triángulo blanco en la parte de profesores. |
| --- | --- | --- |
Por tanto, la conectividad de la relación ser_tutor es 1:M (uno a muchos). "Uno" (triángulo blanco) en la parte de PROFESORES y "Muchos" (triángulo negro) en la parte de ALUMNOS:

Error común
Cuidado en NO hacer la pregunta así: "Dados ~~muchos ~~profesores, ¿cuántos alumnos...?".
Siempre la haremos a partir de una ocurrencia: "Dado 1 profesor, cuántos..."
Tipo de conectividades en relaciones binarias:
Los tipos de conectividades de una relación binaria son "de 1 a 1" (1:1), "de 1 a muchos" (1:N) y "de muchos a muchos" (N:M). Como hemos dicho antes, esta conectividad, se representa pintando de negro la parte del rombo que haga referencia al "muchos". Y en blanco, la parte que hace referencia a la entidad con conectividad "1".
-
De 1 a 1: por cada ocurrencia de A sólo tenemos una de B, y viceversa.

- Un coche solo puede ser conducido por un piloto (en un momento determinado)
- Un piloto solo puede conducir un coche (en un momento determinado)
-
De 1 a muchos: cada ocurrencia de la entidad A puede estar relacionada con muchas ocurrencias de B. Pero cada ocurrencia de B sólo puede estar relacionada con una ocurrencia de A.

- Un profesor puede ser tutor de muchos alumnos
- Un alumno puede ser tutorizado por un profesor
-
De muchos a muchos si por cada ocurrencia de A podemos tener cualquier número de ocurrencias de B, y viceversa.

- Un profesor puede impartir muchos módulos
- Un módulo puede ser impartido por muchos profesores
Entre dos entidades puede existir más de una relación (con igual o distinta conectividad):

¿Cómo pintar una relación unaria?

Supongamos que la entidad PERSONAS tiene 4 ocurrencias (Pep, Pepet, Pepeta y Pepiquet). La relación ser_padre guardará parejas de ocurrencias de PERSONAS donde, en cada pareja, se cumple que uno es padre del otro.
Ejemplo
Supongamos que Pep es padre de Pepet y Pepeta; y que Pepet es padre de Pepiquet.

Para saber cómo pintar la relación unaria (es decir, saber cuál es su conectividad) debemos hacer las mismas preguntas que en las relaciones binarias. Lo que ocurre es que ahora tenemos la misma entidad en las 2 partes de la relación. Es como si tuviéramos la siguiente situación (pero NO se hace así, ya que en un ER no pueden haber 2 entidades con el mismo nombre):

Para saber si pintamos o no la parte derecha, hacemos la pregunta de izquierda a derecha, con el nombre de la relación. - 1 persona puede ser padre... ¿de cuántas personas? De muchas.
Para saber si pintamos o no la parte izquierda, hacemos la pregunta de derecha a izquierda, con el "contrario" del nombre de la relación.
- 1 persona puede ser hija... ¿de cuántas personas (como padre)? Sólo de 1
Vemos que de una ocurrencia del conjunto de la izquierda pueden salir MUCHAS flechas, pero a una ocurrencia del conjunto de la derecha sólo le puede llegar UNA flecha.
Los tipos de conectividades en las relaciones unarias son los mismos que las binarias: 1:1, 1:M y M:M
¿Cómo pintar una relación ternaria?
Las conectividades de las relaciones ternarias se expresarán con 3 datos, correspondientes a las conectividades de las respectivas 3 entidades de esa relación. Por ejemplo: (1:1:M) (1:M:M), etc.
Por ejemplo, la siguiente relación ternaria tiene conectividad (1:M:M):

Para saber cómo hemos pintado la relación "impartir" hemos tenido que hacer 3 preguntas en la relación. En cada pregunta se parte de una pareja de ocurrencias de dos entidades y se pregunta con cuántas ocurrencias de la 3ª de las entidades puede estar relacionada (como máximo, claro). Consejo: si nos inventamos ocurrencias para hacer las preguntas, quizás lo encontraremos más fácil.
Ejemplo
Ahora hacemos las preguntas:
-
El profesor Abdó, en el grupo 1DAM... -> ¿cuántas asignaturas puede impartir? Muchas (BD y PRG por ejemplo)
-
El profesor Abdó, la asignatura de BD... -> ¿a cuántos grupos la puede impartir? Muchos (1DAM y 1DAM-SP por ejemplo)
-
La asignatura BD en el grupo 1DAM-SP... -> ¿cuántos profesores pueden impartirlo? Sólo 1 ( Abdó por ejemplo)
Es decir:
-
Dada una ocurrencia de PROFESORES y una ocurrencia de GRUPOS_ALUMNOS, pueden tener asociadas muchas ocurrencias de ASIGNATURAS. Es decir, un profesor puede impartir a un grupo de alumnas muchas asignaturas. (1 prof., 1 grupo) -> M asignaturas
-
Dada una ocurrencia de PROFESORES y una ocurrencia de ASIGNATURAS, pueden tener asociadas muchas ocurrencias de GRUPOS_ALUMNOS. Es decir, un profesor puede impartir una asignatura en muchos grupos de alumnos. (1 prof, 1 asignatura) -> M grupos
-
Dada una ocurrencia de ASIGNATURAS y una ocurrencia de GRUPOS_ALUMNOS, pueden tener asociadas sólo una ocurrencia de PROFESORES. Es decir, una asignatura puede ser impartida en un grupo de alumnos sólo por un profesor. (1 asignatura, 1 grupo) -> sólo 1 profesor
Las posibles conectividades de las ternarías son: 1:1:1, M:M:M, 1:M:M, 1:1:M
Ejemplos de posibles ocurrencias de la relación "impartir" anterior:
Las relaciones ternarias representan tríos de ocurrencias (uno de cada entidad que relacionan). Por tanto, vamos a suponer que queremos introducir esas ocurrencias (una vuelta tuvimos la correspondiente tabla creada):

Otra notación para representar la conectividad
La conectividad es "pintar o no los triángulos". También se le llama la cardinalidad máxima. Algunos autores representan la cardinalidad máxima y la mínima con parejas de datos (mín, máx):

En el ejemplo anterior están representadas, entre paréntesis, las cardinalidades (mínima, máxima) de las relaciones.
Explicación de las cardinalidades del ejemplo anterior:
Cardinalidades respecto a la relación " Escribir ":
-
Un autor puede escribir como mínimo 1 libro y, como máximo, muchos libros (1,n).
-
Un libro puede ser escrito como mínimo por 0 autores (anónimo) y como máximo por muchos (0,n).
Cardinalidades respecto a la relación "Nacer":
-
Un autor ha nacido únicamente en una ciudad: mínimo y máximo es 1. Por tanto, (1,1).
-
En una ciudad puede no haber nacido nadie y pueden haber nacido muchos: (0,n)
Cardinalidades respecto a la relación "Morir":
-
Un autor todavía no ha muerto o ha muerto en una única ciudad. Por tanto, (0,1).
-
En una ciudad puede no haber muerto nadie y pueden haber muerto muchos: (0,n)
No suele usarse esta notación
No suele usarse esta notación, ya que la cardinalidad máxima se puede representar con la conectividad (el color del rombo), y la cardinalidad mínima se puede representar con las restricciones de existencia (lo veremos más adelante). Es decir:
| En lugar de indicar | Usaremos |
|---|---|
| ( 0, | ( Nada. Es decir, por defecto el mínimo es 0) |
| ( 1, | La restricción de existencia : E (lo veremos más adelante) |
| , 1) | Triángulo correspondiente del rombo: blanco |
| , n) | Triángulo correspondiente del rombo: negro |
| --- | --- |
Ejercicios sobre relaciones con conectividad
Ejercicio 6
Pon la conectividad a las relaciones de los ejercicios 4 y 5 anteriores.
Ejercicio 7
Invéntate relaciones de diferentes tipos:
- Diferente grado: unarias / binarias / ternarias
- Diferente conectividad: 1:1 / 1:M / M:M / M:M:M / ...
Aunque no se ponga en el ER, invéntate también algunas ocurrencias de las entidades y, sobre todo, ocurrencias de las relaciones.
Posibles soluciones

Ejercicio 8
Invéntate 2 entidades con más de una relación entre ellas.
Posible solución

Ejericico 9
Pone la conectividad a estas relaciones matrimoniales :

Posible solución

¿Cómo harías para representar la relación estar_casado_por_lo_civil?
Posible solución
No nos sirve separar las entidades HOMBRES y MUJERES en dos entidades diferentes, ya que no se permitirían las relaciones homosexuales. Por tanto, la relación estar_casado_por_lo_civil sería una relación unaria que relaciona la entidad PERSONAS consigo misma. La conectividad sería 1:1, ya que una persona solo puede estar casada con una persona, y una persona solo puede estar casada con una persona.

Ejercicio 10
Diseña un esquema ER para un pequeño aeropuerto, con los siguientes requerimientos:
- Control de cada avión registrado en el aeropuerto (Número, matrícula, antigüedad, fecha registro, ...).
- Cada avión es de un tipo determinado, recogiendo de cada tipo su modelo, capacidad y peso. Puede haber muchos aviones del mismo tipo.
- Control de los hangares (Código hangar, capacidad y localización) donde se estacionan los aviones. Cada avión tiene designado un hangar pero en un hangar pueden estacionar muchos aviones.
- Control de las aerolíneas (nombre, dirección, teléfono). Hay que guardar a qué compañía pertenece cada avión y en qué fecha se realizó la compra.
- Control de pilotos (número de licencia, nombre...). Cada piloto está calificado para pilotar determinados tipos de aviones. Es necesario anotar cuántas horas de vuelo tiene cada piloto en cada tipo de avión.
- Control de empleados de mantenimiento (código, nombre, salario y turno).
- Tipo de mantenimientos (código, descripción, horas requeridas). Por ejemplo: limpieza, revisión de motores, revisión de ruedas...
- Es necesario guardar los mantenimientos que hace cada empleado de mantenimiento en cada avión y de qué tipo de mantenimiento se trata. Además, para cada uno de esos mantenimientos es necesario registrar la fecha obligatoriamente y unas observaciones opcionales.
Posible solución

Ejercicio 11
Realiza el esquema ER para una base de datos en la que se desea guardar la información relativa a algunos aspectos de un campeonato mundial de fútbol, considerando los siguientes supuestos:
- Un jugador (código, nombre) pertenece a un único equipo.
- Un jugador puede actuar en distintos puestos, pero en un determinado partido sólo puede jugar en un puesto.
- De los colegiados queremos saber código y nombre.
- En cada partido queremos saber el código del partido, el equipo de casa, el de afuera, el resultado de goles, la fecha y 3 colegiados: un juez de línea para la banda derecha, otro para la izquierda y un árbitro (un colegiado puede realizar una función en un partido y otra distinta en otro partido).
Posible solución

Ejercicio 12
La Consellería quiere tener información de institutos (código, nombre), profesores (código, nombre) y tipos de enseñanza (código, nombre). Vamos a ver diferentes supuestos para reflejar que entre determinadas entidades no siempre se dan las mismas relaciones ni tienen las mismas conectividades, sino que dependerá de las necesidades de los usuarios de la BD y/o de los requerimientos del sistema. Identifica las relaciones en cada uno de los siguientes supuestos:
-
a) A la Consejería le interesa saber cosas como:
- ¿Qué tipos de enseñanza se da en cada instituto?
- Qué profesores trabajan en cada instituto y en qué institutos trabaja un profesor.
- Qué tipos de enseñanza da cada profesor.
- La cantidad de horas semanales que un profesor realiza en un instituto.
- La cantidad de horas semanales que un profesor imparte un tipo de enseñanza determinada.
-
b) A la Consejería le interesa saber cosas como:
- Qué profesores dan un tipo de enseñanza determinada en un instituto determinado (por ejemplo, quiere saber qué profesores dan ciclos ASI en el instituto St. Vicent Ferrer de Algemesí).
- Qué tipos de enseñanza da un profesor determinado en un instituto determinado (por ejemplo, quiere saber qué tipos de enseñanza da el profesor Abdó Garcia en el instituto St. Vicent Ferrer de Algemesí).
- En qué institutos da un profesor determinado un determinado tipo de enseñanza.
- La cantidad de horas semanales que un profesor imparte un tipo de enseñanza determinada en un instituto determinado.
-
c) Se cumplen las siguientes condiciones:
- En un instituto, un mismo profesor no puede dar más de un tipo de enseñanza.
- En un instituto, un tipo de enseñanza puede ser impartido por distintos profesores.
- Un profesor no puede impartir un tipo de enseñanza en más de un instituto.
Posible solución
a)

b)

c) En este caso la conectividad de tipos de enseñanza e ìnstitutos` estarían en blanco, es decir, tendrían una cardinalidad de 1.
2.4. Entidades débiles
Ahora que ya sabemos qué es una relación, podemos hablar de definir qué es una entidad débil y una fuerte.
- Entidad fuerte: Sus ocurrencias no necesitan estar relacionadas con ocurrencias de otras entidades.
- Entidad débil: Sus ocurrencias necesitan estar relacionadas con ocurrencias de alguna entidad.
Si una entidad es débil, se dice tener una restricción de existencia (E). Además puede tener restricción de identificación (ID). Vamos a ver estas restricciones y cómo se representan.
Restricción de existencia (E)

Restrincción de Existencia E
Una entidad tiene una restricción de existencia respecto a una relación si cada ocurrencia de esa entidad no puede existir sin estar relacionada con alguna otra ocurrencia de la otra entidad. Dicho de otra forma: si desaparece una ocurrencia de una entidad fuerte, todas las ocurrencias de la entidad débil que dependen en existencia de la misma desaparecen con ella
Representación:
Se representan con el doble recuadro y una E en el arco de la relación correspondiente.
Restricción de identificación (ID)

La entidad EJEMPLARES tiene una restricción de identificación (ID) respecto a la relación pertenecer ya que para identificar un ejemplar en concreto, además del número de copia, es necesario decir a qué libro pertenece (el código del libro de la entidad LIBROS).
Es decir: realmente, la clave de los ejemplares está compuesta: código_libro + núm_copia
Restricción de identificación ID
Una entidad tiene una restricción de identificación respecto a una relación cuando, además de la restricción de existencia, sus ocurrencias no pueden identificarse sólo mediante su clave, sino que también necesitan la clave de la entidad fuerte de la que depende.
Representación :
Se representan con el doble recuadro y un ID en el arco de la relación correspondiente.
Importante
si una entidad tiene una R.ID, también tendrá una RE pero no a la inversa.
Otras restricciones de integridad
Las restricciones de integridad (o simplemente "restricciones") son limitaciones a los datos, como por ejemplo, las que ya hemos visto:
-
Restricciones en un atributo:
-
Si el atributo dni de personas es clave , significa que existe la restricción de que dos personas no puedan tener el mismo dni.
-
Si el atributo estado_civil de una persona tiene un dominio (Soltera, Casada, Divorciada, Viuda) significa que existe la restricción de que los valores de ese atributo no pueden ser otros.
-
-
Restricciones en una relación:
- Si la relación usar (entre alumnos y ordenadores) tiene la conectividad de M:1, ese "1" significa que existe la restricción de que un alumno/a no puede usar más de 1 ordenador.
-
Restricciones en una entidad:
-
Si la entidad profesores tiene una E sobre la relación pertenecer (hacia departamentos) significa que existe la restricción de que no podrá haber un profesor que no pertenezca a ningún departamento.
-
Si la entidad ejemplares tiene un ID sobre la relación pertenecer (hacia libros) significa que existe la restricción de que el número de ejemplar no es suficiente para identificarlo entre todos los ejemplares (es necesario también el código del libro ).
-
Pues bien, en ocasiones en los requerimientos de una base de datos aparecen otras restricciones pero que no pueden ser captadas en el ER. En esos casos se especificarán en lenguaje natural, a continuación del esquema ER, en un apartado de "Otras restricciones". Por ejemplo:
Otras restricciones:
- Un alumno no puede matricularse de 2º si no tiene terminado el 1er curso.
- La suma de las horas que cada profesor imparte en cada asignatura no puede superar 20 horas.
- Un profesor no podrá ser jefe de departamento y tutor al mismo tiempo.
Ejercicios sobre entidades débiles
Ejercicio 13
Supongamos las entidades ALUMNOS y ORDENADORES (con los atributos que creas convenientes) y la relación asignar, que asigna ordenadores a los alumnos. Un alumno sólo puede tener un ordenador pero un ordenador puede asignarse a diferentes alumnos. Haz un esquema ER para cada uno de los siguientes supuestos:
- a) No puede haber ningún alumno sin ordenador
- b) No puede haber ningún ordenador sin asignarlo.
- c) Todos los alumnos deben tener un ordenador asignado y cada ordenador debe estar asignado obligatoriamente a un alumno al menos.
Posible solución

Ejercicio 14
En el instituto quieren tener información de las aulas (ubicación y metros cuadrados), de los ordenadores (cpu, ramo y dd) y en qué aula está cada ordenador. En la puerta de cada aula existe un cartel donde indica el código del aula. Y los ordenadores tienen una etiqueta que les identifica. Piensa cómo harías el ER en cada uno de estos dos supuestos
- a) En la etiqueta de los ordenadores existe un código diferente a cada ordenador del instituto.
- b) En la etiqueta de los ordenadores consta el código del aula y un código distinto en cada ordenador del aula.
Posible solución

Ejercicios ER completos
Hasta aquí hemos visto ejercicios parciales de una organización. Ha llegado la hora de realizar ejercicios completos de los requerimientos para una base de datos de una organización. Realice los ejercicios del fichero anexo sobre "Ejercicios ER completos".