0% encontró este documento útil (0 votos)
184 vistas41 páginas

Tema 2 - Modelo ER

Este documento describe los conceptos básicos del modelado de datos, incluyendo entidades, atributos, relaciones y cardinalidades. Explica cómo modelar los requisitos de una aplicación para una gasolinera usando estas técnicas de modelado conceptual.

Cargado por

Daniel Acosta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
184 vistas41 páginas

Tema 2 - Modelo ER

Este documento describe los conceptos básicos del modelado de datos, incluyendo entidades, atributos, relaciones y cardinalidades. Explica cómo modelar los requisitos de una aplicación para una gasolinera usando estas técnicas de modelado conceptual.

Cargado por

Daniel Acosta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TEMA 2

Modelado de datos

Esta obra está bajo una licencia de Creative Commons


Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Icono diseñado por Flaticon 1
Modelado de datos

Modelado de datos

EL MODELO ENTIDAD-RELACIÓN

2
Modelado de datos

Modelado conceptual: ¿Por qué?


El ser humano suele tener problemas para transmitir
información concreta
Los clientes tienden a proporcionar información superflua
cuando se pregunta por requisitos
Nuestra mente funciona mejor cuando trabaja con
abstracciones:
Diagramas
Esquemas

3
Modelado de datos

¿Cuál prefieres?
Pues como le iba diciendo, necesito que me construya una aplicación
para gestionar mi gasolinera low-cost. Ya sabe, la gente echa diésel o
gasolina y luego me pagan. Algunos me piden factura, y resoplan
cuando les pido los datos de la empresa, sobre todo aquellos que son
clientes fijos. ¡Se me olvidaba! Tengo que llevar un registro de los litros
que se gastan en cada repostaje, además de cuándo se realizó.

Requisitos de datos:
Facturas que se emiten a clientes.
Litros de combustible repostado y fecha.
Guardar la información de los clientes.
Tipos de combustible.

4
Modelado de datos

¿Cuál prefieres?
Pues como le iba diciendo, necesito que me construya una aplicación
para gestionar mi gasolinera low-cost. Ya sabe, la gente echa diésel o
gasolina y luego me pagan. Algunos me piden factura, y resoplan
cuando les pido los datos de la empresa, sobre todo aquellos que son
clientes fijos. ¡Se me olvidaba! Tengo que llevar un registro de los litros
que se gastan en cada repostaje, además de cuándo se realizó.

Requisitos de datos:
Facturas que se emiten a clientes.
Litros de combustible repostado y fecha.
Guardar la información de los clientes.
Tipos de combustible.

¿Qué tienen en común facturas, clientes, combustibles?

5
Modelado de datos

Entidad
Factura, cliente,
combustible son objetos
o cosas del mundo real
que tienen existencia por
sí mismas.

6
Modelado de datos

Entidad
Una entidad agrupa una serie de ocurrencias de
objetos/cosas en una base de datos.
Clientes de la gasolinera (ocurrencias):
Pepe Pérez, con CIF 12345678X y correo electrónico
[Link]@[Link]
Transportes La Bomba S.L., con CIF B87654321 y
correo electrónico info@[Link]

7
Modelado de datos

Entidad
Una entidad agrupa una serie de ocurrencias de
objetos/cosas en una base de datos.
Clientes de la gasolinera (ocurrencias):
Pepe Pérez, con CIF 12345678X y correo electrónico
[Link]@[Link]
Transportes La Bomba S.L., con CIF B87654321 y
correo electrónico info@[Link]

¿Qué tienen en común los fragmentos subrayados?

8
Modelado de datos

Atributos
El nombre, CIF y correo
electrónico de los
clientes definen las
propiedades de la
entidad Cliente

9
Modelado de datos

Dominios
Cada atributo tiene un conjunto de valores permitidos:
CIF: cadenas de 8 dígitos y una letra, donde la letra
y los dígitos están relacionados por una función
matemática.
Nombre: cadenas de caracteres
Correo electrónico: direcciones de correo válidas,
de la forma usuario@dominio

Es obligatorio definir el dominio de todos los atributos

10
Modelado de datos

¿Entonces la base de datos para la gasolinera queda definida


por estas entidades y sus atributos?
11
Modelado de datos

Relaciones
Las facturas se emiten para clientes.

12
Modelado de datos

Relaciones
Los clientes repostan combustible.

13
Modelado de datos

Relaciones
Las relaciones representan asociaciones entre
ocurrencias de entidades
Pueden tener atributos propios:

14
Modelado de datos

Relaciones
Es importante definir el rol que las entidades juegan en
las relaciones:

15
Modelado de datos

Relaciones
El grado de una relación nos indica el número de
entidades implicadas en ella.

16
Modelado de datos

Relaciones reflexivas
Una relación reflexiva relaciona ocurrencias de la
misma entidad.
En este caso, es obligatorio especificar el rol de la
entidad en ambos sentidos de la relación.

17
Modelado de datos

Cardinalidad
Número de ocurrencias de entidad que se pueden
asociar como máximo/mínimo a otra a través de una
relación.
Mediante cardinalidades máximas y mínimas se pueden
representar restricciones del cliente al modelo de datos.
Valores posibles:
Máximo: 1, N
Mínimo: 0, 1

18
Modelado de datos

Cardinalidad mínima y máxima

Veamos, paso a paso, cómo se calculan las cardinalidades de


la relación Reposta .

19
Modelado de datos

Cardinalidad mínima y máxima

Para una ocurrencia de combustible:


¿Cuántos clientes como mínimo lo repostarán? Ninguno, puede que una
ocurrencia de combustible nunca sea repostada por algún cliente, luego
cardinalidad mínima 0.
¿Cuántos clientes como máximo lo repostarán? Más de uno, luego
cardinalidad N.

Recuerda las opciones posibles: cardinalidad mínima (0, 1), cardinalidad máxima (1, N).

20
Modelado de datos

Cardinalidad mínima y máxima

Para una ocurrencia de cliente:


¿Cuántos combustibles repostará como mínimo? Ninguno, puede que el
cliente se registre y no vuelva nunca, luego cardinalidad mínima 0.
¿Cuántos combustibles repostará como máximo? Más de uno, puede que el
cliente tenga varios vehículos, luego cardinalidad M (para diferenciarlo de la
N).

Recuerda las opciones posibles: cardinalidad mínima (0, 1), cardinalidad máxima (1, N).
21
Modelado de datos

Cardinalidad mínima y máxima

Veamos, paso a paso, cómo se calculan las cardinalidades de


la relación Emitida para .

22
Modelado de datos

Cardinalidad mínima y máxima

Para una ocurrencia de factura:


¿Para cuántos clientes se emitirá como mínimo? Las facturas tienen que
emitirse obligatoriamente para un cliente, luego cardinalidad mínima 1.
¿Para cuantos clientes se emitirá como máximo? No tiene sentido que una
factura se emita a más de un cliente (de hecho es ilegal), luego cardinalidad
máxima 1.

Recuerda las opciones posibles: cardinalidad mínima (0, 1), cardinalidad máxima (1, N)
23
Modelado de datos

Cardinalidad mínima y máxima

Para una ocurrencia de cliente:


¿Cuántas facturas se le emitirán como mínimo? En un momento dado, puede
ocurrir que no se haya facturado todavía al cliente, luego cardinalidad mínima
0.
¿Cuántas facturas se le emitirán como máximo? Podemos emitir multitud de
facturas a un cliente, luego cardinalidad máxima N.

Recuerda las opciones posibles: cardinalidad mínima (0, 1), cardinalidad máxima (1, N)
24
Modelado de datos

Cardinalidad en relaciones n-arias


En el caso de las relaciones n-arias, la cardinalidad hay
que definirla entre pares de las entidades que están
relacionadas.
Por ejemplo, en una ternaria:

25
Modelado de datos

Clave de entidad
Atributo o conjunto de atributos que identifican
unívocamente cada ocurrencia de una entidad.
Si una entidad no tiene clave, se le considera entidad
débil y que tiene dependencia de Identificación.
Se subraya el nombre de los atributos que formen parte
de la clave.

26
Modelado de datos

Entidad débil
Una entidad débil es aquella cuya existencia está
supeditada a la existencia de otra entidad.
Dos tipos:
Entidad débil con relación de identificación
Entidad débil con relación de existencia
La representación en el modelo ER tanto de la entidad
débil como de la relación con la entidad fuerte es la
siguiente:

27
Modelado de datos

Entidad débil (identificación)


La entidad débil no tiene clave
Necesita de la clave de otra entidad con la que se
relaciona:

Dos surtidores de la base de datos pueden tener el mismo número si están


en gasolineras distintas El surtidor ‘adquiere’ la clave de Gasolinera . En
algunas notaciones, el atributo discriminador se indica con subrayado
discontinuo, como es el caso del número de surtidor.
28
Modelado de datos

Entidad débil (existencia)


La existencia de una ocurrencia está condicionada a la
existencia de otra ocurrencia.

Aunque Factura tenga clave, si se da de baja un cliente hay


que dar de baja todas sus facturas.

29
Modelado de datos

El modelo Entidad-
Relación (ER)
Formulado por P.P-S. Chen
en 1976
Modelo de datos
conceptual que representa
un esquema de BBDD
Descripción sencilla y
global de una BBDD
Se construye a partir de los
requisitos de datos

30
Modelado de datos

El modelo Entidad-Relación (ER)

31
Modelado de datos

Notación alternativa: Martin


Se representan las cardinalidades mínimas y máximas en
la línea de la relación.
Desaparece el rombo, se relacionan las entidades
directamente, con el nombre de la relación.

32
Modelado de datos

Notación alternativa: Martin


Reglas de transformación de Chen a Martin (relaciones):

se transforma en

33
Modelado de datos
Notación alternativa: Martin
Reglas de transformación de Chen a Martin (relación N:M):

se transforma en

34
Modelado de datos

Notación alternativa: Martin


Reglas de transformación de Chen a Martin (entidad débil):

Empleado es entidad débil, por eso la línea de la relación


ahora es continua.

35
Modelado de datos

Conclusiones
¿Por qué?
Necesitamos especificar las restricciones de una
forma clara, concisa, fácilmente entendible y sin
ambigüedades.
¿Cómo?
Utilizando un modelo formal para el diseño
conceptual de la base de datos.
¿Qué?
Modelo Entidad-Relación.

36
Modelado de datos

Modelado de datos

EJEMPLOS

37
Modelado de datos

Foro
Un conocido foro de coches nos ha encargado el diseño conceptual de su
BD:

El foro se estructura en hilos, que tendrán un título, un número


identificador, una categoría y será necesario saber la fecha en la que se
creó y el usuario que lo hizo.
Los usuarios del foro se identifican por su nombre de usuario. Es
necesario almacenar su correo electrónico y ciudad donde vive.
Los usuarios añaden respuestas a un hilo, que constan de un mensaje
y, opcionalmente, una URL de imagen. Para ordenar las respuestas,
hay que conocer la fecha y hora en la que se realizó, así como su
posición relativa en el hilo.
En una respuesta se puede citar el texto de otra, situación que conviene
registrar en la base de datos.

38
Modelado de datos

Una posible solución:

39
Modelado de datos

Base de datos de películas


Las películas se identifican por su título y año de
lanzamiento. Además, tienen una duración (en minutos),
una productora, al menos un director y también al menos
un actor y un género.
Los actores se identifican por su nombre y fecha de
nacimiento. Actúan en al menos una película, donde
interpretan un personaje.
Los directores se identifican también por nombre y fecha
de nacimiento. Además de dirigir, pueden también actuar
en películas.
Las productoras se identifican por su nombre y dirección.
Producen al menos una película.
40
Modelado de datos

Una posible solución:

41

También podría gustarte