Escolar Documentos
Profissional Documentos
Cultura Documentos
relacionados entre s para que este modelo nos sirva para empezar a desarrollar
la solucin.
Pero tambin es conveniente aclarar que cuando tenemos un problema a
solucionar, y dicha solucin implica la creacin de una base de datos relacional, el
primer modelo que debemos tener en cuenta para producir el anlisis de nuestro
problema es el Modelo Entidad / Relacin.
integridad vlida para Estados Unidos? Claro que s, ya que esos valores estn
dados en dlares, no en pesos colombianos.
Por lo tanto, la grfica que vamos a aprender a construir en este mdulo nos
permitir comprender de una mejor manera, y a travs de los 4 componentes
explicados anteriormente, el problema a solucionar.
Abstraccin de la Realidad
Para poder realizar correctamente un Modelo Entidad / Relacin, se requieren de
ciertas habilidades de anlisis. Dentro de estas habilidades hay una que es la ms
importante y que es la capacidad de abstraccin de la realidad.
Esta capacidad permite que la persona que est dibujando el modelo sea capaz
de analizar el problema como un todo. Siempre digo que abstraerse de la realidad
para mirar el problema es como pararnos encima del problema y poderlo
vislumbrar desde arriba para poder mirar sus componentes y relaciones. Esto es
algo muy parecido a la metodologa TOP DOWN para solucionar problemas, en la
cual debo analizar el problema como un solo elemento y luego se va desglosando
el problema en subelementos que nos permitirn entrar al detalle del mismo.
Es una habilidad que solo se adquiere con la prctica y con la sana costumbre de
creer que el todo no es la suma de las partes.
Diagnstico
Historia Clnica
Considero que no merece mayor detalle explicar porque Paciente, Mdico,
Enfermera, Cita e Historia Clnica son entidades, algunas concretas y otras
abstractas (Cuales ?). Pero analicemos las dems entidades.
Se podra pensar que Medicamento no es propiamente una entidad sino que es
informacin referente al paciente, es decir, necesitamos saber en la futura base
de datos el nombre de los medicamentos que va a tomar un paciente dado. En
este caso, lo nico que necesitamos conocer acerca del Medicamento es su
nombre y por lo tanto, no podramos decir que es una Entidad sino, ms bien, una
caracterstica propia del Paciente. Pero qu sucede si, por ejemplo, necesitamos
saber, adems del nombre del medicamento, su nmero de lote de produccin, el
nombre del laboratorio que lo fabric, el nombre del qumico farmacutico
responsable del mismo, entre otras cosas. Desde este punto de vista, el
medicamento se convierte en Entidad ya que existe informacin inherente a l que
deseamos conocer.
En la explicacin anterior se vislumbra claramente la importancia que tienen los
requerimientos del usuario. Es el usuario, en este caso, el que decide qu
informacin necesita manejar acerca de los medicamentos, para que el analista /
diseador decida si modelarla como entidad o como caracterstica de otra entidad
(en este caso, Paciente).
Lo mismo sucedera con Enfermedad. Podramos pensar en colocar el nombre de
la enfermedad como una caracterstica del Paciente y no como una entidad. Esto
depender de la buena comprensin que tengamos de los requerimientos del
usuario (y, valga decir, de lo bien que stos estn definidos).
Exactamente el mismo caso tendramos con Diagnstico. Es usted, seor
diseador, el que define si es entidad o no, dependiendo de la conversacin
previa que haya tenido con el usuario.
Vale decir que el hecho de que una entidad sea concreta o abstracta no va a tener
mayor importancia en la definicin del modelo. Es una cuestin simplemente
semntica, es decir, que le va a dar significado al modelo.
Atributos
En el apartado anterior hablbamos de que toda entidad tiene caractersticas
propias, es decir, tiene informacin asociada a ella. En realidad, esto es lo que es
un atributo. Por definicin, un atributo es una caracterstica propia de una entidad
de la cual se puede obtener informacin.
Es de aclarar que todo atributo de una entidad tiene 3 componentes implcitos:
5
Entidad
Paciente
Enfermera
Medicamento
Cita
Historia Clnica
Atributos
Nombre
Cdula Paciente
Nombre Paciente
Edad Paciente
Sexo Paciente
Cdigo Enfermera
Nombre Enfermera
Telfono Enfermera
Direccin Enfermera
Numero Lote
Nombre Medicamento
Nombre Laboratorio
Fabricante
Fecha Elaboracin
Fecha Cita
Hora Iniciacin Cita
Hora Finalizacin Cita
Nmero Consultorio
Nmero Historia
Fecha Elaboracin
Sntomas Presentados
Fecha
Primera
Revisin
Dominio
Valor
Nmeros de 8 dgitos
Hasta 30 caracteres
Nmeros de 3 dgitos
MoF
Alfanumrico (4)
Hasta 30 caracteres
Numero de 10 dgitos
Hasta 35 caracteres
Alfanumrico (6)
Hasta 30 caracteres
Hasta 30 caracteres
98541785
Juan Prez
54
M
30B5
Ana Lpez
3105159073
Calle 6 4-10
600LAB
DOLEX
Quifarma
Dd/mm/yyyy
Dd/mm/yyyy
Hh:mm
Hh:mm
Nmero de 3 dgitos
Nmero de 3 dgitos
Dd/mm/yyyy
Hasta 100 caracteres
Dd/mm/yyyy
12/08/2005
15/04/2006
09:30
10:05
303
502
19/09/2004
Mareos
20/09/2004
Simples
Compuestos
Univalorados
Multivalorados
Derivados
Nulos
Sexo - Paciente
Nmero Historia Clnica
Nombre Laboratorio
Nombre Medicamento
Cdigo Enfermera
Fecha Cita
Direccin Residencia Mdico
Hora Finalizacin Cita
Edad - Paciente
Atributos Compuestos
Para responder estas dos ltimas preguntas recuerde que el modelo a construir
depende en gran medida de los requerimientos del usuario y de la percepcin que
tenga el diseador del problema a resolver.
Antes de abordar el tema de los atributos univalorados y multivalorados, debemos
definir lo que es la instancia de una entidad. Las instancias de una entidad se
definen como los registros que estn siendo representados por la entidad, es
decir, son los datos particulares que estn incluidos en la entidad y que estn
siendo representados por ella.
Tomemos el ejemplo de la entidad Paciente y sus atributos cedula-paciente,
nombre-paciente, edad-paciente y telfono-paciente. Si en un momento dado se
desea representar los pacientes que hay hospitalizados, pues el nmero de
instancias de la entidad Paciente ser igual al nmero de pacientes
hospitalizados. En este caso, suponiendo 4 pacientes hospitalizados, las
instancias se muestran en la tabla No. 3.
Edad Paciente
35
19
65
39
Nombre-Paciente
Juan Carlos Mora
Ana Mara Mesa
Julin Pedroza
Ligia Tabares
8
Telfono Paciente
311 5429652
2589645
315 5206325
2694530
Atributos Univalorados
Atributos Multivalorados
Atributos Derivados
Nombre del Atributo
Sueldo-enfermera
Edad-paciente
Valor-tratamiento-a-recibir
Derivado de..........
Nmero-horas-trabajadas
Salario-bsico-hora
Ao-nacimiento-paciente
Valor-medicamento
Valor-exmenes
Valor-radiografas
Es de anotar que basta con que una sola instancia de una entidad no posea
valores en un atributo, para considerarlo atributo nulo. Es decir, no se debe dar el
hecho de que el atributo no posea valores en todas las instancias (sobra advertir
que este caso no tendra sentido ya que en realidad el atributo sera innecesario
en la entidad).
En la tabla No. 6 se muestran ejemplos de atributos que son nulos:
Atributos Nulos
Nombre de Atributo
Nmero-celular-paciente
Email-enfermera
Especialidad- Mdico
Hobbies-enfermera
Por qu es nulo?
No todos los pacientes tienen telfono
celular
No todas las enfermeras tienen correo
electrnico
Existen mdicos generales que no se
han especializado.
No se conocen los hobbies de todas las
enfermeras.
11
medio de frases cortas con mucho sentido dentro del contexto del problema que
se est modelando.
Paciente Mdico
Enfermera Mdico
Medicamento Paciente
Diagnstico Enfermera
Paciente Sntoma
Cita Medicamento
Historia Clnica Enfermera
Paciente Historia Clnica
13
Una entidad tiene participacin TOTAL en una relacin cuando TODAS sus
instancias participan en la relacin.
Ahora, analicemos la participacin de la entidad Producto en la relacin Exhibe.
Cual es su participacin? Haciendo el mismo anlisis, llegamos a la conclusin de
que la participacin es PARCIAL, debido a que pueden existir Productos que no
son exhibidos por ningn(a) Modelo, es decir, existen instancias de Producto que
NO participan de la relacin Exhibe.
Una entidad tiene participacin PARCIAL en una relacin cuando existen
instancias que NO participan en la relacin.
Con el anterior ejemplo se puede ver claramente el concepto expuesto con
respecto a que la participacin se da entre una entidad y una relacin,
independiente de la(s) otra(s) entidad(es) con las cuales est relacionada.
Ejercicio:
Realizar el anlisis de la participacin que poseen las siguientes entidades en las
relaciones expuestas.
14
Se define una relacin uno a uno como aquella donde cada instancia de una
primera entidad solo se puede relacionar con una y solo una instancia de una
segunda entidad y viceversa.
Supongamos la siguiente relacin:
Paciente ================ Posee ================Historia Clnica
Al analizar esta relacin tenemos lo siguiente: Un paciente (instancia de Paciente)
posee una sola historia clnica (instancia de Historia Clnica) y una historia clnica
corresponde a un solo paciente. Es decir, cada instancia de una entidad solo se
relaciona con una instancia de la otra entidad y por eso llegamos a la conclusin
de que la relacin Posee es una relacin uno a uno.
Es importante anotar que cuando se va a analizar la cardinalidad de una relacin,
se debe analizar en ambos sentidos, es decir, de izquierda a derecha y de
derecha a izquierda. Por eso, en el anterior ejemplo, no basta con decir que la
relacin es uno a uno debido a que un paciente tiene una sola historia clnica
(izquierda a derecha). Faltara analizar una historia clnica a cuantos pacientes
corresponden (derecha a izquierda).
Siempre que se analice la cardinalidad de una relacin, se debe proceder en
ambos sentidos de la misma, es decir, de izquierda a derecha y viceversa.
En el anlisis de la cardinalidad de una relacin, siempre se debe partir de UNA y
solo UNA instancia de la entidad origen para ver con cuantas instancias se
relaciona en la entidad destino.
Relacin Uno a Varios.
Sea la siguiente relacin:
Facultad ================ Contiene ==================== Carrera
Es una relacin uno a varios porque una facultad (entidad origen) puede contener
varias carreras (entidad destino) y a su vez, una carrera (entidad origen) solo
pertenece a una facultad (entidad destino).
Relacin Varios a Uno.
Es la misma situacin de la relacin Uno a Varios. La diferencia radica en que
partimos de hacer el anlisis en sentido contrario a como se hace en una relacin
Uno a Varios. Pero la relacin sigue siendo la misma y con el mismo significado.
Por lo tanto, se considera que en realidad existen 3 tipos de cardinalidades y no 4.
15
Entidad Dbil
El concepto de entidad dbil es una situacin que no se presenta con frecuencia
en los problemas de la vida real, pero que es importante conocerlo para poder
afrontarlo en el caso que se necesite.
En apartados anteriores dijimos que las entidades tienen uno o ms atributos
claves, es decir, atributos que identifican cada instancia de la entidad. Pero
algunas veces, se presenta la situacin en la cual existen entidades que no
alcanzan a formar su clave a travs de atributos propios. En estos casos, este tipo
de entidad debe armar su propia clave a travs del atributo clave de otra entidad
con la cual est relacionada junto con uno o ms atributos propios. A este tipo de
entidad se le conoce como entidad dbil. Obviamente, la entidad que presta su
clave a la entidad dbil, se conoce como entidad fuerte.
Una entidad dbil es aquella que no posee clave a travs de sus atributos propios,
sino que se tiene que valer de la clave de otra entidad con la cual est relacionada
para poder, junto a uno o ms atributos propios, armar su propia clave.
Toda entidad dbil debe tener uno o ms discriminantes. Estos son los atributos
propios de la entidad dbil que, junto con la clave de la entidad fuerte, conforman
su clave.
El discriminante es el conjunto de atributos de la entidad dbil que conforman
parte de su clave.
Ejemplo.
En la universidad UNICIENCIA se tiene un sistema de activos fijos. Dentro de este
sistema, se lleva el registro de las sillas que hay en cada una de las oficinas. Es
poltica de la universidad codificar, a travs de numeracin, las sillas de cada
oficina. Por ejemplo, si en la oficina de Rectora hay 5 sillas, estarn numeradas
del 1 al 5. Y si en la oficina de Admisiones y Registro existen 4 sillas, estarn
numeradas del 1 al 4. El ejemplo se ilustra en la Figura 6.
Como se puede analizar del caso propuesto, se tienen 2 entidades: OFICINA Y
SILLA, relacionadas de la siguiente forma:
OFICINA ============ Posee =============SILLA
17
Esto debido a que existen varias sillas con el mismo nmero, lo cual contradice la
definicin de atributo clave dada en apartados anteriores. Para poder identificar
una silla en particular, debemos asociarla a la oficina a la que pertenece. As, si se
hace alusin a la silla No. 3, tendremos inconvenientes en saber si se trata de la
silla de Rectora, de Admisiones y Registro o de Cafetera. En cambio, si se
menciona la silla No. 3 de Cafetera, no habr lugar a ambigedades.
En este caso particular, la entidad SILLA es una entidad dbil y la entidad fuerte
ser OFICINA. Ntese que SILLA no tiene clave propia y, por lo tanto, debe
valerse del nmero de la oficina (atributo clave de la entidad fuerte) para formar,
junto con el nmero de la silla, su propia clave.
En el ejemplo anterior, cual es el discriminante?
Especializacin
El concepto de especializacin viene fundamentado en el hecho de que en las
bases de datos relacionales no es conveniente tener campos nulos, si por dichos
campos se van a realizar consultas. En el captulo sobre SQL se explicar en
detalle la razn de esta situacin, pero por ahora, se puede decir que realizar
consultas en SQL sobre campos nulos, puede traer como consecuencia
resultados no predecibles.
18
Cdula
Nombre
Telfono
Profesin
Nmero Oficina
Horario de Atencin a Estudiantes
Nombre Empresa donde Labora
Al analizar los atributos, nos damos cuenta de que existen 3 atributos nulos:
Nmero de Oficina, Horario de Atencin a Estudiantes y Nombre de Empresa
donde Labora. Por qu estos atributos son nulos? En qu instancias de la entidad
PROFESOR ser nulo el atributo Nmero de Oficina? Los profesores de ctedra
no poseen oficina propia en la universidad, es decir, para cada instancia
correspondiente a un profesor de ctedra, este atributo ser nulo. Lo mismo
sucede con el horario de atencin a estudiantes. Por otra parte, el Nombre de la
Empresa donde Labora es un atributo que solo aplica para los profesores de
ctedra, es decir, para las instancias correspondientes a profesores de tiempo
completo, este atributo ser nulo ( es obvio que el profesor de tiempo completo
labora solo en la universidad).
De hecho, en la explicacin anterior nos damos cuenta que existen 2 tipos de
profesores y esa es la razn de ser de la especializacin. Es poder subdividir una
entidad padre en varias entidades hijas, de acuerdo a su tipo. En este caso, los
tipos de profesores son de tiempo completo y de ctedra.
Por lo tanto podramos pensar en especializar a la entidad PROFESOR en 2
entidades hijas: TIEMPO COMPLETO y CATEDRA. Y la especializacin se debe
poder leer as: un profesor es de tiempo completo y/o es de ctedra.
Toda especializacin se debe poder leer, con sentido, con el verbo ser. Si se
lee con otro verbo, ya no sera especializacin sino relacin.
19
21
Entidades Hijas
Areo
Martimo
Terrestre
Entidades Hija
Servicio Particular
Servicio Pblico
22
Entidades Hijas
General
Especialista
Entidades Hijas
Profesor
Tiempo Completo
Investigador
Representante Docente
23
Smbolo Utilizado
Rectngulo
Doble Rectngulo
Compuestos, Elipse Continua
Elipse Punteada
Doble Elipse
Elipse Continua con el Nombre del
Atributo Subrayado.
Relaciones
Rombo en la mitad de las entidades
involucradas, junto con lneas que unen
dichas entidades con los rombos.
Cardinalidad de las Relaciones
Flechas / No flechas en las lneas que
unen las entidades involucradas en un
relacin.
Participacin Total de una Entidad en Lnea doble para unir la entidad con el
una Relacin
rombo correspondiente a la relacin
Participacin Parcial de una Entidad en Lnea simple para unir la entidad con el
una Relacin
rombo correspondiente a la relacin.
Especializacin
Un tringulo con la palabra ES dentro
de si, que une la entidad padre con sus
entidades hijas.
Tabla No. 7 Smbolos Usados en un Diagrama Entidad / Relacin
A continuacin se esquematiza de una manera grfica cada uno de los smbolos
utilizados en el Diagrama Entidad / Relacin.
24
Entidad
Entidad Dbil
Atributos Derivados
Atributos Multivalorados
25
Atributo Clave
Relaciones
26
En una relacin varios a varios no hay entidades del lado de uno de la relacin,
por lo tanto, no se dibujan flechas.
Participacin Total de una Entidad en una Relacin
Todo alcalde est dirigiendo una ciudad y toda ciudad est siendo gobernada por
un alcalde. En este caso, es una relacin uno a uno porque se est analizando en
un momento dado del tiempo. Tanto la entidad Alcalde como la entidad Ciudad
participan en forma total en la relacin Dirige y por lo tanto se dibuja doble lnea
como conector entre la entidad y la relacin.
27
28
Descripcin
Lpiz Mirado No. 2
Block Rayado Tamao Oficio
Comps Laminado en Cobre
Precio Unitario
$ 1200
$ 3800
$ 5900
SUBTOTAL: $10,900
IVA (16 %): $ 1,744
TOTAL: $12,644
Proveedor:
Papelera Mundial S.A.
Calle 52 No. 10 65
Tel: 4 16 54 33
Buenos Aires
Argentina
Es de anotar que en la anterior orden de compra, se est asumiendo que se va a
pedir una unidad de cada producto impreso en ella; por eso es que no existe una
columna de cantidad pedida. Ms adelante se desarrollar este caso.
A partir de esta orden de compra, desarrollar el diagrama entidad / relacin
correspondiente a la informacin que se maneja en ella.
Solucin:
Primero que todo identifiquemos las entidades que hay involucradas en el
problema:
Orden de Compra
Producto
Proveedor
De cada entidad, identifiquemos los atributos que se manejan en la orden de
compra:
Orden de Compra
o Nmero
29
o Fecha
o IVA
o Valor Total
Producto
o Cdigo
o Descripcin
o Precio Unitario
Proveedor
o Nit
o Nombre
o Direccin
o Telfono
o Ciudad
o Pas
Al repasar la orden de compra impresa, nos damos cuenta que no nos est
haciendo falta inventariar ningn dato, excepto por el encabezado de la misma.
Pero, por qu no se tuvo en cuenta dentro del anterior inventario de entidades y
atributos a la empresa de energa Corriente Alterna S.A.? Pues sencillamente
porque el dueo del modelo que se va a construir es precisamente Corriente
Alterna S.A. Adems, si modelramos la entidad Corriente Alterna S.A., cuantas
instancias tendra esta entidad? Una. Y hay que recordar que toda entidad debe
poseer mnimo 2 instancias.
Por lo tanto, el diagrama que vamos a dibujar consta de 3 entidades. El siguiente
paso consiste en determinar cuales van a ser las relaciones relevantes entre las
entidades. Debemos tener en cuenta que es a travs de las relaciones que se
obtiene la informacin valiosa de un modelo.
Para este caso, la forma ms simplista de relacionar las entidades del modelo a
travs de 3 relaciones que permita relacionar todo con todo, es decir, una orden
30
tiene asignado un proveedor, una orden tiene productos y los productos son
suministrados por proveedores. De tal forma, que el modelo quedara de la
siguiente manera:
31
PRODUCTO
635290
698520
630520
630
580400
PROVEEDOR
801.500.220-1
400.500.121-1
801.500.220-1
400.500.121-1
415.801.780-1
400.500.121-1
801.500.220-1
150.420.250-1
360.520.400-1
32
PROVEEDOR
800.500.320-1
360
400.155.155-1
PRODUCTO
635240
635250
635260
635270
621550
621560
621570
520
ORDEN
PROVEEDOR
800.500.320-1
300
900.150.333-1
PRODUCTO
524120
365241
854120
415260
805030
Con estos datos es claro que tenemos certeza de que el proveedor de la orden
No. 520 es aquel cuyo nit es 800.500.320-1 y que los artculos de esa orden son
el 524120, 365241 y 854120. Y con esta informacin podemos concluir que los
productos 524120, 365241 y 854120 son suministrados por el proveedor
800.500.320-1 en esa orden. Por lo tanto, LA RELACION suministra DEBE SER
ELIMINADA y no se pierde la informacin obtenida si estuviera en el modelo. Por
lo tanto, el diagrama Entidad / Relacin definitivo queda de la siguiente forma:
33
Es claro que con este esquema no podremos saber cuales son todos los
productos que suministra un proveedor dado, pero tambin es claro que esa no es
la intencin de sistematizar una orden de compra. Por lo tanto, no hay informacin
de inters que se est perdiendo. Lo nico relevante que se debe saber es qu
proveedor suministra una orden y cuales son los productos que se estn pidiendo.
Nmero: 303
Cdigo
105060
503069
603040
35
36
37