1. Sistemas de Información II
Tema 3. El modelo
entidad-relación
Bibliografía:
Elmasri y Navathe: “Fundamentos de Sistemas de Bases de
Datos”
3ª edición, 2002 (Capítulo 3).
Garcia-Molina, Ullman y Widom: “Database systems: the
complete book”. Prentice-Hall (Capítulo 2).
Carlos Castillo
UPF – 2007
1
2. Análisis de requerimientos
Requisitos funcionales
¿Qué debe hacer el sistema?
Transacciones
Requisitos de datos
¿Qué debe almacenar el sistema?
Pensar en el futuro
Tipos de dato
Esquema de datos
Diseño lógico -> tablas
2
3. Tolerancia a cambios
Nombre de un cliente
¿1 Nombre y 1 Apellido?
¿Y si tiene 2 nombres? ¿3 nombres?
¿Y si su apellido usa un “-” y es muy largo?
¿Y si cambia de nombre en el futuro?
Debe permitir lectura/escritura sin alterar la BD
¿Y si hay otra persona con el mismo
nombre?
No puede ser identificador único
¿Y si se trata de una cuenta bipersonal?
¿Cliente y persona no son lo mismo? 3
5. Diagramas entidadrelación
Describen el esquema de una base de
datos
Recordemos: estado de la base de datos es la
descripción de los datos que tiene ahora
Entidades
Rectángulos, representan objetos reales
Atributos
Óvalos, representan propiedades de estos
objetos
Relaciones
Rombos, representan enlaces 5
6. Ejemplo diagrama ER
Año Apellido
Nombre Nombre
Película Actor
Actúa
Produce Estudio
Dirección
Nombre
6
7. Entidades
Año Apellido
Nombre Nombre
Película Actor
Actúa
Estudio
Produce
Dirección
Nombre
7
8. Atributos
Año Nombre Apellido
Nombre
Película Actor
Actúa
Produce Estudio
Nombre Dirección
8
9. Relaciones
Año Apellido
Nombre Nombre
Actúa
Película Actor
Produce Estudio
Dirección
Nombre
9
11. Tipos de atributo
Atributos atómicos o compuestos
PrimerNombre
Nombre
Apellido
Calle
Persona
Dirección
Domicilio
Número
Piso
FechaNacimiento Ciudad
Puerta
Día Mes Año
País
11
12. Tipos de atributo (cont.)
Valores
Monovaluados (ej.: edad)
Multivaluados (ej.: teléfonos)
Almacenados o derivados
Ej.: la edad de una persona es casi
siempre un atributo derivado de la fecha
de nacimiento
Posiblemente nulos
Cuando un atributo se puede dejar “en
blanco”
Claves
12
Permiten localizar una entidad, son únicos
13. Atributos clave: subrayados
Año Apellido
Nombre Nombre
Película Actor
Actúa
id_película DNI
Produce Estudio
Dirección
Nombre
id_estudio
13
14. Relaciones
Tipo de relación
Ejemplo: es_jefe_de, participar_en_curso
Instancia de relación
Juan es_jefe_de Pedro
Grado de una relación
Número de entidades que participan
Binario, terciario, etc.
14
15. Cardinalidad de una relación
1 1
Persona Departamento
Dirige
N 1
Persona Departamento
Trabaja
N N
Película Actor
Actúa
15
16. Relaciones como atributos
Año Apellido
Nombre Nombre
Película Actor
Actúa
id_película id_estudio DNI
¿En qué casos es posible
Estudio
poner un vínculo como un
atributo?
Dirección
Nombre
id_estudio
16
17. Relaciones con atributos
Año Apellido
Nombre Nombre
Película Actor
Actúa
id_película id_estudio DNI
Rol
17
18. Relaciones ternarias
Año Apellido
Nombre Nombre
Película Actor
Actúa
id_película id_estudio DNI
Personaje
Nombre Rol
18
19. Disminuir grado a una relación
Moneda Monto
Salario
Nombre Año Nombre Apellido
Película Contrato Actor
Estudio
Nombre
19
20. Reemplazar por relación binaria
y por una entidad extra
Salario
Asignado
Actor
Actúa Contrato Firma
Película
Nómina
Estudio
20
21. Relaciones recursivas
Nombre Apellido DNI
Relación recursiva,
Persona
puede tener restricciones
no especificadas en el
diagrama (ej.: evitar
cadenas circulares)
Supervisado Supervisor
Requiere un nombre (rol)
en el vínculo
Supervisor_de
21
22. Restricciones en relaciones
Cardinalidad
1:1
PERSONA es_director_de_departamento DEPTO
1:N
PERSONA trabaja_en_departamento DEPTO
N:N
ALUMNO inscrito_en_curso CURSO
Restricción de participación
Total: todas las personas deben tener un
depto
Parcial: no es necesario 22
23. Entidades débiles y fuertes
Entidad débil
No tienen atributos clave propios
Necesitan otra entidad para ser
identificados
Entidad fuerte
Si tienen clave propia
Nombre Ciudad
Persona Vive Domicilio
DNI Número
Calle
23