clase 4 y 5 modelo físico y der
DESCRIPTION
Calse 4 y 5 del Curso de Administración de Base de DatosTRANSCRIPT
En el proceso de diseño
Tenemos varios diseños:• Diseño del esquema de la base de datos• Diseño de los programas de acceso y actualización de
datos• Diseño del esquema de seguridad y de control de
acceso a los datos
Debemos tener en cuenta…
• Siempre identificar las necesidades de datos de los usuarios de la base. Se obtiene la especificación de los requerimientos del usuario.
• Tomar un modelo de datos y traducir estos requerimientos en un esquema conceptual de la base de datos.
• Se utiliza el diagrama entidad-relación para representarlo gráficamente.
Debemos evitar en nuestros diseños…
• Redundancia: Un mal diseño puede repetir información.
• Falta de información que perjudique y obligueareahacer el diseño inicial.
Ejercicio
• Se requiere tener la información sobre los análisis de laboratorio que se llevan a cabo a los pacientes que están internados en un hospital. De cada paciente se requieren sus datos personales, los análisis que se le han practicado, el nombre del médico que solicitó los exámenes y el resultado de cada una de ellas. De cada prueba de laboratorio se necesita saber el nombre de la prueba, lo que mide la prueba (suponer que cada análisis de laboratorio mide una sola cosa), descripción de su aplicación y su costo.
• ¿Cómo podrías guardar esta información y en cualquier momento poderla recuperar?
Modelo E-R: Entidades
• Una entidad es una cosa o un objeto del mundo real que es distinguible de otros objetos. Por ejemplo, una paciente en un hospital. Una entidad tiene un juego de propiedades y los valores de estas propiedades identifican en forma única una entidad. Por ejemplo el número que se le asigna al paciente al ingresar al hospital.
Modelo E-R: Atributos
• Una entidad es representada por un juego de atributos. Los atributos son propiedades descriptivas de las entidades. Cada entidad tiene su propio valor para cada atributo. Ejemplo número de paciente, nombre, dirección, etc.
• Un juego de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos. El juego de todos los pacientes de un hospital.
Modelo E-R: Relaciones
• Una relación es una asociación entre entidades. Por ejemplo un x paciente tiene tal padecimiento.
PACIENTE PADECIMENTO
Juan López Hepatitis
Dominios
• Para cada atributo, existe un juego de valores permitidos llamado el dominio o juego de valores. Por ejemplo para el atributo nombre del paciente el dominio será el juego de todos las cadenas de texto de una cierta longitud.
Tipos de Atributos
• Simples: son aquellos que no se han dividido en subpartes.
• Compuestos: son los que pueden dividirse en otros atributos, por ejemplo el atributo nombre, puede dividirse en nombre, apellido materno y apellido paterno.
• De un solo valor: Por ejemplo la edad del paciente es única.
• Multivalor: Por ejemplo un paciente puede tener cero o más números telefónicos.
• Derivado: el valor de este tipo de atributo es obtenido a partir de los valores de otro.
Cardinalidad
• Es el número de entidades con la cual otra entidad puede asociar mediante una relación.
• Considerando una relación binaria entre el juego de entidades A y el B, la cardinalidad puede ser:– Uno a uno– Uno a muchos ó muchos a uno– Muchos a muchos
Uno a uno
• Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa
A1A2A3A4
B1B2B3B4B5
EJEMPLO: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenecea un solo paciente (hospital privado)
Uno a muchos
• Una entidad en A esta asociada con cualquier número (0 ó más) de entidades en B. Una entidad en B, puede estar asociada a lo mucho con una entidad en A
A1A2A3
B1B2B3B4B5
EJEMPLO: El titular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona
Muchos a muchos
• Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa
A1A2A3A4
B1B2B3B4B5
EJEMPLO: En un proyecto de investigación puede haber cualquier númerode médicos, un médico puede participar en cero o varios proyectos
Llave Primaria
• Son atributos que se usan para diferenciar una entidad de otra, por ejemplo un medicamento de otro, o un paciente de otro. Puede haber varias llave candidato.
• La llave primaria debe ser única y de preferencia no cambie con el tiempo.
• Cada juego de entidades (tabla) debe tener una llave primaria.
Cardinalidad: obligatoria y opcional
Uno a uno obligatorio: un empleado enUna empresa tiene uno y solo un puesto, unPuesto pertenece a un solo empleado
Uno a muchos opcional: un profesor en laFac. de Ingeniería puede dar 0 o varias clases y una clase está dada por uno y solo un profesor
Muchos a muchos obligatorio: una materia puede pertenecer a una o varias carreras, una carrera está formada por varias materias.
Uno a uno opcional: Un paciente puede estar asignado a un cuarto o a ninguno. En un cuarto puede haber cero o un paciente
Diagramas Entidad-Relación (E-R)
Un diagrama E-R consiste de:- Rectángulos: representan juegos de entidades- Elipses: representan atributos- Diamantes: representan juegos de relaciones- Líneas: son ligas entre atributos y entidades y entre
juegos de entidades y de relaciones- Elipses dobles: son atributos multivalor- Elipses punteadas: son atributos derivados- Rectángulos dobles: representan juegos de
entidades débiles.
Metodología
• Identificar entidades : Definir objetos como personas, lugares o conceptos sobre los que se quiere tener información.
• Identificar atributos: Definir las “propiedades” de cada entidad
• Determinar llave primaria de cada entidad• Identificar relaciones entre las entidades• Señalar cardinalidad entre las entidades
Ejemplo: uno a uno• Cuando se decide ingresar a un paciente a un hospital
se le asigna un cuarto y en un cuarto puede estar un paciente o ninguno (suponiendo un hospital privado).
paciente cuarto
n_pacientei_paciente#
a_paciente
i_cuarto#
i_cuarto# i_piso
q_costod_ingreso
Ejemplo: uno a muchos• El titular de una cuenta de cheques puede tener
cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona, las entidades son cliente y tarjeta
cliente tarjeta
n_clientei_cliente#
a_cliente
i_tarjeta#i_password
q_limited_apertura i_cliente#
Ejemplo: muchos a muchos• En un proyecto de investigación puede haber cualquier
número de médicos, un médico puede participar en cero o varios proyectos
medico proyecto
n_medicoi_medico#
a_medico
i_especial
i_proyecto#n_proyecto
t_resumena_telefono
Rompiendo el muchos a muchos
• En el diseño de una base de datos no se permiten relaciones “muchos a muchos”, cuando se tiene esto se crea una “relación” entre ambas cuya llave primaria será una llave compuesta por las llaves primarias de las entidades que estáuniendo
medico proyecto
n_medico i_medico#
a_medico
i_especial
i_proyecto#n_proyecto
t_resumen
a_telefono
medico-proyecto
i_medico# i_proyecto#
Relaciones y llaves primarias vscardinalidad
En las entidades no hay llave foránea.
Se crea una relación con llave primaria compuesta formada por las llaves primarias de las entidades que une la relación
Muchos a muchos
Se crea una llave foránea del lado de la entidad “muchos”que corresponde a la llave primaria del lado “uno”
No es necesario crear una relación entre las entidades
Uno a muchos
Se crea una llave foránea en una de las entidades relacionadas que corresponde a la llave primaria en la otra
No es necesario crear una relación entre las entidades
Uno a uno
Llave foráneaRelación entre entidadesCardinalidad
Solución Ejercicio
Analizando el ejercicio del laboratorio, las siguientes entidades: – Paciente y Análisis
– Paciente y Médico
Diagrama E-R• Se tienen dos juegos de entidades: paciente y
análisis de laboratorio.
paciente analisis
A un paciente hospitalizado se le pueden practicar cero o varios análisis yun análisis puede practicársele a ninguno o a muchos pacientes.Esto implica que tenemos una relación muchos a muchos optativa enambos lados.
Rompiendo el muchos a muchos
Debemos crear una relación entre ambas
ayuno200.00embarA-2
ayuno300.00leucoA-1
t_descq_analn_anali_anal
paciente analisispaciente-analisis
456Juarez 56
María3678
289Pino 48
Laura1234
i_meda_pacn_paci_pac
neg
4.4
Pos
3.8
t_resu
3/I/08A-23678
2/II/08A-11234
7/I/07A-21234
5/I/08A-11234
d_anali_anali_pac
Diagrama E-R• Los juegos de entidades: paciente-análisis y
médico.
paciente-analisis
medico
A un paciente hospitalizado se le pueden practicar cero o varios análisis y cada análisis se lo manda un doctor. A su vez un doctor puede mandaruno o varios análisis a los distintos pacientes.Esto implica que tenemos una relación uno a muchos obligatoria.
Rompiendo el muchos a muchos
Debemos crear una relación entre ambas
ginecólLópez456
cirujanoPérez289
t_espn_nomi_med
paciente-analisis medico
3/I/08
2/II/08
7/I/07
5/I/08
d_anal
456
289
456
289
i_med
neg
4.4
Pos
3.8
t_resu
A-23678
A-11234
A-21234
A-11234
i_anali_pac
Ejercicio en clase
• Determinar cuales serán los atributos de las entidades del diagrama anterior.
• ¿Falta una entidad?, ¿Dónde quedaría en el diagrama, con qué entidad se liga, cuáles serían sus atributos?
• ¿Las entidades paciente y médico están relacionadas?
Ejercicio 1
• Construir un diagrama E-R para una compañía aseguradora que vende seguros de gastos médicos mayores. Los clientes pueden tener más de una persona asegurada. También se requiere llevar el registro de las veces que ha utilizado el seguro cada uno de los asegurados como por ejemplo fecha, descripción de la enfermedad y/o accidente, procedimiento hospitalización, intervenciones, médico tratante, etc.
Ejercicio 2
• Se desea diseñar una base de datos sobre la información de las reservas de una empresa dedicada al arriendo de automóviles.
• Los supuestos son:– Un determinado cliente puede tener en un momento dado varias
reservas.– Una reserva la realiza un único cliente, pero puede involucrar a
varios autos.– Se debe conocer la fecha de comienzo y término de la reserva.– Todo auto tiene asignado un determinado garaje, que no puede
cambiar.– Cada reserva se realiza en una determinada agencia.– Pueden existir clientes que no hayan hecho ninguna reserva.
Ejercicio 3
• Se tiene una empresa desarrollando varios proyectos, a los que son asignados varios empleados, pero cada empleado solo esta vinculado a un proyecto, en un momento dado.
• Cada proyecto consume diferentes recursos en cantidades determinadas: los empleados están a cargo de un supervisor, que es un empleado también.
• Los empleados pueden tener personas beneficiarias (hijos, esposas, padres, etc.).
Ejercicio 4
• Se desea diseñar una base de datos sobre la información de las reservas de una empresa dedicada al arriendo de automóviles.
• Los supuestos son:– Un determinado cliente puede tener en un momento dado varias
reservas.– Una reserva la realiza un único cliente, pero puede involucrar a
varios autos.– Se debe conocer la fecha de comienzo y término de la reserva.– Todo auto tiene asignado un determinado garaje, que no puede
cambiar.– Cada reserva se realiza en una determinada agencia.– Pueden existir clientes que no hayan hecho ninguna reserva.