Está en la página 1de 51

Bases de Datos

Tema 2.1. Modelo Entidad-Relación

Iván Cantador
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 1

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones y claves en relaciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 2

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones y claves en relaciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
El Modelo E-R 3

• El Modelo Entidad-Relación (E-R) es un descripción de una parcela


del mundo (mini-mundo) como una colección de entidades y
relaciones entre esas entidades
• Recoge una percepción del mundo real
• No se puede implementar directamente
• Es necesario transformarlo al modelo relacional (esquema de la base
de datos)
• Elementos básicos
• Entidad: “concepto” u “objeto” distinguible de otros
• Relación: asociación entre entidades
• Atributo: propiedad de una entidad (o relación)

Prof. Peter Chen (CMU)


Creador del modelo Entidad-Relación en 1976
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Diagrama E-R 4

• Caso de estudio: base de datos de un banco en la que almacenar y


gestionar la información sobre clientes y préstamos
nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

• Rectángulos: entidades
• Rombos: relaciones
• Líneas: enlaces entre entidad-atributo y entre entidad-relación
• Elipses: atributos
‐ Elipses dobles: atributos multivaluados
‐ Elipses punteadas: atributos derivados
‐ Subrayados: atributos que son clave primaria
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Diagrama E-R 5

• Caso de estudio: base de datos de un banco en la que almacenar y


gestionar la información sobre clientes y préstamos

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 6

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Entidades (I) 7

• Una entidad modela un concepto u objeto del mundo real


• Ejemplo: “cliente de un banco”
• Cada entidad es diferenciable del resto de las entidades
• Los atributos (propiedades) caracterizan a las entidades
• Dos entidades no pueden tener todos sus atributos idénticos
• Las entidades “no” requieren de otra entidad/relación para existir en
la base de datos
• La representación gráfica de una entidad en el diagrama E-R es un
rectángulo con una etiqueta (nombre de la entidad)
nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Entidades (II) 8

• Ejemplos de entidades: cliente, préstamo


id nombre calle ciudad id cantidad

Cliente Prestamo
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Atributos (I) 9

• Los atributos describen propiedades de una entidad


• Ejemplo: Atributos de “producto”: nombre, precio, cliente, …
• Una entidad se describe por un conjunto de pares (atributo, valor)
• Entidad producto: [(nombre, “Televisión”), (precio, 60)...]
• Entidad cliente [(nombre, “Luis”), (calle, “C/La paz 1”)…]
• Dominio de un atributo: conjunto de valores permitidos
• Ejemplo: dominio del atributo precio = conjunto de los enteros positivos
• La representación gráfica de un atributo en el diagrama E-R es una
elipse con una etiqueta (nombre del atributo)

nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Atributos (II) 10

• Tipos de atributos
• Simples vs. compuestos (divididos en subpartes/subatributos)
‐ El nombre de un Cliente puede (debe) dividirse en nombre, apellido1 y
apellido2
‐ Atributos compuestos: ¿posibles entidades?

• Mono-valor vs. multi-valor (con un conjunto de valores)


‐ El telefono de un Cliente es un atributo que puede tener varios valores
• Atributos derivados, cuyo valor se deriva de otros atributos
‐ La edad de un cliente puede derivarse de su fecha nacimiento
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Atributos (III) 11

• Atributos compuestos, multi-valor y derivados en el diagrama E-R

compuesto

multi-valor derivado

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Atributos (IV) 12

• Superclave: uno o más atributos que permiten identificar de forma


única a una instancia (registro) de una entidad
• La combinación de nombre_cliente e id_cliente es una superclave
de la entidad Cliente
• Clave candidata: una superclave mínima
• id_cliente es una clave candidata de Cliente
• Clave primaria: la clave candidata elegida para identificar de forma
unívoca a una instancia de la entidad
• No puede tener valor nulo (NULL)
• No se puede repetir por dos instancias de la entidad
• Sus valores no suelen (deberían) cambiar
• Se identifica con un subrayado debajo de los nombres de los atributos
correspondientes
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones (I) 13

• Una relación es una asociación entre entidades


• Normalmente las relaciones son binarias (grado = 2), p.e. entre
Cliente y Prestamo: cliente_prestamo, tener_prestamo, …
• En ocasiones, las relaciones pueden ser ternarias o n-arias (grado > 2),
pero deben evitarse
• La representación gráfica de una relación en el diagrama E-R es un
rombo con una etiqueta (nombre de la relación) y una línea
enlazando 2 entidades correspondientes con flechas (y/o números)
para expresar cardinalidad
nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones (II) 14

• Ejemplo: relación entre Cliente y Prestamo


cliente_prestamo
id nombre calle ciudad id cantidad

cliente prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones (III) 15

• Una relación puede tener atributos


• Ejemplo: la relación entre Cliente y Cuenta puede tener un atributo
fecha de apertura

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones (IV) 16

• Rol: la función que una entidad juega en una relación


• Normalmente los roles son obvios
‐ Ejemplo: cliente_prestramo entre Cliente y Prestamo
• Hay veces que no son obvios
‐ Ejemplo: trabaja_para entre 2 Empleados (trabajador y director)
en la organización de una empresa

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 17

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones y claves en relaciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Restricciones: Cardinalidad de relaciones 18

• Cardinalidad
• Número de entidades con las que puede asociarse una entidad dada
mediante una relación
• En el Diagrama E-R, las restricciones de cardinalidad se expresan
dibujando una flecha ( ), que significa “uno”, o una línea (—), que
significa “muchos”, entre la entidad y la relación

nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones 1 a 1 19

• Uno a uno (1-1): Una instancia de entidad A está asociada a lo


sumo con una instancia de entidad B, y una instancia de B está
asociada a lo sumo con una instancia de A
• Ejemplo: un cliente sólo puede tener un préstamo

nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones 1 a N 20

• Uno a muchos (1-N): Una instancia de entidad A está asociada con


cualquier número (cero o más) de instancias de B, y cada instancia
de B, sin embargo, se asocia a lo sumo con una instancia de A
• Ejemplo: un préstamo está asociado a un cliente y un cliente se asocia
a varios (incluido 0) prestamos

nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Relaciones N a M 21

• Muchos a muchos (N-M): Una instancia de A puede estar asociada


con un número cualquiera de instancias en B (cero o más), y una
instancia de B puede estar asociada con un número cualquiera de
instancias de A (cero o más)
• Ejemplo: un cliente puede tener varios préstamos y un préstamo
puede ser solicitado por muchos clientes.
nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo: Reservas de habitación en un hotel 22

Se desea diseñar la base de datos de un sistema de gestión de


reservas de habitaciones para un hotel
El sistema tiene que:
• Dar acceso a los usuarios mediante una identificación basada en
nombre de usuario y una clave
• Proporcionar un listado con las habitaciones reservadas
• Buscar reservas clasificándolas por fecha, habitación, capacidad de las
habitaciones y usuario

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo: Reservas de habitación en un hotel 23

• Reserva: ¿relación o entidad?

Habitación Reserva Usuario

Habitación Reserva Usuario

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo: Reservas de habitación en un hotel 24

nombre
id
tipo clave

Habitacion Usuario

tipo id
capacidad

Reserva fecha

fecha_fin
fecha_inicio id

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Restricciones: Obligatoriedad de participación 25

• Restricción de obligatoriedad: indica si es imprescindible que exista


al menos una conexión entre cualquier instancia que se relaciona
con una segunda instancia de otra entidad
• No obligatorio (0): puede no existir conexión (parcial)
• Obligatorio (1 ó >1): debe existir conexión (total)
• En el diagrama E-R, las líneas dobles indican que la entidad aparece
al menos una vez
nombre domicilio numero prestamo cantidad

id ciudad

client
cliente cliente_prestamo prestamo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Restricciones: Cardinalidad y obligatoriedad 26

• En el diagrama E-R, la cardinalidad y obligatoriedad de relaciones


puede expresarse con la forma [min..max]
• Ejemplo:
‐ Puede haber clientes que no tengan prestamos asociados y clientes que
tengan varios préstamos
‐ Un préstamo si existe es porque está asociado a un cliente

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Claves de relaciones (I) 27

• Suponiendo que:
• La relación R relaciona entidades E1, E2,…
• La clave primaria de E1 es PK(E1)
• La clave primaria de E2 es PK(E2)
• …
• R no tiene atributos
• Entonces:
• PK(E1)  PK(E2)  … es una súper clave de la relación R,
pero no necesariamente una clave primaria

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Claves de relaciones (II) 28

• La clave primaria PK de una relación binaria R entre dos entidades


E1 y E2 (R: E1 → E2) se define en base a los siguientes casos:
• Caso 1: R es uno a uno
‐ PK(R) = PK(E1) o
‐ PK(R) = PK(E2)
• Caso 2: R es uno a muchos (i.e., la parte muchos en E2)
‐ PK(R) = PK(E2)
• Caso 3: R es muchos a uno (i.e., la parte muchos en E1)
‐ PK(R) = PK(E1)
• Caso 4: R es muchos a muchos
‐ PK(R) = PK(E1)  PK(E2)

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Entidades débiles (I) 29

• Las entidades débiles son aquellas que no tienen clave primaria de


forma independiente
• Están bien definidas a través de una relación a otra entidad
• Dicha relación tiene que ser muchos (lado de la entidad débil) a uno
• En una entidad débil existe uno o varios atributos discriminantes
(clave parcial) que diferencian las instancias de la entidad débil
relacionadas con la misma entidad “fuerte” (la asociada con la
entidad débil)
• La clave primaria de una entidad débil se forma con la unión de la
clave primaria de la entidad fuerte correspondiente y los atributos
discriminantes de la débil

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Entidades débiles (II) 30

• En el diagrama E-R:
• Las entidades débiles se representan mediante líneas dobles
• El discriminador se subraya con una línea de puntos
• En el ejemplo de abajo:
‐ numero_pago es el discriminador de Pago
‐ La clave primaria de Pago es (numero_prestamo, numero_pago)

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 31

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones y claves en relaciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Especialización y generalización (I) 32

• Siguiendo un diseño arriba-abajo (top-down), la especialización es


el proceso de designación de “tipos” de entidades particulares de
una entidad dada. Ejemplo:
• La entidad Persona tiene atributos nombre, calle y ciudad
• Una Persona puede especializaser como:
‐ Empleado, teniendo el atributo sueldo
‐ Cliente, teniendo el atributo calificacion_crediticia

• La especialización puede aplicarse repetidamente para refinar el


modelo E-R. Ejemplo:
• Un Empleado puede a su vez especializarse en Oficial, Cajero,
Secretario
• Cada uno de estos tipos de empleados se describe por unos atributos
que incluyen todos los atributos de la entidad Empleado más otros
nuevos adicionales
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Especialización y generalización (II) 33

• Siguiendo un diseño abajo-arriba (down-top), la generalización es


una inversión simple de la especialización
• Varias entidades se sintetizan en una entidad de más alto nivel
basándose en atributos comunes

• Elementos
• Superclases: entidades de nivel más alto
• Subclases: entidades de nivel más bajo
• Herencia de atributos
• Las entidades de nivel más bajo (subclases) heredan todos los
atributos de la entidad superior (superclase), así como la participación
en las relaciones de las entidades de más alto nivel asociadas

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Especialización y generalización (III) 34

• En el diagrama E-R, la especialización/generalización de entidades


se representa mediante un triángulo

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Especialización y generalización (IV) 35

• Las entidades de nivel superior de la generalización han de cumplir


alguna de las siguientes restricciones de completitud:
• Generalización o especialización total. Cada instancia de una entidad
del nivel superior debe pertenecer a una entidad del nivel inferior
• Generalización o especialización parcial. Alguna instancia de una
entidad del nivel superior puede que no pertenezca a ninguna entidad
de nivel inferior
• Las entidades del nivel inferior de la generalización han de ser de
alguno de los siguientes tipos:
• Disjuntas: toda instancia no pertenece a más de una entidad de nivel
inferior
• Solapadas: una instancia puede pertenecer a varias entidades del
nivel inferior

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Agregación 36

• La agregación consiste en combinar varias entidades relacionadas


entre sí mediante una relación dada, para formar una entidad
superior
• Útil cuando la entidad agregada debe relacionarse con otras entidades
en el diagrama
• Ejemplo: un director de banco dirige/supervisa a un empleado de una
sucursal para un trabajo/cargo particular

~ una relación de otra relación

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 37

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones y claves en relaciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo de diagrama E-R 38

• Caso de estudio: Banco

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Símbolos usados en el diagrama E-R (I) 39

• Principales símbolos (I)

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Símbolos usados en el diagrama E-R (II) 40

• Principales símbolos (II)

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Símbolos usados en el diagrama E-R (III) 41

• Estándares de notación

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Índice 42

• Definición del Modelo E-R


• Entidades, atributos y relaciones
• Restricciones y claves en relaciones
• Especialización, generalización y agregación
• Notaciones para diagramas E-R
• Ejemplos

Bases de datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 1: Empleados de una compañía 43

Se pide modelar la base de datos de una compañía, que debe almacenar y gestionar
información sobre sus empleados, departamentos y proyectos.
La compañía está organizada en departamentos. Cada departamento tiene un nombre único,
un número único, y un empleado particular quien lo administra. Un departamento puede
tener varios locales. Se desea registrar la fecha en que el empleado administrador empezó a
hacerse cargo del departamento.
Cada departamento controla un cierto número de proyectos. Cada proyecto tiene un nombre
y número únicos, y un local.
Para cada empleado se desea tener su nombre, dirección, salario, sexo y año de nacimiento.
Un empleado es asignado a un departamento, pero puede trabajar en varios proyectos, los
que no son necesariamente controlados por el mismo departamento. Se quiere conocer el
número de horas semanales que un empleado trabaja en cada proyecto. Se quiere además
registrar cuál es el supervisor directo de cada empleado.
Se desea conocer las personas dependientes de cada empleado para propósitos de seguros.
De cada dependiente se desea guardar el nombre, sexo, fecha de nacimiento y relación
familiar con el empleado.

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 2: Secretaría de universidad 44

La secretaria de una universidad mantiene diversos datos sobre asignaturas


ofertadas, incluyendo profesores, listas de estudiantes y horas y lugares de las
clases.
Gestiona a su vez las calificaciones obtenidas por los estudiantes en las asignaturas
cursadas.

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 3: Compañía de autobuses 45

Una compañía de transportes inter-urbanos quiere informatizar la información


correspondientes a sus líneas de transportes de pasajeros, incluyendo horarios,
capacidad de los vehículos de transporte y demanda por horas en cada línea.
La hora del billete se calcula dado el horario_id y el origen_id.
Un billete debe unir paradas pertenecientes a una línea.
Un autobús no está asignado a dos líneas a la misma hora.
Una línea debe referirse a paradas existentes.

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 4: Gestión de mercancías 46

Una empresa de gestión de mercancías desea tener almacenados los datos de sus
clientes, los productos y los proveedores relacionados con los distintos pedidos que
realizan los clientes.
También interesa llevar un control e información detallada sobre los tipos de los
productos.

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 1: Empleados de una compañía 47

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 2: Secretaría de universidad 48

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 3: Compañía de autobuses 49

Id tiempo_desde_el_origen Id

Autobús pasa Parada


Id
origen destino

Línea

Ruta Billete

Id Id dia hora
hora salida
Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Ejemplo 4: Gestión de mercancías 50

Bases de Datos
Escuela Politécnica Superior
Universidad Autónoma de Madrid

También podría gustarte