Bases de Datos - Parte 3/10 Modelo ER

25
1 Sistemas de Información II Tema 3. El modelo entidad-relación Carlos Castillo UPF – 2007 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).

description

 

Transcript of Bases de Datos - Parte 3/10 Modelo ER

Page 1: Bases de Datos - Parte 3/10 Modelo ER

1

Sistemas de Información II

Tema 3. El modelo entidad-relación

Carlos Castillo

UPF – 2007

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).

Page 2: Bases de Datos - Parte 3/10 Modelo ER

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

Page 3: Bases de Datos - Parte 3/10 Modelo ER

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?

Page 4: Bases de Datos - Parte 3/10 Modelo ER

4

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

...

Page 5: Bases de Datos - Parte 3/10 Modelo ER

5

Diagramas entidad­relaciónDescriben 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

Page 6: Bases de Datos - Parte 3/10 Modelo ER

6

ActúaPelícula

Nombre Año

Produce Estudio

Nombre Dirección

Actor

Nombre Apellido

Ejemplo diagrama E­R

Page 7: Bases de Datos - Parte 3/10 Modelo ER

7

ActúaPelícula

Nombre Año

Produce Estudio

Nombre Dirección

Actor

Nombre Apellido

Entidades

Page 8: Bases de Datos - Parte 3/10 Modelo ER

8

ActúaPelícula

Nombre Año

Produce Estudio

Nombre Dirección

Actor

Nombre Apellido

Atributos

Page 9: Bases de Datos - Parte 3/10 Modelo ER

9

ActúaPelícula

Nombre Año

Produce Estudio

Nombre Dirección

Actor

Nombre Apellido

Relaciones

Page 10: Bases de Datos - Parte 3/10 Modelo ER

10

Ejemplo complejo

Page 11: Bases de Datos - Parte 3/10 Modelo ER

11

Tipos de atributo

Atributos atómicos o compuestos

Persona

Nombre

PrimerNombre

Domicilio

Apellido

DirecciónCalle

Número

Piso

Puerta

Día

País

FechaNacimiento Ciudad

Mes Año

Page 12: Bases de Datos - Parte 3/10 Modelo ER

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

Page 13: Bases de Datos - Parte 3/10 Modelo ER

13

Atributos clave: subrayados

ActúaPelícula

Nombre Año

Produce Estudio

Nombre Dirección

Actor

Nombre Apellido

DNI

id_estudio

id_película

Page 14: Bases de Datos - Parte 3/10 Modelo ER

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.

Page 15: Bases de Datos - Parte 3/10 Modelo ER

15

Cardinalidad de una relación

DirigePersona Departamento1 1

TrabajaPersona DepartamentoN 1

ActúaPelícula ActorN N

Page 16: Bases de Datos - Parte 3/10 Modelo ER

16

Relaciones como atributos

ActúaPelícula

Nombre Año

Estudio

Nombre Dirección

Actor

Nombre Apellido

DNI

id_estudio

id_película id_estudio

¿En qué casos es posibleponer un vínculo como unatributo?

Page 17: Bases de Datos - Parte 3/10 Modelo ER

17

Relaciones con atributos

ActúaPelícula

Nombre Año

Actor

Nombre Apellido

DNIid_película id_estudio

Rol

Page 18: Bases de Datos - Parte 3/10 Modelo ER

18

Relaciones ternarias

ActúaPelícula

Nombre Año

Actor

Nombre Apellido

DNIid_película id_estudio

Personaje

Nombre Rol

Page 19: Bases de Datos - Parte 3/10 Modelo ER

19

Disminuir grado a una relación

ContratoPelícula

Nombre Año

Actor

Nombre Apellido

Estudio

Nombre

Salario

Moneda Monto

Page 20: Bases de Datos - Parte 3/10 Modelo ER

20

Reemplazar por relación binariay por una entidad extra

Asignado

Película

Actor

Estudio

Salario

Nómina

FirmaActúa Contrato

Page 21: Bases de Datos - Parte 3/10 Modelo ER

21

Relaciones recursivas

Supervisor_de

Persona

Nombre Apellido

Supervisor

DNI

Supervisado

Relación recursiva,puede tener restriccionesno especificadas en el diagrama (ej.: evitarcadenas circulares)

Requiere un nombre (rol) en el vínculo

Page 22: Bases de Datos - Parte 3/10 Modelo ER

22

Restricciones en relaciones

Cardinalidad

1:1PERSONA es_director_de_departamento DEPTO

1:NPERSONA trabaja_en_departamento DEPTO

N:NALUMNO inscrito_en_curso CURSO

Restricción de participación

Total: todas las personas deben tener un depto

Parcial: no es necesario

Page 23: Bases de Datos - Parte 3/10 Modelo ER

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

Persona

Nombre

DNI

Vive Domicilio

Ciudad

Calle Número

Page 24: Bases de Datos - Parte 3/10 Modelo ER

24

Ejemplo: pisos

(en la Web)

Page 25: Bases de Datos - Parte 3/10 Modelo ER

25

Resumen

Entidades

Atributos

Relaciones

Diagramas entidad-relación