Elementos del modelo ER

Entidades

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:

Ejemplo dominios

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"

Ejemplo de dominios

Tipo de atributos

Los atributos pueden clasificarse desde dos puntos de vista: funcionalidad y estructura.

  1. 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.

    Ocurrencias de clientes

    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.

    Atributos descriptores

    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.

  2. 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.

    Atributo simple

    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.

    Atributo multivalente

    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".

    Atributo compuesto

    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.

    Atributo compuesto multivalente

    Posibles ocurrencias:

    Posibles ocurrencias

Ejercicios sobre Entidades y Atributos

Ejercicio 1

  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

  1. 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

  1. 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.

  2. Piensa qué otra información se podría informatizar en el hipermercado, obteniendo otras entidades y sus respectivos atributos.

  3. 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

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.

Relación

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":

Relación

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":

Relación

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:

Unarias

Posibles ocurrencias de la relación "Estar_casado":

Persona  Persona
Pep  Pepa
Maria  Albert
Marco  Juana
... ...

Binarias

(grado 2), cuando asocian dos entidades

Binarias

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

Ternarias

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:

Relaciones

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:

Relaciones

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

Solución ejercicio 4

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:

Ejemplo binaria

Suponiendo que tenemos las siguientes ocurencias:

Pintar relacion conjuntos

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:

Relacion

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.

    De uno a uno

    • 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.

    De uno a muchos

    • 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.

    De muchos a muchos

    • 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):

    más de una relación

¿Cómo pintar una relación unaria?

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.

Pintar una relación unaria

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):

Pintar una relación unaria

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):

Relación ternaria

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):

Ocurrencias

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):

Cardinalidades máxima y mínima

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

Soluciones ejericio 7

Ejercicio 8

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

Posible solución

Solución ejercicio 8

Ejericico 9

Pone la conectividad a estas relaciones matrimoniales :

Ejercicio 9

Posible solución

Solución ejercicio 9

¿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.

Solución ejercicio 9

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

Solución ejercicio 10

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

Solución ejercicio 11

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) Solución ejercicio 12

b)
Solución ejercicio 12

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)

Ejemplo restricción 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)

Restricción de Identificación

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 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

Solución ejercicio 13a

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

Solución ejercicio 14b

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".