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