Clase 5 - Pedeciba

Anuncio
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/
Descargar