Modelo Entidad-Relación (MER) Análisis y Diseño de Sistemas Clase 17 Modelo Entidad- Relación Lic. María Mercedes Vitturini 1er. CUATRIMESTRE 2007 El modelo entidad relación está basado en la percepción del mundo real como un conjunto de objetos básico denominados entidades y las relaciones entre estos objetos. Definición: MER es una herramienta para el modelado de datos que describe las entidades y asociaciones que existen entre los datos de un sistema. Sinónimos: Diagrama Entidad Relación, DER. Dpto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Análisis y Diseño de Sistemas - Clase 17 2 Modelo Entidad Relación Entidades Entidad: es una cosa u objeto del mundo real que se distingue de los demás. Puede ser: Concreta: una persona, un auto. Abstracta: vacaciones, proyecto, enfermedad. Conjunto de entidades: d es la agrupación de entidades del mismo tipo, que comparten las mismas propiedades o atributos. Ejemplo: todos los clientes de un banco. Los conjuntos de entidades de un problema no tienen que ser necesariamente disjuntos. Ejemplos Entidades (7630, Desarrollo de Sistemas, DCIC ) (5551, Análisis Matemático I, DMA ) (7890, Shrek, ATP) (7892, La Guerra de las Galaxias, PG-13) Conjuntos de entidades: Materias (código,, departamento) Películas (número, título, calificación) Análisis y Diseño de Sistemas - Clase 17 3 Análisis y Diseño de Sistemas - Clase 17 4 Entidades y Conjuntos de entidades : las entidades se describen por atributos. Los atributos definen las propiedades que posee cada miembro de un conjunto de entidades. Ejemplo: atributos posibles del conjunto de entidades Clientes podrían ser: cliente_dni, cliente_apellido, cliente_, cliente_domicilio, cliente_mail, etc. Dominio de un atributo: es el conjunto de valores permitidos para cada atributo. Ejemplo: Cadenas de longitud 50 podría ser el dominio para el atributo to cliente_. Formalmente un atributo es una función que asigna un conjunto de entidades a un dominio. atributo:entidad Dominio Análisis y Diseño de Sistemas - Clase 17 5 Análisis y Diseño de Sistemas - Clase 17 6 1
cliente_1 cliente_2 cliente_3 Entidad Laura Pérez Juan Manuel Ignacio Pino Dominio Así cada entidad se describe por un conjunto de pares (atributo, valor): Ejemplo: cliente_1 ((número, 123), (, Laura), (apellido, Pérez), (domicilio, Salta 23)) cliente_2 ((número, 2342), (, Juan), (apellido, Manuel), (domicilio, Rodríguez 453)) Análisis y Diseño de Sistemas - Clase 17 7 Análisis y Diseño de Sistemas - Clase 17 8 Claves Las claves permiten distinguir una entidad particular del conjunto de entidades. Conceptualmente todas las entidades son distinguibles. Desde el punto de vista del modelo, las diferencias se expresan en términos de sus atributos. t Un conjunto de entidades no puede contener dos entidades idénticas en todos sus valores. Para cada conjunto de entidades se identifica el atributo o conjunto de atributos que actúa como clave, i.e., distingue a cada entidad del conjunto. Observaciones El conjunto de atributos necesarios para representar a una entidad depende de la información que se necesite mantener en un sistema de información. Análisis y Diseño de Sistemas - Clase 15 9 Análisis y Diseño de Sistemas - Clase 17 10 Modelo Entidad-Relación Relaciones Relación: es una asociación entre dos o más entidades no necesariamente distintas. Un alquiler es una asociación entre una entidad cliente y una entidad película. El dictado de una materia vincula a la misma con el docente que la dicta. Correlativa define para una materia, las anteriores materias que se requieren. Análisis y Diseño de Sistemas - Clase 17 11 Conjunto de Relaciones Conjunto de Relaciones: es un conjunto de relaciones del mismo tipo. Formalmente se trata de una relación matemática entre n de conjuntos de entidades (no necesariamente distintos), n >=2. Si E 1, E 2,..., E n son conjuntos de entidades, entonces el conjunto de relaciones R es un subconjunto de: {(e 1, e 2,..., e n ) e 1 E 1, e 2 E 2,..., e n E n } Con (e 1, e 2,..., e n ) una relación. Análisis y Diseño de Sistemas - Clase 17 12 2
Ejemplos Supongamos el conjunto de relaciones alquileres entre socios y películas: Alquileres = (socio_número, película_código) Una relación particular: (12345, 7890) Identifica a la película: 7890, Harry Potter, ATP Identifica al socio: 1345, Figueroa, José, Av. Alem 32 Análisis y Diseño de Sistemas - Clase 17 13 Conjuntos Relaciones - Aridad Generalmente las relaciones son binarias. Pueden existir relaciones de mayor orden (ternarias, cuaternarias, etc.) Si n = 2 la relación es binaria. Si n = 3 la relación es ternaria... Un conjunto relación puede tener atributos propios descriptivos. Ejemplo El conjunto relación alquileres, entre películas y socios, podría tener los atributos propios fecha del alquiler y fecha de devolución. Análisis y Diseño de Sistemas - Clase 17 14 Relaciones - Ejemplos Relaciones binarias: Viajan (pasajero, viaje, forma_pago) Representan (actor, obra_teatro, papel). Dirigen (director, empleado). Relaciones ternarias: Cursan (alumno, materia, docente, año, cuatrimestre) Participan (empleado, proyecto, lje_programación). Ejecutan (músico, instrumento, orquesta, fecha) de Relación - Ejemplos Viajan (pasajero, viaje, forma_pago). Representan (actor, obra_teatro, papel). Cursan (alumno, materia, docente, año, cuatrimestre, resultado) Análisis y Diseño de Sistemas - Clase 17 15 Análisis y Diseño de Sistemas - Clase 17 16 Restricciones de Asignación - Mapping Se pueden definir restricciones sobre las relaciones a las cuales debe ajustarse el contenido de los conjuntos de relaciones. A la restricción se la denomina cardinalidad de la relación y puede ser: Uno a uno. Muchos a uno; uno a muchos. Muchos a muchos. Cardinalidad 1:1 Relación Uno a Uno (1:1): indica que una entidad de un conjunto entidad E1 se relaciona exactamente con única entidad del otro conjunto entidad E2 y a la inversa. La relación es_capital entre las entidades provincias y ciudades_capitales. La relación garantiza entre las entidades electrodomésticos y su certificado_garantía. Análisis y Diseño de Sistemas - Clase 17 17 Análisis y Diseño de Sistemas - Clase 17 18 3
Cardinalidad (1:m) / (m:1) Relaciones Uno a Muchos (1:m) (o muchos a uno (m:1)): indica que una entidad de un conjunto entidad E1 se relaciona con cero o muchas entidades del otro conjunto entidad E2. Desde la inversa, una entidad de un conjunto entidad E2 se relaciona con una única entidad del otro conjunto entidad E1. La relación Dpto_a_Cargo entre los conjuntos entidades Materias y Departamentos La relación Dirige entre la entidad empleados con ella misma. Análisis y Diseño de Sistemas - Clase 17 19 Cardinalidad m:n Relaciones muchos a muchos (m:n): indica que una entidad de un conjunto entidad E1 se relaciona con cero o muchas entidades del otro conjunto entidad E2 y viceversa. La relación alquileres entre los conjuntos entidades películas y socios. La relación cursa entre los conjuntos entidades materias y alumnos. Análisis y Diseño de Sistemas - Clase 17 20 Ejercicios propuestos Defina la cardinalidad para las siguientes relaciones: préstamos (libro_isbn, socio_nro). salidas (viaje_nro, localidad_codpostal). atiende (médico_matricula, paciente_nro). es_pintor (obra_nro, pintor_id). Diagrama entidad-relación La estructura lógica global de una base de datos se puede representar por un Diagrama Entidad Relación (DER). El diagrama entidad-relación es un modelo de datos. Análisis y Diseño de Sistemas - Clase 17 21 Análisis y Diseño de Sistemas - Clase 17 22 Componentes de DER Conjuntos Entidades: : atributo Entidades Representación de Cardinalidad en el DER Relación 1 a 1 (1:1). Artículo Relación muchos a uno (m:1). aval Garantía Conjuntos de Relaciones: relación Ciudad Є Provincia Líneas (o flechas) : para enlazar atributos a conjuntos de entidades y relaciones a conjuntos de entidades. Relación muchos a muchos (m:n). Películas alquila Socios Análisis y Diseño de Sistemas - Clase 17 23 Análisis y Diseño de Sistemas - Clase 17 24 4
Un ejemplo de relación ternaria Diagrama Entidad Relación registro apellido código Alumnos Materias cursa cuatrimestre año Profesores legajo apellido Análisis y Diseño de Sistemas - Clase 17 25 Análisis y Diseño de Sistemas - Clase 17 26 Observaciones En el diagrama anterior se puede inferir que representa los conjuntos entidades: Clientes, Tour y Localidades y los conjuntos relaciones: Contrata y Escalas Las relaciones son muchos a muchos. La relación contrata tiene un atributo propio forma de pago. Especialización Generalización Generalización Especialización: Es un tipo de relación especial de inclusión o herencia. Existe entre un conjunto de entidades de un nivel más alto con uno o más conjuntos de entidades de nivel más bajo. El conjunto de entidades puede incluir subgrupos de entidades. El subgrupo de entidades además de los atributos comunes al conjunto entidad padre puede incluir su propio grupo de atributos. Ejemplo: Persona = DNI + apellido + Cliente = cliente_nro + cliente_tipo (y los de persona!) Análisis y Diseño de Sistemas - Clase 17 27 Análisis y Diseño de Sistemas - Clase 17 28 Especialización Generalización Resalta aspectos parecidos y diferentes entre entidades de distintos niveles. La distinción entre atributos se hace a través de un proceso llamado herencia de atributos. En el DER se representan por una relación dibujada como un triángulo etiquetado isa o es_un. PADRE es_un Ejemplo Nombre Legajo Empleados Is_a Docentes No Docentes HIJO-1 HIJO-2 Dedicación Cargo Categoría Análisis y Diseño de Sistemas - Clase 17 29 Análisis y Diseño de Sistemas - Clase 17 30 5
Ejemplo Ubicación número Nombre superficie Identificador Parques Se_divide Sectores cría trabajan Se_alimenta -cient Fecha_ingreso Especies -vulgar Guarda-Parques Animal Vegetal Nro-matricula Apellido Nombre clasificación Período-flora descripcion Análisis y Diseño de Sistemas - Clase 15 31 Diseño de un Diagrama E-R Decisiones a tomar por el diseñador: El uso de una relación ternaria o de una o más relaciones binarias. Un concepto de un mundo real se expresa mejor mediante un conjunto de entidades o un conjunto de relaciones. El uso de un atributo o de un conjunto de entidades. El uso de un conjunto de entidades débiles o fuertes. La oportunidad de usar generalización. Análisis y Diseño de Sistemas - Clase 17 32 Ejemplo Hacer el modelo de datos para la biblioteca de la UNS considerando: Existen asociados alumnos y docentes. De los socios alumnos se sabe la/s carrera/s que está cursando. El material de la biblioteca incluye libros, revistas y videos. De cada material se identifican sus autores y palabras claves. Los asociados pueden retirar libros por un período de tiempo o consultarlo en la sala de lectura. Temas de la clase de hoy Modelo ER Componentes: entidades, relaciones, atributos. Restricciones de mapeo y cardinalidad. Relaciones distinguidas. Diagrama Entidad-Relación. d ió Bibliografía: Fundamentos de Base de Datos. Abraham Silberschatz Capítulo 2. Análisis y Diseño de Sistemas - Clase 17 33 Análisis y Diseño de Sistemas - Clase 17 34 6