MODELADO CONCEPTUAL Maestría en Bioinformática – 2010 Modelos Conceptuales Objetivo: describir a nivel conceptual los requerimientos de la base de datos. Representa nuestro conocimiento sobre la realidad a modelar Describe las funcionalidades que esperamos de la base de datos Caso de estudio En un hospital se tiene un registro de pacientes, un registro de personal y uno de salas. Mediante el registro de salas se sabe qué funcionarios trabajan en cada una de las salas y qué pacientes están internados. De cada persona que trabaja en el hospital se quiere registrar su número de empleado, su nombre, su dirección y teléfono. Sabemos que dos empleados no tienen el mismo número. De cada paciente se quiere registrar su número de registro (le es asignado cuando ingresa) y su nombre, mientras que de cada sala nos interesa su nombre y la cantidad de camas que tiene. También se sabe que un empleado trabaja en una única sala y que en una sala trabajan varios empleados. Lo mismo ocurre con los pacientes (están internados en un solo lugar). Modelo Entidad Relación Resumen de principales constructores: Entidades: modelan objetos de la realidad Relaciones: modelan asociaciones entre objetos Atributos: modelan propiedades de Entidades o Relaciones Agregaciones: transforman una Relación en un Entidad Especialización: modela relaciones jerárquicas entre Entidades Caso de estudio: identificación de entidades, relaciones y atributos Entidades: Relaciones entre entidades: Los Pacientes están Internados en las Salas y el Personal Trabaja en las Salas. Características que interesan de los objetos: Pacientes, Salas, Personal Personal: nro. de funcionario, nombre, dirección y teléfono Pacientes: nro. de registro, nombre Salas: nombre, cantidad de camas Restricciones: Un empleado trabaja en una única sala y en una sala trabajan varios empleados. Un paciente está internado en una sola sala pero en una sala hay varios pacientes. Entidades y Atributos Una Entidad es un elemento distinguible de la realidad Las entidades se agrupan en Conjuntos de Entidades o Tipo de Entidades entidad Juan, Luisa, Tipos de Entidades. Personal Jorge, etc Los Atributos son propiedades de los Tipos de Atributo del Tipo de Entidad Valores de Atributos en las Entidades Teléfono de Personal Entidades El teléfono de Luisa es 099222222 Los Atributos pueden verse como FUNCIONES Entidades y Atributos - notación “De cada persona que trabaja en el hospital se quiere registrar su número de empleado, su nombre, su dirección y teléfono.” nro. funcionario nombre Personal dirección teléfono Atributos estructurados Permiten representar atributos compuestos que están formados por varias partes independientes nro. funcionario nombre Personal dirección Supongamos que sé que las direcciones SIEMPRE se componen de una ciudad, una calle y un número teléfono ciudad calle número Atributos multivalorados Permiten representar atributos que devuelven más de un valor para cada entidad nro. funcionario nombre Personal dirección Supongamos que quiero registrar más de un teléfono de cada trabajador teléfono* ciudad calle número Atributos determinantes Se dice que un atributo es determinante cuando no pueden existir dos entidades en el conjunto que tengan el mismo valor en ese atributo Sabemos que dos empleados no tienen el mismo número. ¿Y si tuviésemos además la CI? cédula nro. funcionario nombre Personal dirección teléfono* ciudad calle número TODAS LAS ENTIDADES TIENEN UN ATRIBUTO DETERMINANTE Ejercicio: Representar las entidades del caso de estudio usando el Modelo Entidad Relación Relaciones Los Pacientes están Internados en las Salas y el Personal Trabaja en las Salas. nro. funcionario nombre cant. camas nombre trabajan Personal dirección teléfono* Salas ciudad calle número nro. registro internados Pacientes nombre Propiedades de las Relaciones Relaciones totales vs relaciones parciales Cardinalidad Atributos de relación Relaciones totales vs parciales Puedo establecer si TODAS las entidades de cierto tipo deben pertenecer a la relación nro. funcionario nombre nombre cant. camas trabajan Personal dirección teléfono* Salas ciudad calle número nro. registro internados Puedo tener salas sin pacientes Pacientes nombre No tiene sentido tener pacientes que no estén internados Cardinalidad de las relaciones Puedo establecer restricciones sobre la cantidad de entidades que participan en una relación nro. funcionario nombre nombre cant. camas Personal trabajan dirección teléfono* Salas ciudad calle número nro. registro 1 internados Un paciente no puede estar internado en más de una sala N Pacientes nombre Una sala puede tener varios pacientes internados Cardinalidad: Relaciones 1 a 1 PACIENTES CAMAS Cardinalidad: Relaciones 1 a N y N a N nombre cant. camas N trabajan nro. funcionario nombre Personal dirección N Salas teléfono* ciudad calle número nro. registro 1 internados N Pacientes nombre Una sala puede tener varios pacientes internados Un paciente no puede estar internado en más de una sala Atributos de relación Permiten establecer propiedades a las parejas relacionadas EJ: ¿Cómo modelo el horario de entrada y salida del personal a una sala? nombre cant. camas Salas N horario trabajan entrada salida N nro. funcionario nombre Personal dirección teléfono* ciudad calle número Otros tipos de relaciones Relaciones n-arias Auto-relaciones Relacionan hasta n entidades entre sí cada vez Relacionan entidades del mismo tipo de entidad Agregaciones Transforman relaciones en tipos de entidad Relaciones n-arias Existen relaciones de mas de 2 entidades. ATENCION: siempre existen todas las partes involucradas en la relación ¿Cómo se piensan las cardinalidades? Análisis clínico N Médico 1 Solicitud análisis N Paciente Auto-relaciones Supongamos que quiero registrar quiénes son supervisores y de quiénes lo son Aparecen ROLES Puede darse el caso de que la relación sea simétrica o no nro. funcionario supervisor 1 nombre Personal supervisa dirección supervisado N teléfono* ciudad calle número Auto-relaciones (II) Aparece una restricción No estructural Se llama así porque no puedo expresarla con los componentes del lenguaje nro. funcionario supervisor 1 nombre Personal supervisa dirección supervisado N teléfono* ciudad calle número “Un miembro del personal no puede ser supervisor de sí mismo” Agregaciones Permiten representar asociaciones entre elementos de Relaciones y de otros Tipos de Entidades. Constructor: transforma una relación en un Tipo de Entidad Agregaciones (II) Supongamos que: Conozco las tareas que realiza cada persona La lista de tareas a realizar por el personal depende de la sala De cada tarea conozco su nombre y una descripción Ejemplo: José es jefe de cirugía en la sala 1, pero es médico de guardia en la sala 2 Tareas realizan nombre cant. camas horario Salas trabajan entrada salida nombre descripción nro. funcionario nombre Personal dirección teléfono* ciudad calle número Especialización de entidades Permite definir cuando existen relaciones “es-un” entre entidades. nro. funcionario Supongamos que quiero distinguir entre médicos, enfermeros y func. administrativos nombre Personal dirección teléfono Médicos ciudad calle número Enfermeros Administrativos Especialización de entidades (II) Especialización total vs parcial: Especialización total: todas las instancias de la super entidad tienen un correspondiente en alguna de las sub-entidades. Especialización parcial: pueden existir instancias de la super entidad que no tengan un correspondiente en alguna de las sub-entidades. Especialización disjunta o no disjunta Disjunta: las instancias pertenecen a una sóla de las sub entidades. No disjunta: las instancias pueden pertenecer a mas de una entidad. Se utiliza notación de teoría de conjuntos. Especialización de entidades (III) Si quisiera decir que un miembro del personal no puede ser médico y enfermero a la vez: Médicos ∩ Enfermeros = Ø Si quisiera decir que los miembros del personal son médicos, enfermeros o administrativos y no hay otros tipos de personal Médicos ∪ Enfermeros ∪ Admin. = Personal Entidades Débiles Existe un conjunto de hospitales de los cuales se conoce el código del hospital, el nombre, la dirección y los teléfonos. Hay salas de las cuales se conoce el nombre de la sala y la cantidad de camas que tiene en un hospital dado. En diferentes hospitales hay salas con el mismo nombre (Ej. General, u Operaciones 1) Hay empleados que trabajan en las salas de los hospitales de los cuales se conoce el nro. de empleado, otras informaciones. Los nros de empleados no se repiten en los distintos hospitales. Entidades Débiles (II) No se pueden agregar los empleados en las salas ! Hospitales Referencias “Fundamentals of Database Systems 5th Ed.”, Elmasri & Navathe, Addison Wesley, 2007. (cap. 3) Referencias “Fundamentals of Database Systems 5th Ed.”, Elmasri & Navathe, Addison Wesley, 2007. (cap. 3) Curso Fundamentos de Bases de Datos, INCO, http://www.fing.edu.uy/inco/cursos/bdatos/