1. Unidad 2. Modelamiento de datos - MER 1
Unidad 2: Modelamiento de datos
Tema: Modelo Entidad Relación
Bases de datos – CINT
Ing. Jorge Magallanes
2. Unidad 2. Modelamiento de datos - MER 2
• Definir qué es un modelo de datos y describir
cómo se clasifican los modelos de datos.
• Captar una realidad determinada,
correspondiente a unos requisitos de usuario,
y plasmarla en un esquema conceptual
mediante un diagrama entidad-relación
• Interpretar un esquema conceptual dado,
extrayendo de él los requisitos de datos de los
usuarios que se hayan reflejado
Objetivos instruccionales
3. Unidad 2. Modelamiento de datos - MER 3
• En los SBD, un modelo de datos se define como
un conjunto de conceptos que sirven para
describir la estructura de una base de datos:
– los datos,
– las relaciones entre los datos y
– las restricciones que deben cumplirse sobre los datos
• Los modelos de datos se pueden clasificar
según la jerarquía de niveles:
– Modelos Conceptuales
– Modelos Lógicos
– Modelos Físicos
Modelo de datos
4. Unidad 2. Modelamiento de datos - MER 4
Estos modelos disponen de conceptos muy cercanos al
modo en que la mayoría de los usuarios percibe los datos.
Utilizan conceptos como entidades, atributos y relaciones:
• Entidad, representa un objeto o concepto del mundo real,
por ejemplo, un cliente de una empresa o una de sus
facturas.
• Atributo representa alguna propiedad de interés de una
entidad como, por ejemplo, el nombre o el domicilio del
cliente.
• Relación describe una interacción entre dos o más
entidades, por ejemplo, la relación que hay entre un cliente
y las facturas que se le han realizado
Modelos Conceptuales
5. Unidad 2. Modelamiento de datos - MER 5
Representan los datos valiéndose de estructuras de
registros, por lo que también se denominan
“modelos orientados a registros”. Más comunes:
Modelo Relacional, Jerárquico y de Red
• En el modelo relacional los datos se describen
como un conjunto de tablas con referencias
lógicas entre ellas.
• Mientras que en los modelos jerárquico y de red,
los datos se describen como conjuntos de
registros con referencias físicas entre ellos
(punteros)
Modelos Lógicos
7. Unidad 2. Modelamiento de datos - MER 7
• MER es un modelo conceptual, por lo tanto, es una
descripción de alto nivel de la estructura de la base de
datos, independientemente del SGBD
• Fue ideado por Peter Chen en los años 1976 y 1977 a
través de dos artículos. Se trata de un modelo que sirve
para crear esquemas conceptuales de bases de datos.
• Sus siglas más populares son las E/R por que sirven
para el inglés y el español.
• Inicialmente sólo se incluían los conceptos de entidad,
relación y atributos. Luego, se añadieron otras
propuestas (atributos compuestos, generalizaciones,
etc) llamándolo modelo entidad relación extendido
Modelo Entidad Relación (E/R)
8. Unidad 2. Modelamiento de datos - MER 8
Entidad
– Las entidades representan cosas u objetos (ya sean reales o
abstractos), acerca del cual se pueda almacenar
información en la base de datos.
– Ejemplos de entidades son Pedro, la factura número
32456, el coche matrícula 3452BCW.
– Una entidad no es un propiedad concreta si no un
objeto que puede poseer múltiples propiedades (atributos)
Conjunto de Entidades
– Las entidades que poseen las mismas propiedades
forman conjuntos de entidades.
– Ejemplos de conjuntos de entidades son los conjuntos:
personas, facturas, coches, etc
Elementos de un modelo E-R
9. Unidad 2. Modelamiento de datos - MER 9
Entidades
•Suele llamarse entidad
a lo que anteriormente
se ha definido como
conjunto de entidades.
•Cada persona en
concreto sería una
ocurrencia o una
instancia de la entidad
persona.
10. Unidad 2. Modelamiento de datos - MER 10
Representación Gráfica de Entidades
Personas
En el modelo entidad relación los conjuntos
de entidades se representan con un
rectángulo dentro del cual se escribe el
nombre de la entidad.
11. Unidad 2. Modelamiento de datos - MER 11
Tipos de Entidades
Regulares
– Son las entidades normales que tienen
existencia por sí mismas sin depender de otras.
Su representación gráfica es la anterior
Débiles
– Su existencia depende de otras. Por ejemplo la
entidad tarea laboral sólo podrá tener existencia
si existe la entidad trabajo.
Tareas
Laborales
12. Unidad 2. Modelamiento de datos - MER 12
•Representan asociaciones entre entidades.
•Es el elemento del modelo que permite relacionar en sí los
datos del modelo.
•Por ejemplo, en el caso de que tengamos una entidad
personas y otra entidad trabajos. Ambas se relacionan ya
que las personas trabajan y los trabajos son realizados por
personas
Relaciones
Fontanero
Electricista
Peluquero
Administrativo
Pedro
Ana
José
María
Consuelo
Jaime
13. Unidad 2. Modelamiento de datos - MER 13
Representación Gráfica de una Relación
Personas
La representación gráfica de las relaciones se
realiza con un rombo al que se le unen líneas que
se dirigen a las entidades, las relaciones tienen
nombre (se suele usar un verbo). En el ejemplo
anterior podría usarse como nombre de relación,
trabajar:
Trabajar Trabajos
14. Unidad 2. Modelamiento de datos - MER 14
Ejemplos y Tipos de Relaciones
Curso impartir Aula
Curso dicta Aula
Profesor
BINARIA
TERNARIA
15. Unidad 2. Modelamiento de datos - MER 15
CIUDAD PROVINCIA
Es capital
pertenece
ESTUDIANTE CIUDAD
reside
nace
DOBLE
17. Unidad 2. Modelamiento de datos - MER 17
Indica el número de ocurrencias en las que una
entidad puede aparecer en una relación. Se denota:
– cardinalidad mínima: Indica el número mínimo de
asociaciones en las que aparecerá cada ejemplar
de la entidad (el valor que se anota es de cero o
uno)
– cardinalidad máxima: Indica el número máximo de
relaciones en las que puede aparecer cada
ejemplar de la entidad (puede ser uno o muchos)
En los esquemas entidad / relación la cardinalidad se
puede indicar de muchas formas.
Cardinalidad
18. Unidad 2. Modelamiento de datos - MER 18
Representación de cardinalidades
Jugador contrata Equipo
entrena
Entrenador
(1,N) (0,1)
(0,1)
(1,1)
(min, max)Par ordenado:
19. Unidad 2. Modelamiento de datos - MER 19
¿Cómo obtener la cardinalidad?
Equipo contrata Jugador
(0,1) (1,N)
Jugador:
– Un equipo, mínimo ¿cuántos jugadores juegan?
1 Jugador: cardinalidad mínima = 1
– Un equipo, máximo ¿cuántos jugadores juegan?
Muchos jugadores: cardinalidad máxima = N
Equipo:
–Un Jugador, mínimo ¿en cuántos equipos juega?
0 Equipos: cardinalidad mínima = 0
–Un Jugador, máximo ¿en cuántos equipos juega?
1: cardinalidad máxima = 1
20. Unidad 2. Modelamiento de datos - MER 20
Representación de cardinalidades
Jugador contrata Equipo
entrena
Entrenador
(1,N) (0,1)
(0,1)
(1,1)
En el ejemplo, cada equipo
cuenta con varios jugadores.
Un jugador juega como mucho
en un equipo y podría no jugar
en ninguno. Cada entrenador
entrena a un equipo (podría no
entrenar a ninguno), el cual
tiene un solo entrenador
21. Unidad 2. Modelamiento de datos - MER 21
Representación de cardinalidades
(0,N)
ESTUDIANTE CIUDAD
reside
nace
(1,N)
(1,1)(0,N)
De cada estudiante se sabe la
ciudad en donde ha nacido
(será una y sólo una) y también
las ciudades en donde ha
residido, al menos la ciudad de
residencia actual.
22. Unidad 2. Modelamiento de datos - MER 22
Representación de cardinalidades
(0,N)
EMPLEADO dirigir
(1,1)
Cada empleado es dirigido por
otro empleado (obligatoriamente
por uno y sólo por uno), y un
empleado puede ser director de
varios empleados
Dirige a
(jefe)
Dirigido por
(empleado)
23. Unidad 2. Modelamiento de datos - MER 23
Son atributos los nombres que identifican propiedades,
cualidades, identificadores o características de
entidades o de relaciones.
• Los atributos se representan como círculos que se
originan de una entidad o relación, y no es necesario
representarlos todos, sino los más significativos.
• Para identificarlos, lo más sencillo es preguntarse,
para cada entidad y cada relación, qué información se
quiere saber de ellas.
• Hay que tener en cuenta si son simples o compuestos.
Atributos
24. Unidad 2. Modelamiento de datos - MER 24
Estudiante asiste Curso
(1,N) (1,N)
dni
apellidos
nombres
número
nombre
nota
(0,N)
ESTUDIANTE CIUDAD
reside
nace
(1,N)
(1,1)(0,N)
nombres
carrera
dni
nombre
altitud
habitantes
fecha
nacimiento
fecha inicio
(0,1)
25. Unidad 2. Modelamiento de datos - MER 25
Para identificar a los atributos, se les asignan nombres que
tengan significado para el usuario. De cada atributo se debe
anotar la siguiente información en el diccionario de datos:
• Nombre y descripción del atributo.
• Alias o sinónimos por los que se conoce al atributo.
• Tipo de dato y longitud.
• Valores por defecto del atributo (si se especifican).
• Si el atributo es compuesto, especificar qué atributos
simples lo forman y describirlos como se indica en esta
lista.
• Si el atributo es derivado, indicar cómo se calcula su valor.
Identificación de Atributos
26. Unidad 2. Modelamiento de datos - MER 26
EMPLEADO
nombre
DNI
título
lugar residencia
lugar nacimiento
(1,n)
(0,1)
ciudad
fecha inicio
ciudad
fecha
27. Unidad 2. Modelamiento de datos - MER 27
Se trata de uno o más campos cuyos valores son únicos
en cada ocurrencia de una entidad.
Deben distinguir a cada ejemplar teniendo en cuenta las
entidades que utiliza el modelo. No tiene que ser un
identificador absoluto.
¿Cuál es el atributo identificador en el diagrama
anterior?
Atributo identificador (clave)
28. Unidad 2. Modelamiento de datos - MER 28
En un lugar donde hay muchos gatos y muchos
ratones. Se desea modelar . Un ratón solo
puede ser cazado por un único gato.
• Ver entidades
• Las relaciones
• Comprobar mínimo y máximo de cada entidad
Existe un proceso de diseño del MER?
Ejercicio introductorio