Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. Modelo Entidad-Relación (MER) ANÁLISIS Y DISEÑO DE SISTEMAS • El Modelo Entidad-Relación es un modelo conceptual que utiliza para especificar el modelo de datos de un negocio o empresa. • Modela al mundo real como una colección de: Clase 10: Modelo Entidad Relación – Pasaje a Tablas – Objetos básicos llamados entidades agrupadas en conjuntos de entidades. – Y relaciones entre las entidades, agrupadas en conjuntos de relaciones. Mg. María Mercedes Vitturini [[email protected]] Dpto. Cs. e Ingeniería de la Computación Universidad Nacional del Sur Primer cuatrimestre 2012 2 Ejemplos Id_Docente Conjunto de Relaciones Conjunto entidad «Materias» Id_Materia Nombre AyDS2012 - Clase 10- MMV Nombre M1 Análisis y Diseño de Sistemas M2 Resolución de Problemas y Algoritmos M3 Fundamentos de Bases de Datos M4 Programación Orientada a Objetos • Sean E1, E2 dos conjuntos de entidades, el conjunto de relación R (binario) entre E1y E2 es un subconjunto de pares {(e1,e2): e1 E1, e2 E2} • Ejemplo: el conjunto de relaciones “dictan” entre Docentes y Materias Título P1 Ana Piña Ingeniera P2 Carla Blanco Magister P3 Mario Molina Magister P4 Carlos Dini Doctor Entidad Representa a Docente: (P1, Ana Piña, Ingeniera) Docente Materia P1 M2 P1 M4 P2 M3 P3 M2 Representa a Materia: (M3, Prog.Orient. a Obj) Conjunto entidad «Docentes» AyDS2012 - Clase 10- MMV 3 Sobre las relaciones • El grado de una de un conjunto de relación se refiere al número de conjuntos entidades que participan en un conjunto de relaciones: – Binarias, ternarias, cuaternarias, etc. 4 Diagrama Entidad-Relación (DER) • La representación gráfica del modelo EntidadRelación es el diagrama entidad-relación (DER). Un DER está compuesto de: – Rectángulos: representan conjuntos entidades. – Elipses: representan atributos. • Elipses dobles: representando atributos multivaluados. • Elipses con borde punteado: representando atributos derivados • La cardinalidad o multiplicidad restringe el número de entidades con las que otra entidad se puede asociar a través de una relación. – Rombos: representan relaciones entre conjuntos entidades. – Líneas: vinculan conjuntos entidades y atributos o conjuntos entidades con relaciones. – Muchos a muchos, muchos a uno, uno a muchos, uno a uno 5 AyDS2012 - Clase 10- MMV Conjunto de Relación «Dictan» AyDS2012 - Clase 10- MMV 6 AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 1 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. Especialización y Generalización Guía para construir el MER • Es un tipo de relación especial de inclusión o “herencia”. Existe entre un conjunto entidad de un nivel más alto con uno o más conjuntos entidad de nivel más bajo. Cuentas Nro-Cuenta Saldo Es-un Cuentas-Ahorro Cuentas-Cheque Tasa-Interés 1. Identificar las entidades y definir los conjuntos de entidades. 2. Identificar los atributos que describen las entidades. 3. Identificar las relaciones entre las entidades. 4. Identificar atributos asociados con las relaciones (si existen). 5. Definir la multiplicidad de las relaciones. 6. Identificar relaciones de herencia (is-a) Saldo-Deudor 7 AyDS2012 - Clase 10- MMV 8 Diseñando el MER AyDS2012 - Clase 10- MMV Decisiones de Diseño • Entre las decisiones de diseño que el diseñador del esquema de BD debe considerar: • ¿Atributo o Entidad? – Decidir si un objeto se representa como un atributo o una entidad. – Un aspecto importante en el Modelo E-R es distinguir cuándo «un dato» constituye un atributo y cuándo una entidad. – Decidir si un concepto del mundo real puede ser expresado mediante un conjunto de entidad o un conjunto de relación. – Depende del problema que queremos modelar y las restricciones del mismo. Influye: • Relevancia de la información en el contexto del problema. • Información adicional que acompaña al atributo. • Si la información se vincula por relaciones con otras entidades. – Decidir si usar una relación ternaria o un descomponerla en pares de relaciones binarias. 9 AyDS2012 - Clase 10- MMV 10 Ejemplo 1 ¿Atributo o entidad? 1. Una compañía desea mantener información de los departamentos en los que se organiza y sus gerentes. cant_empl nombre fecha_crea Departamentos Dirige Nro_Legajo Gerentes nombre fecha_ingr fecha_nac • Ejemplos: 1. Una compañía desea mantener información de los departamentos en que se organiza y sus gerentes. 2. El número de teléfono de un cliente. 3. Una agencia de viajes ofrece distintos viajes, la localidad desde donde salen/arriban los viajes. 4. Las palabras claves para un libro. • Razones para modelar a Gerentes como entidad: – Se quiere mantener mucha información propia de gerente. – Se desea poder “consultar” o “filtrar” información por gerente. – Se desea expandir el modelo y vincular Gerentes con una entidad Proyectos AyDS2012 - Clase 10- MMV AyDS2012 - Clase 10- MMV 11 12 AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 2 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. ¿Se modela como Entidad o como Relación? ¿Entidad o Relación? • No siempre es claro si es mejor expresar cierta información como un conjunto entidad o como un conjunto relación. • Algunas consideraciones para tomar la decisión: Ejemplo: • Un sistema que mantiene datos sobre ventas, clientes y artículos vendidos. Cada venta genera una factura, que tiene un número, tipo de factura, fecha, etc. • Un sistema de atenciones médicas para una obra social. Se registra información de los médicos y pacientes que se atienden. De cada atención se desea saber el diagnóstico. – Los atributos propios de la relación. – Cardinalidad de la relación (una a una, una a muchas, etc.) entre las relaciones. – La obra social está interesada en mantener estadísticas por diagnósticos 13 AyDS2012 - Clase 10- MMV Entidad o Relación 14 AyDS2012 - Clase 10- MMV Entidad ó Relación Clientes Teléfono Nombre-Diagnóstico Clientes Domicilio Descripción comprador Nro-Factura Fecha-Venta Ventas Tipo-Factura Nombre Tipo-Factura Nro-Factura Pacientes Diagnósticos Nro-Paciente Total Artículos Facturas Total Id-Diagnóstico Fecha-Venta atención Fac-Art ¿ Diagnósticos como entidad? Fecha-Atención Obs: por simplicidad no se incluyeron atributos en las entidades ARTÍCULOS y CLIENTES Artículos Médicos Nro-Medico AyDS2012 - Clase 10- MMV Nombre-Médico 16 15 ¿Relaciones ternarias o binarias ? • Algunas relaciones que «parecen» mejor representadas como relaciones ternarias que como binarias. AyDS2012 - Clase 10- MMV Ejemplos: Relaciones Ternaria Teléfono Nombre Apellido Apellido Nombre • Siempre se puede encontrar una representación usando relaciones binarias para las relaciones ternarias. Depende del gusto del diseñador. • Lo importante es verificar que el diseño represente los requerimientos del problema!. Docentes Alumnos Nro-Legajo Nro-Registro cursa período_lectivo Materias Nro-Materia 17 AyDS2012 - Clase 10- MMV Nombre 18 AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 3 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. ¿Relaciones ternarias o binarias? Vs: Relaciones Binarias Teléfono Apellido Nombre Apellido Nombre Docentes Alumnos Nro-Legajo • Atención!, puede ser que un modelo no represente la misma información si se usan relaciones binarias que ternarias (ver ejemplo anterior) – Para pensar: ¿Cómo podríamos hacer para modelar la información del ejercicio anterior con relaciones binarias ? Nro-Registro período_lectivo dicta cursa • Cuidado con el uso incorrecto de relaciones narias !! Materias Nro-Materia Nombre 19 AyDS2012 - Clase 10- MMV Ejemplo: Relaciones no binarias Nombre-Artistico Titulo 20 AyDS2012 - Clase 10- MMV Ejemplo: Relaciones no binarias Nombre-Artistico Título Apellido duración Apellido Duración Nombre Nombre Actores Películas Películas Nro-actor Actores Nro-actor Nro-pelicula Nro-pelicula actúan ¿Es correcta la relación repara? proyecta Fecha Proyecta Salas Salas Fecha Capaciadad Nro-sala AyDS2012 - Clase 10- MMV 21 Capacidad Nro-sala 22 AyDS2012 - Clase 10- MMV Cardinalidad de Relaciones Ternarias • En el DER las flechas que salen de una relación representan una restricción de cardinalidad 1. • Sean A, B, C tres conjuntos de entidades y R la relación entre ambas A B R Significa: 23 Representación Tabular del DER C dados a A, y b B, se relacionan por R con un único c C y dados un a A, y c C, se relacionan por R con un único b B ó Dado a A, se relaciona por R con un único b y un único C Dado el DER para un problema, es posible encontrar una representación tabular que se aproxima a la vista lógica del modelo de datos AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 4 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. Representación Tabular • Un modelo de datos del DER puede ser representado como un conjunto de tablas. Elementos del MER • Los elementos del MER son: – Entidades – Relaciones • Este proceso de conversión se conoce como “pasaje a Tablas del DER”. • Pueden incluir atributos. • Tienen asociada una cardinalidad que impone restricciones sobre el conjunto de datos a aceptar. • Vamos a estudiar: – Cómo se define el proceso de la conversión. – Como representar las restricciones del MER en las “tablas”. 25 AyDS2012 - Clase 10- MMV 26 Conversión de Conjuntos de Entidades AyDS2012 - Clase 10- MMV Ejemplo: Entidades fuertes • Sea E un conjunto de entidades con n atributos descriptivos a1,a2,…,an. Cuentas Nro-Cuenta Saldo 12345 120 12456 1000 20321 500 31124 2500 32100 170 54881 3000 Cuentas E = (a1,a2,…,an). • Una tabla para E constará de n columnas, una para cada atributo descriptivo. Nro-Cuenta Vista del DER • Cada fila de la tabla representa a una entidad del conjunto entidad E. • La llave primaria de E representa la llave primaria para la tabla. 27 AyDS2012 - Clase 10- MMV Conversión de Conjuntos de Relaciones • Sea R un conjunto de relaciones que implica a los conjuntos de entidades E1, E2,…, En (n > 1) con llaves primarias pk(E1),…,pk(En) respectivamente. • Si R no tiene atributos propios entonces se crea una tabla con una columna por cada elemento del conjunto: pk(E1) … pk(En) • Si R tiene como atributos descriptivos propios, {a1,…,am} entonces se crea una tabla con una columna por cada elemento del conjunto: pk(E1) … pk(En) {a1,…,am} 29 AyDS2012 - Clase 10- MMV Saldo Representación tabular para la entidad fuerte Cuentas. CUENTAS (Nro-Cuenta, Saldo) Esquema Cuentas en el modelo relacional La llave primaria es el número de cuenta. 28 AyDS2012 - Clase 10- MMV Relaciones sin atributos LibAut ISBN DNI 84-481-0079-4 22222222 96-665-1238-4 32000123 12-236-9812-1 45678678 44-128-9365-8 20666999 51-326-4588-7 18987345 87-123-9699-0 5698772 71-439-2541-1 25006897 ISBN Libros Nombre-Libro Editorial LibAut Nro-Páginas Tabla que representa a la relación LibAut DNI Modelo Relacional: LibAut (ISBN, DNI) Autores Nombre-Autor Dirección-Autor 30 AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 5 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. Relaciones con atributos Modelo Relacional: CtaCli (nro-seguridadsocial, nro-cuenta, fecha) Nro-Seguridad Social Nombre-Cliente Clientes Dirección-Cliente Conversión de Relaciones “1:m” CtaCli Nro-Seguridad-Social Nro-Cuenta Fecha 8448100794 1111 17/01/2003 9666512384 2222 24/01/2001 1223698121 3146 04/02/2002 4412893658 2222 12/02/2001 5132645887 5987 03/01/2003 8712396990 4329 18/03/2002 7143925411 7452 05/08/2003 Tabla que representa a la relación CtaCli Id Nombre Relaciones m:1 sin atributos La relación podría eliminarse agregando el atributo IDDepartamento en el conjunto de entidades Gerente (del lado del muchos). Departamentos Dirige Fecha Nro-Cuenta Gerentes Cuentas CtaCli Ciudad-Cliente Saldo 31 AyDS2012 - Clase 10- MMV Conversión de Relaciones IS-A • Existen distintas alternativas para reducir al esquema tabular una relación “es-un”: Opción 1 • Se crea una única tabla para el conjunto de entidades de nivel más alto. • Para cada conjunto de entidades de nivel más bajo se crea una tabla con los atributos de ese conjunto de entidades más una columna por cada atributo que es clave primaria del conjunto de entidades de nivel más alto. Legajo Apellido Nombre Modelo Relacional de Gerente + Dirige: GERENTES (legajo, apellido, nombre, id-dpto) 32 AyDS2012 - Clase 10- MMV Conversión para relaciones IS-A Opción 2 • No se crea una tabla para el conjunto de entidades de nivel más alto. • Para cada conjunto de entidades de nivel más bajo se crea una tabla que con los atributos de ese conjunto de entidades más una columna por cada atributo del conjunto de entidades de nivel más alto. • Esta conversión es válida para generalizaciones disjuntas y totales. • Es válida para generalizaciones solapadas o disjuntas y parciales o totales. 33 AyDS2012 - Clase 10- MMV 34 Especialización y Generalización Nro-Cuenta Cuentas AyDS2012 - Clase 10- MMV Tablas para la relación IS-A Opción 1 Saldo Cuentas Cuentas-Ahorro Cuentas-Cheque Nro-Cuenta Saldo Nro-Cuenta Tasa-Interés Nro-Cuenta Saldo-Deudor Es-un Cuentas-Ahorro Cuentas-Cheque Tasa-Interés Opción 2 Cuentas-Ahorro Cuentas-Cheque Nro-Cuenta Saldo Tasa-Interés Nro-Cuenta Saldo Saldo-Deudor Saldo-Deudor 35 AyDS2012 - Clase 10- MMV 36 AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 6 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012. Llaves de los esquemas de relación El modelo Relacional • El modelo relacional es un modelo de datos de nivel lógico. Modela las estructuras de datos a través de una representación de esquemas, instancias y relaciones. – Esquema de Relación: corresponde con el diseño lógico para los conjuntos de entidad y de relación. – Instancia de Relación: es el conjunto de valores o contenido para un esquema de relación en un momento dado. – Relación: cada uno de los elementos que componen una instancia de relación. 37 AyDS2012 - Clase 10- MMV • La llave primaria de los esquemas de relación que representan a conjuntos entidad está formada por los mismos atributos que forman la llave primaria del conjunto entidad. • La llave primaria de los esquemas de relación que representan a conjuntos relación está formada por los mismos atributos que forman la llave primaria del conjunto relación. 38 Modelos de Datos AyDS2012 - Clase 10- MMV Traslado de MER a MR • A cada conjunto entidad del DER le corresponde un esquema de relación en el MR. • Modelado Conceptual – Modelo Entidad Relación (MER) Nivel de Abstracción – El esquema está constituido por los atributos que describen a las entidades. • El Diagrama Entidad Relación (DER) • A cada conjunto de relación del DER le corresponde un esquema de relación en el MR El traslado de un DER al MR se hace siguiendo reglas • Modelado Lógico – El esquema está constituido por los atributos que identifican a las entidades que participan de la relación (claves primarias) más los atributos propios (si existen). – Modelo Relacional (MR) • Esquemas de relación – Un caso especial son las relaciones IS-A y las relaciones m:1 sin atributos. 39 AyDS2012 - Clase 10- MMV Ejemplo legajo nombre código MATERIAS cuat is_a dictan a_cargo PROFESORES cargo AUXILIARES año concurso DEPARTAMENTOS código 41 AyDS2012 - Clase 10- MMV Temas de la clase de hoy nombre apellido DOCENTES 40 • Modelo MER – Repaso – Modelo relacional – pasaje a tablas. – Ejemplo • Bibliografía: – “Database system concepts. Fifth edition ” – A. Silberschatz – Capítulo 6. nombre AyDS2012 - Clase 10- MMV 42 AyDS2012 - Clase 10- MMV Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 7