Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EL MODELO ENTIDAD-RELACIN
POR
RICARDO ROCHA C.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 2
Aclaracin
Este documento puede servir de apoyo para el curso de Bases de Datos 1 para el tema de
modelo entidad-relacin. El documento fue escrito por el Sr. Ricardo Rocha C.; por lo tanto,
es de su propiedad intelectual.
Atentamente,
Francisco Moreno
Febrero 2017
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 3
CONTENIDO
1. QU ES MODELAJE? 5
2. UN EJEMPLO SENCILLO 7
3. CONCEPTOS ESENCIALES 10
3.1 Entidades 10
3.2 Relaciones 11
3.3 Atributos 14
3.3.1 Generalidades 14
4.1 Planteamiento. 19
5.1 Introduccin. 30
5.3 Supertipos. 37
6.1 Jerarquas. 45
6.4 Clasificacin. 49
1. QU ES MODELAJE?
Sin embargo, esta tarea ha sido acometida sin prestar suficiente atencin: a minimizar la
redundancia de los datos, a lograr su verdadera integracin y a capturar la semntica de
los mismos.
Como consecuencia, los sistemas resultantes estaban aislados entre s, siendo comn que
los mismos datos estuvieran almacenados simultneamente (con distintos grados de
actualizacin) en diferentes aplicaciones y que resultara sumamente costoso o
impracticable integrar datos provenientes de las mismas.
Estos problemas originaron un inters creciente por las tecnologas de bases de datos,
inters que hoy se traduce en el uso generalizado de las mismas en proyectos de desarrollo
de todas las escalas.
A diferencia de los sistemas de archivos convencionales (en los que las estructuras de datos
se modelaban intuitivamente a partir de los requerimientos expresados por el usuario) las
bases de datos exigen el uso de tcnicas formales para la definicin de estructuras de
almacenamiento y recuperacin.
As mismo, a diferencia de los programas en lenguajes de tercera generacin (en los que
la lgica de cmputo se implementaba de una manera informal y algo caprichosa) las
herramientas de cuarta generacin empleadas con bases de datos suponen el diseo de
transacciones basadas en eventos.
As, el modelaje provee la herramienta conceptual para el analista de sistemas, desde una
perspectiva formal, que posibilita la derivacin (casi) mecnica de especificaciones de
diseo e, incluso, de programacin.
Como cabra esperar, no existe una nica o mejor forma de modelaje, pues algunos
modelos de datos resultan ms apropiados que otros para el anlisis de ciertos dominios
de aplicacin.
Sin embargo, desde hace ya algunos aos, se ha estandarizado el uso de una tcnica,
denominada modelaje entidad-relacin, que resulta apropiada para modelar las
propiedades de un amplio espectro de dominios, habiendo sido empleada indistintamente
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 6
Lo que hace al modelaje entidad-relacin tan universal es que no est enfocado al diseo
de un modelo de bases de datos particular y que dispone de tcnicas de transformacin
para muchos de ellos.
El problema central del diseo lgico, como se le concibe hoy da, es el de la correcta y
completa representacin de propiedades de un dominio de aplicacin y el de la
transformacin de dicha representacin en especificaciones de almacenamiento,
recuperacin y desarrollo de programas de aplicacin.
2. UN EJEMPLO SENCILLO
Todos recordamos la organizacin de los colegios de primaria de nuestra infancia, en los
que una misma maestra atenda a todos los alumnos de cada curso, dictando todas las
materias del pensum1 y efectuando evaluaciones peridicas de cada una.
Si se limita la perspectiva a los cursos y los alumnos, se aprecia que un alumno dado solo
debe estar matriculado en un curso, en tanto que, en un mismo curso puede estar
compuesto de muchos alumnos.
ALUMNO CURSO
matriculado en
* nmero compuesto de
* grado
* nombre
Cada una de las cajas del diagrama de la figura representa un entidad y la lnea trazada
entre las dos una relacin definida sobre ellas.
Esta lnea tiene un extremo abierto (muchos, pata de gallo) al lado izquierdo y un extremo
que termina en un punto (uno) al lado derecho. La lnea punteada indica que la relacin es
opcional y la lnea continua indica que la relacin es obligatoria. El diagrama indica; por lo
tanto, que un curso puede estar compuesto de muchos alumnos, y que cada alumno debe
estar matriculado en un curso.
Los tems antecedidos de un asterisco son los atributos de cada entidad, siendo
propiedades de las mismas que sirven para describirlas.
Ntese que el verbo "debe" se emplea para indicar que la relacin es obligatoria.
La relacin descrita es una relacin 1:N (o "de uno a muchos'). Esta es la forma ms comn
de relacin entre dos entidades.
Analizando ahora las evaluaciones que peridicamente se realizan en un curso sobre cada
correspondiente a
CURSO
el lugar de
EVALUACIN
sobre
MATERIA
* fecha tema de
efectuada a
ALUMNO
el presentador de
La lnea punteada que parte de CURSO hacia EVALUACIN indica que en lo que respecta
a curso, la relacin es opcional (esto es, se puede dar que un curso no tenga an
evaluacin, es decir, es como el primer da de clase).
La lnea continua que va desde EVALUACIN a CURSO indica que en lo que respecta a
la evaluacin, la relacin es obligatoria; esto es, una evaluacin solo se puede practicar en
un curso y no tiene sentido fuera del contexto del mismo.
evaluaciones.
Esta es una forma comn de relacin entre dos entidades, aunque no tanto como la relacin
1:N.
Analizando ahora las relaciones entre CURSO, PROFESOR y AULA resulta un diagrama
como el siguiente:
dirigido por
asignado a PROFESOR
CURSO
alojado en
asignada a AULA
Ntese que, en las dos relaciones, ninguno de los extremos est abierto: Las relaciones
uno a uno son una forma de relacin entre dos entidades poco comn en la mayora de los
modelos.
Esto enfatiza el hecho de que no puede existir un curso para el cual no se haya asignado
un profesor, en tanto que es razonable suponer la existencia de un profesor al que no se
haya asignado un curso.
Esta relacin establece que no puede existir un curso tal que no est localizado en un aula,
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 10
en tanto que un aula puede estar vaca y no haber sido asignada a ningn curso.
sobre
tema de MATERIA
dictada en
EVALUACIN efectuada a
el presentador de ALUMNO
* fecha
matriculado en
correspondiente a
lugar de CURSO
asignado a asignada a
PROFESOR AULA
3. CONCEPTOS ESENCIALES
En esta seccin se definen de manera formal los conceptos esenciales del modelaje
entidad-relacin: entidad, relacin y atributo.
3.1 ENTIDADES
Una entidad es una cosa u objeto significativo (real o imaginario) acerca del cual se requiere
conocer o almacenar informacin.
El tamao y disposicin de la caja dentro del diagrama son arbitrarios, requirindose que
posean suficiente espacio para colocar el nombre de la entidad (preferiblemente sin
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 11
As, es comn alargar las cajas para permitir que las lneas de relacin se conecten a ellas
sin cruzarse o curvarse, para evitar que el diagrama parezca una telaraa.
El nombre de la entidad debe representar la clase de objeto tratado, no una instancia. As,
los nombres Albert Einstein o Stephen Hawking no pueden nombrar una entidad; la entidad
es CIENTFICO y los dos anteriores son instancias de esa entidad.
ALUMNO/ESTUDIANTE
Toda cosa u objeto se debe representar exactamente mediante una entidad. Esto es, las
entidades son mutuamente excluyentes en todos los casos.
Toda entidad debe ser identificable sin ambigedad. Esto es, toda instancia de una entidad
debe ser identificable de forma separada y distinta de todas las dems instancias de la
misma entidad. (Vase la seccin 3.3.2, Identificador nico).
3.2 RELACIONES
Una relacin es una asociacin nombrable, significativa entre dos entidades.
Una relacin es binaria, en el sentido de que corresponde siempre a la asociacin entre dos
entidades o de una entidad consigo misma.
Toda relacin tiene dos extremos, para cada uno de los cuales existen:
Una leyenda.
Una relacin se representa mediante una lnea que conecta las cajas correspondientes a
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 12
las dos entidades o que conecte recursivamente a una caja consigo misma.
Muchos y
mandatoria
Uno y
opcional
Una relacin recursiva suele representar jerarquas definidas sobre una misma entidad,
como se muestra en el siguiente diagrama.
Muchos y
opcional
Uno y
opcional
Este diagrama podra corresponder, por ejemplo, a una jerarqua de cargos en una empresa
(jefes y subordinados).
Cuando el extremo de la relacin es obligatoria se emplea el verbo debe antes del nombre
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 13
Muchos a uno
Muchos a muchos
Jerarqua infinita
3.3 ATRIBUTOS
3.3.1 Generalidades
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 15
Identificar.
Describir.
Cualificar.
Clasificar.
Un atributo puede ser texto, un nmero, una figura y as sucesivamente, segn se requiera.
En procesamiento de datos se tiende a usar nicamente texto y nmeros, pero es razonable
incluir otros tipos de datos tales como grficos (por ejemplo, fotografas), sonido y vdeos.
ENTIDAD-A
* atributo-1
* atributo-2
En el ejemplo de la siguiente figura, los atributos resultan necesarios para distinguir las dos
entidades.
EVALUACIN TIPO DE
clasificada por EVALUACIN
* fecha # cdigo
clasificadora de
* cdigo materia * descripcin
En este caso, puede haber solo cuatro o cinco tipos de evaluacin, pero puede haber
cientos de evaluaciones a lo largo del ao escolar.
Los atributos deben describir nicamente a las entidades con las que estn asociadas. Esto
puede parecer obvio, pero es el error ms comn asociado con la identificacin de atributos.
Por ejemplo, es 'nombre de materia' un atributo de evaluacin o de materia propiamente
dicho? Es un atributo de materia, pero en el mundo real se ve replicado en muchos
contextos, incluyendo la evaluacin. Por qu? En un sistema manual, usar el nombre de
materia es una forma muy conveniente de representar una relacin. Cuando se encuentran
estas situaciones, se debe trazar una lnea de relacin, creando una entidad si es necesario,
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 16
CURSO
EVALUACIN
MATERIA
Una entidad suele tener entre dos y ocho atributos. Si se encuentran ms de ocho,
probablemente hay entidades o relaciones ocultas en el modelo.
No se debe emplear el nombre de la entidad como parte del nombre del atributo, pues
resulta redundante, ya que un atributo describe nicamente a una entidad.
Una entidad solo puede tener un valor para cada atributo en un momento dado. Si resulta
esencial tener mltiples valores, es necesario crear una entidad para almacenarlos y una
relacin de muchos a uno con la entidad original, como se ilustra en el siguiente diagrama.
CLIENTE
# cdigo
* nombre
* telfono 1
telfono 2
...
telfono n
correspondiente a
TELFONO CLIENTE
poseedor de
Este es el caso del atributo tipo evaluacin en la entidad EVALUACIN, que tiene como
atributos propios la descripcin y el cdigo y debe, por lo tanto, ser tratado como una entidad
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 17
en s misma.
El valor de un atributo que debe ser siempre conocido, se representa mediante un asterisco
(*) o un punto (.) antepuesto al nombre del atributo. Ntese que esto se aplica a los atributos
cuyo valor debe ser siempre conocido, invalidando instancias de la entidad en las que no
haya valor para estos.
Ntese que una misma entidad puede tener ms de una forma de identificacin nica.
As, por ejemplo, un empleado se puede identificar tanto con su nmero de cdula como
con un cdigo interno asignado por la organizacin.
identificador.
ALUMNO
el rendimiento de # nmero matriculado en
CURSO
evaluado mediante * nombre integrado por
NOTA
* valor
correspondiendo a
sobre
consistente de EVALUACIN tema de MATERIA
4.1 PLANTEAMIENTO.
En bachillerato, un mismo profesor puede dictar una o ms materias en varios cursos o
paralelos, dndose tambin que en distintos cursos se estudien distintas materias.
profesores.
CURSO/MATERIA M:N Un curso debe ser asignado a muchas materias, en tanto que
una materia puede ser dictada en muchos cursos.
efectuada en el lugar de
realizada a asignado a
ALUMNO
quien presenta compuesto de
asignada a PARALELO
AULA
ubicado en
quien dicta
efectuada por clase en atendido por
PROFESOR
EVALUACIN autor de
el director de dirigido por
quien dicta correspondiente a
dictada por
dividido en
efectuada sobre dictada en
MATERIA CURSO
tema de asignado a
ENTIDADES.
Ntese que entre las entidades PROFESOR y PARALELO existen dos relaciones de
diferente significado:
El director de.
No es necesario dictar clase en un paralelo para dirigirlo, de la misma forma que es posible
dictar clase en un paralelo y no ser director del mismo.
La existencia de varias relaciones diferentes definidas sobre las mismas entidades es vlida
y no se debe desestimar su posible ocurrencia en un modelo entidad-relacin.
EVALUACIN
efectuada en realizada a
quien presenta
La operacin de considerar una relacin M:N como entidad en s misma se conoce como
agregacin4.
correspondiente a
NOTA compuesta de EVALUACIN
correspondiente a
sujeto de
ALUMNO
CURSO/MATERIA Pensum.
Se observa que NO son relaciones independientes; esto es, no cualquier profesor puede
dictar cualquier materia en cualquier paralelo.
De hecho, un profesor solo puede dictar, en un paralelo dado, las materias que est
capacitado para dictar en cada curso.
Esta dependencia corresponde a una forma de relacin conocida como relacin ternaria;
esto es, una relacin definida simultneamente sobre tres entidades y que no siempre se
puede descomponer en tres relaciones binarias independientes sin prdida de informacin.
4 Discutible. El trmino agregacin se suele usar para otras cosas, pero Rocha lo usa as.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 23
HABILIDAD PENSUM
Ntese el uso de las barras perpendiculares trazadas sobre las lneas de las relaciones5.
Es decir, no existe una relacin directa entre PROFESOR y MATERIA, sino entre
PROFESOR y PENSUM (esto es, simultneamente con MATERIA y CURSO).
5 Por simplicidad se ha obviado el nombre de las relaciones en algunos de los diagramas, pero
siempre deben ir.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 24
HABILIDAD PNSUM
Esta tcnica permite resolver relaciones ternarias en relaciones binarias sin prdida de
informacin.
La construccin de "promover" una relacin M:N a una entidad y definir nuevas relaciones
sobre dicha entidad se denomina agregacin6 y representa una de las herramientas
conceptuales ms poderosas del modelaje entidad-relacin.
6 OK, de nuevo no confundir con el concepto de agregacin que se usa, por ejemplo, en UML.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 25
ASIGNACIN HABILIDAD
PROFESOR
PARALELO
CURSO
MATERIA/EVALUACIN Tema de
PROFESOR/EVALUACIN Autor de
PARALELO/EVALUACIN Lugar de
De hecho, solo el PROFESOR que haya sido asignado para dictar MATERIAS en un
PARALELO particular (mediante la entidad de interseccin ASIGNACIN) puede originar
EVALUACIONES.
Estas relaciones, por lo tanto, se pueden remplazar por una nica relacin entre
NOTA EVALUACIN
PARALELO
--
PARTIDO JUGADORXTORNEOX
PARTIDO
Suponga que un jugador solo puede jugar partidos de los torneos en los que l est inscrito,
en tal caso, aqu se tiene una clausura transitiva.
--
PARALELO/AULA 1:1 Un paralelo debe estar ubicado en un aula, en tanto que un aula
puede estar asignada a un paralelo.
8 Plural: pensa.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 28
ALUMNO/NOTA 1:N. Un alumno puede ser evaluado por muchas notas, en tanto que
NOTA EVALUACIN
PROFESOR MATERIA
PARALELO
CURSO
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 30
5.1 INTRODUCCIN.
En el ejemplo anterior, se ha efectuado un anlisis de entidades y relaciones, sin abordar
en detalle la identificacin de atributos.
Excepto en los casos ms simples, siempre resulta necesario revisar varias veces el modelo
resultante del anlisis para capturar con la mayor exactitud posible las propiedades del
dominio modelado.
Esta tarea involucra muy de cerca al usuario final, como nico rbitro definitivo de las dudas
e inconsistencias encontradas, as como para la eliminacin de relaciones irrelevantes.
Este es el caso con las dos relaciones anteriormente citadas. Un analista principiante se
podra sentir tentado a incluir estas relaciones para responder a preguntas tales como:
Ntese, sin embargo, que para responder estas preguntas basta con recorrer las relaciones
ya definidas en el orden apropiado; por lo tanto, es redundante establecer relaciones
directas entre las entidades involucradas.
As, dado un ALUMNO, se puede enlazar todas sus NOTAS, seleccionando para cada una
nicamente aquellas correspondientes a una MATERIA dada y as calcular la nota
promedio.
10 OK.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 31
Podra alegarse, quizs, que las primeras relaciones citadas en la seccin anterior (aquellas
identificadas a priori) eran suficientes para construir un sistema automatizado, sin entrar en
las sutilezas de qu profesor puede dictar qu materia o qu materias se cubren en qu
cursos.
A este respecto se podra decir que uno de los objetivos centrales del modelaje es modelar
(NO en los programas de aplicacin) la mayor cantidad posible de propiedades del dominio
de aplicacin.
As, se garantiza que en el modelo de datos se puedan evitar inconsistencias que, de otra
manera, deberan ser controladas por los programas de aplicacin.
Extendiendo este concepto, es fcil observar que una gran cantidad de lgica procedimental
necesaria en los programas de aplicacin se puede obviar mediante la simple inclusin de
entidades y relaciones de carcter abstracto en el modelo de datos. (Vase la seccin 5.4.
Entidades de Referencia).
1. Identificacin de entidades.
2. Identificacin de relaciones.
4. Identificacin de atributos.
En trminos generales, se presenta que solo las personas pueden originar transacciones y
que la accin de estas recae siempre sobre un objeto dado.
Por otra parte, las personas (y objetos) suelen residir (o almacenarse) en lugares.
As mismo, los conceptos permiten controlar y limitar qu tipo de persona puede llevar a
cabo qu tipo de transaccin y qu tipo de transaccin se puede aplicar sobre cada tipo de
objeto.
dominio de aplicacin.
Una experiencia de aos en el modelaje entidad-relacin muestra que los usuarios finales
aprenden con mucha facilidad a interpretar diagramas entidad-relacin, validando la
completitud y consistencia del mismo, dirimiendo diferencias e identificando formas ms
adecuadas de modelar.
1. "Si, entiendo correctamente lo que dice el diagrama, creo que es un error considerar
que un crdito pueda ser conferido a un cuentahabiente. Es perfectamente posible que
dos o ms clientes del banco sean responsables de un mismo crdito, en cuyo caso se
hacen igualmente solidarios por la deuda".
CRDITO CUENTAHABIENTE
Una relacin inicialmente identificada como 1:N resulta ser M:N y requiere, por lo tanto, de
una nueva entidad (de interseccin).
CUENTAHABIENTE
PRESTATARIO
CRDITO
2. "No creo que todos los productos tengan una formulacin. Nosotros vendemos tambin
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 34
FORMULACIN
PRODUCTO
Una relacin debe resulta ser una relacin puede y se introduce una nueva entidad
(producto importado) con atributos y relaciones propias.
FORMULACIN
PRODUCTO
Toda entidad debe tener un identificador nico. En los raros casos en que el modelaje no
evidencie un atributo (o combinacin de atributos) que conformen un identificador nico, es
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 35
lcito "inventar" uno usando, por ejemplo, nmeros consecutivos11, como en los
documentos.
Una entidad puede tener cualquier nmero de atributos; sin embargo, una entidad con
muchos atributos (ms de ocho) suele camuflar otras entidades.
CURSO
# nmero
*nombre
PARALELO
# letra
AULA
# nmero
*capacidad (en nmero de alumnos)
PROFESOR
#nmero
*nombre
*sexo
ALUMNO
# nmero
*nombre
*sexo
MATERIA
# cdigo
*nombre
*rea (sociales, tcnicas, humanidades, etc.)
PENSUM
*intensidad (en nmero de horas por semana)
HABILIDAD
11 En ocasiones estos identificadores terminan siendo atributos naturales de las entidades, por
ejemplo, nmero de factura.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 36
ASIGNACIN
*fecha_inicial
*fecha_final
EVALUACIN
#nmero
*tipo de evaluacin (mensual, semestral, final)
*fecha
NOTA
*calificacin (por ejemplo, de 1 a 10)
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 37
5.3 SUPERTIPOS.
En la lista anterior, se puede apreciar que los atributos de las entidades PROFESOR y
ALUMNO son los mismos, lo que se deriva del hecho natural de que ambos son personas,
resultando razonable agrupar estas dos entidades en una nueva entidad.
AUSENCIA PERSONA
HABILIDAD PROFESOR
NOTA ALUMNO
EVALUACIN
Los atributos o relaciones comunes a todos los subtipos se definen solo al nivel superior
del supertipo.
Es posible que dos o ms subtipos de un mismo supertipo posean relaciones entre s o con
el supertipo.
TIPO DE
CRDITO
CRDITO
DESTINO DE
CRDITO
CLIENTE TIPO DE
CLIENTE
Ntese que estas entidades abstractas suelen tener solo un identificador y una descripcin.
aparece en la figura.
TIPO_CRDITO POR
DESTINO_CRDITO
CRDITO
T_CRDITO
TIPO DE DESTINO DE
POR
CRDITO CRDITO
T_CLIENTE
TIPO DE
CLIENTE
CLIENTE
Ntese que valores tales como la tasa de inters o el plazo mximo de pago se pueden
asociar con las entidades de interseccin identificadas, de forma que, por ejemplo, la tasa
de inters dependa de la relacin entre TIPO DE CLIENTE y DESTINO DE CRDITO y el
plazo de pago de la relacin entre TIPO DE CLIENTE y TIPO DE CRDITO.
Estas relaciones (y sus atributos) permiten definir reglas de la organizacin dentro del
modelo de datos, logrando el efecto de:
Permitir cambios en las polticas de la compaa sin tener que modificar los programas.
/*Tipos de cliente*/
#define CUENTAHABIENTE ('C')
#define PARTICULAR ('P')
#define EMPLEADO ('E')
/*Tipos de crdito*/
#define PRENDARIO ('P')
#define HIPOTECARIO ('H')
#define QUIROGRAFARIO ('Q')
/*Destinos de crdito*/
#define CONSUMO ('C')
#define INVERSION ('Y')
...
switch (tipo_cliente) {
case CUENTAHABIENTE:
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 40
switch (tipo_credito) {
case PRENDARIO:
plazo_maximo = 120;
break;
case HIPOTECARIO:
plazo_maximo = 360;
break;
case QUIROGRAFARIO:
plazo_maximo = 60;
break;
}
break;
case PARTICULAR:
if (tipo_credito == QUIROGRAFARIO) {
error("Tipo de crdito no aplicable");
break;
}
switch (destino_credito) {
case CONSUMO:
tasa_interes = 40.0;
break;
case INVERSION:
tasa_interes = 37.5;
break;
}
break;
case EMPLEADO:
...
Ntese que en este esquema, todo cambio en las polticas de asignacin de crdito y en
los valores de plazos mximos o tasas de inters se traducir en cambios en los programas
de aplicacin.
Usando las entidades de referencia identificadas y sus relaciones, la lgica del programa
de aplicacin se hace mucho ms genrica y flexible ya que cualquier cambio de polticas
respecto de la concesin de crditos o de valores en las tasas de inters y plazos de pago
implicarn nicamente la modificacin de los registros correspondientes en la base de
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 41
ENTIDAD-B
ENTIDAD-A
ENTIDAD-C
La curva trazada alrededor de las lneas de relacin se denomina arco y significa que una
instancia de la entidad A se puede relacionar con una instancia de la entidad B o con una
instancia de la entidad C, pero no con ambas a la vez.
Ntese el empleo de un punto en la interseccin del arco con las lneas de relacin. Esta
notacin se emplea para evitar ambigedades en el caso en que la entidad A est
relacionada tambin con una entidad D independiente del arco, como en la siguiente figura.
ENTIDAD-B
ENTIDAD-A ENTIDAD-D
ENTIDAD-C
En esta figura, la relacin entre A y D no forma parte del arco, es decir, D no est incluida
en la relacin condicional entre A y B o C.
12 OK.
13 Arcos.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 42
PRODUCTO
FACTURA
SERVICIO
Por ejemplo, un paralelo se puede asociar con un profesor como director de grupo y,
posteriormente, se puede asociar con otro si el director original se retira del colegio.
Este es el caso del paralelo que est asociado con un curso. No tiene mucho sentido pensar
en que, por ejemplo, a mitad de ao el paralelo 4A se transforme en 5A.
Esta situacin es tpica en las relaciones de dependencia en las que el identificador del lado
N se construye empleando como componente el identificador del lado 1.
La integridad referencial exige, por ejemplo, que al insertar una fila en la tabla15 de
empleados, el nmero de departamento de la misma exista tambin en la tabla de
departamentos.
Borrar a todos los empleados asociados con el departamento dado. Esta modalidad se
14 Este es un tema del modelo relacional; sin embargo, Rocha lo menciona en el contexto del modelo
E-R.
15 Estos son conceptos (fila, tabla) del modelo relacional, no del modelo E-R.
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 43
La opcin de inhibir el borrado se aplica cuando la relacin es puede por el lado 1 y debe
por el lado N.
La opcin de desconectar a las instancias del lado N se aplica cuando la relacin es puede
en ambos extremos.
Por lo general, el identificador de una entidad no cambia con el paso del tiempo y se debe
seleccionar de tal forma que sea lo ms estable posible.
En los raros casos en que el identificador de una instancia de entidad cambia de valor, el
cambio se debe propagar a todas las instancias de entidades asociadas con la primera a
travs de relaciones 1:N en las que esta es el lado 1. Esta modalidad de actualizar se
conoce como actualizacin en cascada.
Los atributos continuos pueden tomar cualquier valor, generalmente dentro de un rango
dado.
Ejemplo de ello son la calificacin en una evaluacin, que puede tomar cualquier valor
comprendido entre 0 y 10 (9.8, 3.5, 7.0, etc.) y la fecha de evaluacin que puede tomar
cualquier valor dentro del ao lectivo.
Los atributos discretos solo pueden tomar como valor uno de los provistos en una lista
predefinida de valores.
Ejemplo de ello son el sexo del alumno, que solo puede tomar los valores F (femenino) o M
(masculino) y el rea de la materia, que solo puede tomar los valores S (sociales), T
(tcnicas) o H (humanidades).
Tpicamente, los atributos continuos pueden tomar valores arbitrarios solo dentro de un
rango dado, denominado dominio, nombre que tambin se aplica a la lista de valores
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 44
Con los atributos discretos dinmicos, en cambio, se hace necesario proveer un mecanismo
de verificacin diferente, pues toda insercin o borrado practicados en la lista de valores
vlidos supondra necesariamente modificaciones en la lgica de los programas de
aplicacin o en el diccionario de datos.
Para ganar este nivel de independencia entre datos y programas se practica la promocin
de dominios discretos dinmicos a entidades de referencia.
De esta manera, lo que inicialmente se ha identificado como atributo se remplaza por una
nueva entidad (abstracta) y una relacin 1:N definida entre esta y la entidad original.
As, la lista de atributos previamente elaborada para la entidad MATERIA se transforma en:
REA MATERIA
# cdigo # cdigo
*nombre *descripcin
6.1 JERARQUAS.
Con frecuencia, se encuentran relaciones que configuran jerarquas de contencin tanto
entre distintas entidades (como en un organigrama empresarial) como sobre la misma
entidad (como en un plan de cuentas contable).
El modelaje de estas jerarquas puede resultar complejo si hay un alto nmero de entidades
involucradas en ella, como en el caso de una gran corporacin con muchas subdivisiones.
Este diagrama se puede modificar para admitir un nmero arbitrario de niveles, como se
aprecia en la siguiente figura.
UNIDAD
ORGANIZATIVA
Este modelo es til, pero no diferencia entre la cspide de la jerarqua y cada uno de los
niveles subordinados.
UNIDAD
ORGANIZATIVA
DEPARTAMENTO./
SUBDIVISIN
COMPAA/
ORGANIZACIN
TIPO DE UNIDAD
ORGANIZATIVA
UNIDAD
ORGANIZATIVA
DEPARTAMENTO./
SUBDIVISIN
COMPAA/
ORGANIZACIN
TIPO DE UNIDAD
ORGANIZATIVA
Esta extensin reconoce que puede haber compaas dentro de la estructura de otras
compaas.
compaa.
Este es el caso, por ejemplo, de un contrato que puede pasar por varios estados a lo largo
de su vigencia.
Si es de inters guardar informacin relativa a las fechas en que cada contrato estuvo en
un estado particular y a cargo de qu dependencia, se podra modelar un arreglo de
atributos consistentes de la tripleta estado/fecha/dependencia, para cada uno de los
posibles estados del contrato, como en la siguiente figura.
CONTRATO
* nmero
* descripcin
* fecha_suscripcin
* monto_total
* fecha_estudio
* dependencia_estudio
* fecha_aprobacin
* dependencia_aprobacin
* fecha_vencimiento
* dependencia_vencimiento
......
Esta construccin; sin embargo, adolece de varios defectos en la medida en que la mayora
de lenguajes de manipulacin de bases de datos (como SQL) no manejan arreglos16 y, por
otra parte, no siempre se siguen los mismos estados de un estado anterior, siendo posible,
incluso, que un contrato dado jams pase por un estado particular.
Una mejor manera de modelar esta situacin es crear una entidad llamada ESTADO y
definir dos relaciones entre esta y CONTRATO: una (1:N) para el estado actual del contrato
HISTRICO
* fecha_inicial
* fecha_final
CONTRATO ESTADO
Ntese que la entidad de interseccin HISTRICO (que implementa la relacin M:N entre
CONTRATO y ESTADO) se puede, a su vez, relacionar con la entidad DEPENDENCIA.
HISTRICO
DEPENDENCIA
* fecha_inicial
* fecha_final
CONTRATO ESTADO
HISTRICO
DEPENDENCIA
* fecha_inicial
* fecha_final
TRANSICIN
CONTRATO ESTADO
que se identifica:
En este caso, se habla de tipos de partes y productos. El mismo tipo de parte se puede
emplear como componente en muchos otros productos y partes. Esto se ilustra a
continuacin.
PARTE/PRODUCTO
# cdigo
*descripcin
ENSAMBLAJE
* cantidad
* descripcin
PARTE/PRODUCTO
# cdigo
* descripcin
6.4 CLASIFICACIN.
Otra construccin comn es la de clasificacin o categorizacin de entidades, como en el
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 50
diagrama de la figura.
#
PRODUCTO
c d i g o
* d e s c r i p c i n
* c l a s i f i c a c i n
PRODUCTO CLASIFICACIN
# c d i g o # v a l o r
* d e s c r i p c i n * d e s c r i p c i n
Aqu; sin embargo, solo se permite una clasificacin del producto. Con frecuencia es
necesario clasificar los productos por mltiples conceptos, tales como origen, uso y otras
propiedades. Esto se logra remplazando la relacin 1:N existente en el modelo anterior
entre CLASIFICACIN y PRODUCTO por una relacin M:N implementada en una entidad
de interseccin.
CATEGORA CLASIFICACIN
* fecha_inicio # valor
* fecha_fin * descripcin
PRODUCTO
# cdigo
* descripcin
Si una entidad A tiene tres subtipos mutuamente exclusivos A1, A2 y A3; se puede
representar de la forma convencional como en esta figura.
A
A1
A2
A3
Esta construccin tiene la ventaja de permitir definir atributos y relaciones propias a cada
subtipo, pero solo permite definir exactamente tres subtipos a la entidad A.
Una manera ms genrica de manejar tipos de entidad puede ser la creacin de una entidad
de referencia para cualificar a cada instancia del supertipo.
A TIPO
*
ESTADO
d e s d e
* h a s t a
TIPO
DETALLE
PEDIDO DE TEM
MATERIALES
Tpicamente, una transaccin de este tipo puede dar origen a otra y esta, a su vez, a otra
de la misma estructura.
Este es el caso de los pedidos, que pueden originar una o ms entregas, las cuales, a su
vez, pueden originar una o ms devoluciones.
Puesto que solo es posible entregar lo que ha sido pedido y solo es posible devolver lo que
ha sido entregado, los detalles de entrega referencian a los detalles de pedido y los detalles
de devolucin referencian a los detalles de entrega, en tanto que nicamente los detalles
de pedido referencian directamente al tem de inventario. Esto se aprecia en el modelo de
la figura.
DEPENDENCIA
Ntese que esta construccin es vlida para las entregas parciales que, por otra parte, son
EL MODELO ENTIDAD-RELACIN / RICARDO ROCHA C. 53
La redundancia se encuentra, sin embargo, en que todos los encabezados (pedido, entrega
y devolucin) tienen un nmero y una fecha y referencian a la dependencia y en que todos
los detalles tienen un nmero de rengln y una cantidad. Por lo tanto; las distintas
transacciones (encabezado y detalle) se pueden agrupar en dos supertipos, como se ilustra
en el diagrama.
DETALLE
DERIVADO
TRANSACCIN
D_ITEM
OBJETO
Ntese que la entidad DETALLE posee dos subtipos, uno que referencia directamente a
OBJETO y otro que referencia a un detalle previo de otra transaccin.
Esto modela el hecho de que algunas transacciones son originadas por otras anteriores, en
tanto que algunas (iniciales) referencian de manera directa a los tems (objetos).
DETALLE
DERIVADO
TRANSACCIN
D_ITEM
TIPO DE
TRANSACCIN
TIPO DE
SUJETO
POR
TIPO DE
TRANSACCIN
TIPO DE
OBJETO SUJETO
SUJETO
Ntese la relacin recursiva 1:1 definida sobre TIPO DE TRANSACCIN que determina
qu transaccin puede suceder a otra.
Esto ltimo permite modelar distintos roles jugados por cada categora de entidad.
Un esquema til para simplificar el modelaje de este tipo de transaccin es considerar que,
en general:
En todos los casos, se presenta que uno o ms atributos del objeto son afectados por la
transaccin. Por ejemplo, una transaccin de inventarios modifica los atributos existencia y
valor total del artculo, un asiento contable afecta los saldos debe y haber de la cuenta
contable, una transaccin bancaria afecta el atributo saldo de la cuenta corriente.