Tema 3. El modelo entidad-relación

Anuncio
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 – 2008
1
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
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
Tolerancia a cambios (cont.)
Estructura geográfica varía
País > Comunidad > Municipio > Ciudad
País > Estado > Provincia > Municipio >
Ciudad
País > Región > Ciudad
País > Ciudad
...
4
Definiciones
Entidad: un objeto abstracto de algún
tipo (~instancia)
Conjunto de entidades: una
colección de objetos similares (~clase)
Atributos: propiedades de entidades
en un conjunto de entidades
Relaciones: conecciones entre dos o
más conjuntos de entidades
5
Diagramas entidad-relació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
6
Ejemplo diagrama E-R
Año
Nombre
Película
Apellido
Nombre
Actúa
Actor
Produce
Estudio
Nombre
Dirección
7
Entidades
Nombre
Año
Película
Nombre
Apellido
Actúa
Actor
Produce
Estudio
Nombre
Dirección
8
Atributos
Nombre
Película
Año
Nombre Apellido
Actúa
Actor
Produce
Estudio
Nombre Dirección
9
Relaciones
Año
Nombre
Película
Apellido
Nombre
Actúa
Actor
Produce
Estudio
Nombre
Dirección
10
Ejemplo complejo
11
Tipos de atributo
Atributos atómicos o compuestos
PrimerNombre
Nombre
Apellido
Calle
Persona
Domicilio
Dirección
Número
Piso
FechaNacimiento
Ciudad
Puerta
Día
Mes
Año
País
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
Permiten localizar una entidad, son únicos
13
Atributos clave: subrayados
Año
Nombre
Película
Apellido
Nombre
Actor
Actúa
id_película
DNI
Produce
Estudio
Nombre
Dirección
id_estudio
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.
Cardinalidades
Número de instancias de cada entidad
15
Cardinalidad de una relación
Persona
1
Dirige
1
Departamento
Persona
N
Trabaja
1
Departamento
Película
N
Actúa
N
Actor
16
Relaciones como atributos
Año
Nombre
Película
id_película
Apellido
Nombre
Actor
Actúa
id_estudio
DNI
¿En qué casos es posible
poner un vínculo como un
atributo?
Estudio
Nombre
Dirección
id_estudio
17
Relaciones con atributos
Año
Nombre
Película
id_película
Apellido
Nombre
Actor
Actúa
id_estudio
DNI
Rol
18
Relaciones ternarias
Año
Nombre
Película
id_película
Apellido
Nombre
Actor
Actúa
id_estudio
DNI
Personaje
Nombre
Rol
19
Disminuir grado a una relación
Moneda
Monto
Salario
Nombre
Año
Película
Nombre
Contrato
Apellido
Actor
Estudio
Nombre
20
Reemplazar por relación binaria
y por una entidad extra
Salario
Asignado
Actor
Actúa
Película
Contrato
Firma
Nómina
Estudio
21
Relaciones recursivas
Nombre
Apellido
DNI
Persona
Supervisado
Supervisor
Relación recursiva,
puede tener restricciones
no especificadas en el
diagrama (ej.: evitar
cadenas circulares)
Requiere un nombre (rol)
en el vínculo
Supervisor_de
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
23
Relaciones (cont.)
Restricción de participación
Total: todas las personas deben tener un
depto
Parcial: no es necesario
Roles
Cada extremo puede tener un rol
24
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
DNI
Vive
Domicilio
Calle
Número
25
Ejercicios
Cinéfilos
Pisos
26
Resumen
Entidades
Atributos
Relaciones
Diagramas entidad-relación
27
Descargar