1. Diagrama
Entidad
Relación
@emalca Ing. Eddie Malca Vicente
emalca@iluminatic.com
/iluminatic emalca@gmail.com
2. 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
3. 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.
4. Debemos evitar en nuestros
diseños…
• Redundancia: Un mal diseño puede repetir
información.
• Falta de información que perjudique y obliguea
reahacer el diseño inicial.
5. 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?
6. 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.
7. 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.
8. 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
9. 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.
10. 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.
11. 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
12. Uno a uno
• Una entidad en A esta asociada con cualquier
número de entidades en B (0 ó más) y viceversa
A1 B1
A2 B2
A3 B3
A4 B4
B5
EJEMPLO: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece
a un solo paciente (hospital privado)
13. 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
B1
A1
B2
A2
B3
A3
B4
B5
EJEMPLO: El titular de una cuenta de cheques puede tener cualquier número de
tarjetas, pero cada tarjeta pertenece a una sola persona
14. Muchos a muchos
• Una entidad en A esta asociada con cualquier
número de entidades en B (0 ó más) y viceversa
A1 B1
A2 B2
A3 B3
A4 B4
B5
EJEMPLO: En un proyecto de investigación puede haber cualquier número
de médicos, un médico puede participar en cero o varios proyectos
15. 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.
16. Cardinalidad: obligatoria y
opcional
Uno a uno obligatorio: un empleado en
Una empresa tiene uno y solo un puesto, un
Puesto pertenece a un solo empleado
Uno a muchos opcional: un profesor en la
Fac. 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
17. 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.
18. 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
19. 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).
i_paciente#
i_cuarto#
n_paciente i_piso
a_paciente
paciente cuarto
d_ingreso
i_cuarto#
q_costo
20. 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
i_cliente#
i_tarjeta#
n_cliente i_password
a_cliente
cliente tarjeta
d_apertura q_limite i_cliente#
21. 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
i_medico#
i_proyecto#
n_medico n_proyecto
a_medico
medico proyecto
a_telefono
i_especial
t_resumen
22. 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
n_medico i_medico# i_proyecto#
n_proyecto
a_medico
medico- proyecto
medico
proyecto
i_especial i_medico# i_proyecto# t_resumen
a_telefono
23. Relaciones y llaves primarias vs
cardinalidad
Cardinalidad Relación entre entidades Llave foránea
Uno a uno No es necesario crear una relación Se crea una llave foránea en
entre las entidades una de las entidades
relacionadas que
corresponde a la llave
primaria en la otra
Uno a muchos No es necesario crear una relación Se crea una llave foránea del
entre las entidades lado de la entidad “muchos”
que corresponde a la llave
primaria del lado “uno”
Muchos a Se crea una relación con llave En las entidades no hay llave
muchos primaria compuesta formada por las foránea.
llaves primarias de las entidades que
une la relación
25. 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 y
un análisis puede practicársele a ninguno o a muchos pacientes.
Esto implica que tenemos una relación muchos a muchos optativa en
ambos lados.
26. Rompiendo el muchos a muchos
Debemos crear una relación entre ambas
paciente-
paciente analisis
analisis
i_pac n_pac a_pac i_med
1234 Laura Pino 289
48 i_pac i_anal t_resu d_anal
3678 María Juare 456 1234 A-1 3.8 5/I/08 i_anal n_anal q_anal t_desc
z 56
A-1 leuco 300.00 ayuno
1234 A-2 Pos 7/I/07
A-2 embar 200.00 ayuno
1234 A-1 4.4 2/II/08
3678 A-2 neg 3/I/08
27. Diagrama E-R
• Los juegos de entidades: paciente-análisis y
médico.
paciente- medico
analisis
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 mandar
uno o varios análisis a los distintos pacientes.
Esto implica que tenemos una relación uno a muchos obligatoria.
28. Rompiendo el muchos a muchos
Debemos crear una relación entre ambas
paciente-
medico
analisis
i_pac i_anal t_resu d_anal i_med i_med n_nom t_esp
1234 A-1 3.8 5/I/08 289 289 Pérez cirujano
1234 A-2 Pos 7/I/07 456 456 López ginecól
1234 A-1 4.4 2/II/08 289
3678 A-2 neg 3/I/08 456
29. 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?
30. 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.
31. 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.
32. 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.).
33. 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.
34. Diagrama
Entidad
Relación
@emalca Ing. Eddie Malca Vicente
emalca@iluminatic.com
/iluminatic emalca@gmail.com