G.A.D.
4
CAPTULO 1
MODELO DE DATOS
En el esfuerzo por querer representar los
datos del mundo real, los informticos han
desarrollado un conjunto de simbologas y reglas
que dieron origen a los modelos de datos. En la
actualidad se diferencian bien entre modelos de
datos conceptuales, modelos de datos lgicos y
por ltmo modelos de datos fsicos, segn el nivel
de abstraccin en el que se definen.
Los modelos de datos conceptuales son los
modelos de ms alto nivel de abstraccin. Operan
en el nivel conceptual y permiten obtener a partir
de la observacin de la realidad un esquema
conceptual del mundo real que se desea modelar.
Su objetivo es captar la semntica de los datos en
una forma cercana al lenguaje natural y el
esquema conceptual resultante debe ser una
exacta representacin del mundo real1. Por esta
razn tambin se los llama modelos semnticos y
a la tarea de modelar utilizando dicho tipo de
modelo se la llama modelado semntico. El
modelo semntico ms conocido es el modelo
entidad interrelacin cuyo desarrollo es el objetivo
del presente libro. Otro modelo semntico es el
modelo RM/T que no se tratar.
1
Con el trmino mundo real se quiere decir cualquier
tipo de Sistema, como por ejemplo, podra ser una
Organizacin Empresaria.
5
1. DEFINICION FORMAL DE UN
MODELO DE DATOS
Un modelo de datos es un objeto formado
por tres componentes:
Estructuras de datos lgicas
Operadores lgicos
Reglas de integridad
Las estructuras lgicas se usan para
representar los datos. Los operadores lgicos
permiten navegar lgicamente a travs de las
estructuras y manipular los datos. Por ltimo las
reglas de integridad son las que permiten
mantener la consistencia de los datos dentro del
modelo.
Es importante y tal vez prematuro a esta
altura, ver al modelo de datos en si, como a un
solo objeto, tal como se lo dio en la definicin. El
lector que est familiarizado con la terminologa de
objetos, vera que existe una similitud entre las
reglas de integridad de los modelos de datos y los
mtodos o funciones de los Objetos. En tal sentido
se puede interpretar al modelo como a un objeto; y
a los operadores y reglas de integridad como sus
mtodos. Por ltimo las consultas y distintos tipos
de operaciones sern los mensajes.
8
CAPTULO 2
MODELO ENTIDAD INTERRELACIN
1. INTRODUCCIN
Este modelo fue propuesto por Chen en
1975 y es lo que hoy se conoce como el modelo
entidad interrelacin bsico. Posteriormente
distintos autores le fueron agregando nuevos
conceptos tratando de dotarlo de mayor poder
expresivo culminando en la actualidad en el
Modelo Entidad lnterrelacin extendido.
El Modelo Entidad-Interrelacin se usa
actualmente como una herramienta de diseo
conceptual. es decir, para modelar los datos del
mundo real y crear un Esquema Conceptual del
mismo. Este Esquema Conceptual debe ser una
fiel representacin de los datos del mundo real.
Para las personas familiarizadas con las
metodologas estructuradas del anlisis, es bueno
recalcar que con el Modelo Entidad-Interrelacin
slo se representa a : los datos , las relaciones
que existen entre ellos y algunas limitantes o
reglas de integridad que ms adelante
analizaremos. Por lo anterior queda claro que no
se representan en forma directa a los procesos,
para lo cual se puede utilizar el conocido diagrama
de flujo de datos (DFD). Sin embargo, existen
ciertas clases de procesos. que el autor llama
procesos primitivos que s se los puede incorporar
al modelo de Datos en forma implcita. Ejemplos
14
2.1 ENTIDADES
Las Entidades son objetos que existen en
el mundo real y sobre los cuales se tiene algn
inters por observar. Ejemplos de una entidad son:
el Departamento de Compras de una empresa, el
alumno cuya libreta universitaria es la nmero
1010 o la carrera de informtica dentro de una
Universidad.
Dos entidades son del mismo tipo si tienen
las mismas propiedades y la misma semntica.
Esto vuelve a verse en el tem 2.2, donde se trata
los atributos de una interrelacin, pero por ahora
slo basta con entender que tas propiedades de
una entidad son las caractersticas que posee y la
semntica de una relacin es el significado que se
le da en el mundo real.
El modelado de los datos a travs de
Entidades no es una ciencia exacta. Lejos de ello,
es una tarea donde el conocimiento emprico o el
buen sentido sigue siendo prioritario.
Es importante darse cuenta que cuando se
enfrenta a un mundo real dispuesto a modelarlo,
las entidades ya existen, solo se las tiene que
encontrar. Es por ello que al da de hoy, esta
etapa, tiene algo de arte. Como ayuda para
descubrirlas es bueno siempre reparar en todos
los sustantivos que fueron conceptualizados del
problema y entre ellos seguro que se encontrarn
a las entidades apropiadas.
Cada entidad est unvocamente
identificada; ms adelante se ver de qu manera
se consigue esto. A las entidades se las nombra
17
2.2 ATRIBUTOS
Se llama atributo a cada uno de los
descriptores de las entidades o interrelaciones.
Ejemplos de atributos son: el nombre de la
materia, direccin del alumno, nmero de libreta
universitaria. Los dos primeros ejemplos son
atributos de la entidad MATERIA y los dos ltimos
son ejemplos de atributos de la entidad ALUMNO.
El smbolo usado para indicar un atributo
es un valo unido por una lnea a la entidad o
interrelacin que describe. En el centro del valo
se coloca el nombre del atributo. Ver Lmina II c).
Muchas veces para dar mayor simplicidad
al diagrama se omiten los atributos pero, sin
embargo, para que no pierda una importante parte
de su semntica es imprescindible que al menos
se indique en el diagrama a los atributos
principales de cada entidad.
Un atributo se dice que es principal si
pertenece a algn identificador nico y ser
secundario en caso contrario. En el tem siguiente
se explica este concepto.
2.3 INTERRELACIONES
Las interrelaciones son objetos que
representan la asociacin entre dos o ms
entidades. Una interrelacin no puede existir si no
existen previamente las entidades que est
interrelacionando. Ejemplos de interrelaciones son,
24
2.3.1 CONJUNTO DE
INTERRELACIONES
A las interrelaciones de un mismo tipo se
las agrupa en conjuntos de interrelaciones,
anlogamente como se hizo con las entidades.
Cada conjunto de interrelaciones puede contener
solo interrelaciones del mismo tipo.
Instancia de una interrelacin se llama a
todos los elementos pertenecientes a un conjunto
de interrelacin. Por el mismo motivo que para los
conjuntos de entidades, no podr haber elementos
repetidos dentro del mismo conjunto de
interrelaciones.
El smbolo utilizado para denotar a un
conjunto de interrelaciones es un rombo con el
nombre del tipo de interrelacin que contiene en el
centro de la figura. Ver Lmina II b). En la figura 2
a) y b) se grafican los ejemplos dados.
Entre dos entidades puede existir ms de
un tipo de interrelacin, pero siempre con distinta
semntica. Ver figura 3.
26
27
2.4.1 CARDINALIDAD EN
INTERRELACIONES BINARIAS
CASO n:m Para interrelaciones binarias
Considrese en forma abstracta dos
conjuntos A y C (ver figura 6). Puede verse que un
elemento del primer conjunto (A) est
interrelacionado con uno o varios elementos del
segundo (C) y viceversa, un elemento del segundo
35
3. ELIMINACIN DE
lNTERRELAClONES REDUNDANTES
En la etapa de modelado con el modelo
entidad interrelacin puede suceder que queden
interrelaciones redundantes. Un caso particular
bien definido, son las llamadas interrelaciones
transitivas. Ver el ejemplo presentado en la figura
18. El mismo representa la siguiente realidad : un
departamento tiene muchas oficinas y cada oficina
pertenece a un solo departamento, a su vez cada
oficina tiene muchos empleados y cada uno de
ellos trabaja en una sola oficina. Por otro lado en
cada departamento trabajan muchos empleados y
cada empleado trabaja en un solo departamento.
Puede observarse que la ltima interrelacin es
redundante. En efecto, si se elimina la interrelacin
es de, de igual manera se puede saber en qu
departamento trabaja cada empleado. Esto es por
la interrelacin trabaja en, que por cada
empleado se da unvocamente una oficina y a
travs de sta por la interrelacin tiene se llega al
departamento del empleado. Por lo dicho se
puede eliminar la interrelacin redundante y dejar
como se muestra en la figura 19.
Otro caso de entidades redundantes es
cuando no se tienen atributos descriptores fuera
del identificador nico. En este caso, es posible
eliminar al conjunto de entidades y pasar su
identificador como atributo descriptor a la entidad
que este vinculado.
50
4 REDUCCIN DE ATRIBUTOS
MULTIVALUADOS
En la seccin 2.2.2 se dijo que la utilizacin
de atributos multivaluados ayuda a la abstraccin
de los datos, permitiendo de esta manera La
simplificacin y mejor entendimiento del problema.
Una desventaja de su utilizacin es que, en
general, el diseo lgico que le sigue al modelado
conceptual se sustente en el modelo relacional y
este obliga a que todas las relaciones se definan
en 1 FN. Esto significa que todos los atributos
deben ser indivisibles, es decir, que tengan
solamente una ocurrencia por cada entidad. Otra
desventaja puede darse en la herramientas CASE
que utilice pues, en general, no permiten esta
clase de atributos. Un tercer factor, un tanto
discutible, es que su utilizacin por diseadores
inexpertos puede dejar un modelo engorroso. Esto
es .debido a que en general un atributo repetitivo
esta encubriendo a otra entidad y/o otra
interrelacin y a veces puede convenir expresarlas
directamente.
En la figura 20 a) se tiene un ejemplo con
atributo multivalor dado anteriormente y en la
figura 20 b) se representa la misma realidad con
otro DER equivalente. El lector puede notar lo
complicado que se vuelve esta ltima
representacin; para entenderla se necesitan
comprender cuatro conceptos distintos (dos
entidades, una interrelacin Y un tipo de
vinculacin) mientras que en la primera
representacin solamente existe un concepto
52
CAPTULO 3
OBJETOS DEL MER EXTENDIDO
El modelo original de Chen, resulta
inadecuado para representar ciertos conceptos del
mundo real, como as tambin para seguir algunas
metodologas de diseo conceptual como la de
unificacin de vistas. Por tal motivo, muchos
autores le siguieron agregando, hasta nuestros
das, nuevos conceptos para volverlo
semnticamente ms poderoso. A continuacin se
ver la cardinalidad en relaciones ternarias y
jerarquas.
3.1. CARDINALIDAD DE LAS
INTERRELACIONES TERNARIAS
Las interrelaciones ternarias a diferencia de
las vistas anteriormente necesitan de un anlisis
ms profundo. Su interpretacin no es tan trivial y
en general, existe en el ambiente informtico cierto
desconocimiento sobre ellas. Una dificultad extra
en su comprensin, est dada por el hecho de
interpretarse de una manera distinta a las
vinculaciones de grado uno y dos, vistas
anteriormente. Es por ese motivo que el autor
prefiere cambiar drsticamente la notacin con
que se simbolizan en el DER para, de esta
manera, marcar bien la diferencia en su lectura.
Figurativamente, es como si las interrelaciones de
grado uno y dos se vieran en dos dimensiones
distintas mientras que las interrelaciones de grado
tres se necesitan ver en tres dimensiones.
54
2
Una buena prctica del diseo de bases de datos
consiste en nombrar a cada atributo en un lenguaje
natural, por lo tanto, esta codificacin de los nombres
de los identificadores nicos es a solo efecto de mejorar
la presentacin del ejemplo.
55
3
Si lo modelamos con un DER con tres interrelaciones
n:m perderamos informacin; por ejemplo, si dos o
ms proveedores vendieron el insumo i1 y una fbrica
determinada lo compr; en general, nunca podamos
saber a cual o cuales vendedores se lo compr.
4
Note que, por ejemplo, cualquier grafo del tipo n:1:1 lo
podemos redibujar rotndolo y transformarlo a sus dos
formas equivalentes.
56
Caso n:n:n
Este caso es semejante al caso n:m, no
implica ninguna limitante5 . Es decir, que para
cualquier combinacin de los valores posibles de
los identificadores nicos, de las tres entidades,
sta ser una Instancia legal de la interrelacin
VENDE. Dicho formalmente; sea R el conjunto
formado por el producto cartesiano de los
dominios de los identificadores nicos de cada
entidad:
R = { dom(np) X dom(ni) X dom(nf) }
Cualquier subconjunto de R ser una
Instancia legal de la interrelacin VENDE. Por este
motivo se dice que no hay ninguna limitante en
VENDE.
En el ejemplo dado, esto significa que
cualquier proveedor puede vender cualquier
insumo a cualquier fbrica. Existen muchas formas
de expresar el mismo hecho en castellano.
En la figura 3.1 se ve su representacin en
el DER, vase como se simboliza el caso n:n:n; se
sombrean las esquinas correspondiente del
rombo.
En la tabla 1 se muestra una instancia
posible de ejemplo. Observe en dicha tabla, que
ningn atributo por si solo o combinacin de dos
5
En realidad existe una limitante: ningn elemento
puede estar repetido en un conjunto de interrelaciones
o entidades. Sin embargo tal limitante la vimos como
parte de su definicin y se asumi su cumplimiento para
todo conjunto.
57
Caso 1:n:n
Puede suponerse el mismo caso anterior
con el agregado de la siguiente visin de contexto:
a) una fbrica, no puede comprar el mismo insumo
a distinto proveedores (distintos insumos, los
podr comprar a distintos proveedores).
Analizando ahora qu pasa con la misma
instancia dada anteriormente, puede verse que en
la tabla 1 existen dos filas ilegales para este nuevo
ejemplo; un caso de conflicto est dado entre las
filas primera y cuarta. En efecto, en ellas se ve que
la fbrica f1 compra el insumo i1 a distintos
proveedores (p1 y p2) lo cual, viola la visin de
58
6
Partiendo de una instancia dada en general no se
podr determinar el identificador nico de un tipo de
entidad, pero si se puede ver cuales seguro no son
identificadores nicos. En este caso particular y en los
que siguen, por ser un ejemplo elaborado, eliminando
los que no pueden ser quedar el o los identificadores
nicos.
60
7
Vase referencia 6 de la pgina 59
61
Caso 1:1:1
Partiendo nuevamente del ltimo caso y.
suponiendo que al modelo se le agrega una tercer
suposicin (visin de contexto) c) cada proveedor
vende un suministro dado solamente a una fbrica,
por claridad se repite las dos visiones de contexto
anteriores: a) una fbrica, no puede comprar el
mismo insumo a distintos proveedores y b) Cada
proveedor le puede vender a cada fbrica a lo
sumo un suministro.
Con la restriccin agregada, solo un
subconjunto de las instancias de la tabla III ser
legal. En esta tabla se ve un conflicto entre la
primera y segunda fila, ambas filas contradicen la
nueva visin de contexto. En efecto, su lectura nos
dice que el mismo proveedor (p1) vende el mismo
insumo (i1) a distintas fbricas (f1 y f2). Si se
62
3.2 DETERMINACIN DE LA
CARDINALIDAD
Para determinar la cardinalidad en
interrelaciones que involucran a tres entidades hay
que tipificar antes las restricciones o limitantes de
integridad vistas en el tem anterior.
Dada una interrelacin que involucra a tres
entidades se deben analizar las vinculaciones que
existen entre dos cualesquiera de ellas y la tercera
restante. Por lo tanto existen exactamente tres
combinaciones posibles a estudiar.
Tomando un ejemplo abstracto: sean los
conjuntos de entidades A, B y C y la interrelacin
que los asocie. Los tres casos a estudiar son:
si un elemento de A junto a un
elemento de B le corresponde 1 o n
elementos de C.
68
si un elemento de A junto a un
elemento de C le corresponde 1 o n
elementos de B.
si un elemento de B junto a un
elemento de C le corresponde I o n
elementos de A.
Si la respuesta es que les corresponde un
elemento quiere decir que se trata de una
restriccin, en ambos casos queda determinada la
vinculacin en esa rama.
Las tres restricciones vistas en el tem 3.1
se corresponden con las anteriores.
Obsrvese que de las tres alternativas a
estudiar surgen ocho resultados posibles, pero
como se vio anteriormente habr casos
semejantes, como ser 1:1:n 1:n:1 y n:1:1,
(anlogamente es para el caso 1:n:n) dependiendo
de como se haga el grafo. Por lo que se reduce
solamente a los cuatro casos vistos.
Por ltimo, se hace hincapi en una
diferencia entre las interrelaciones de grado dos y
las ternarias; en aquellas se estudiaba la
vinculacin de una entidad de un conjunto hacia
las otras entidades del otro conjunto, en cambio en
las ternarias se analiza la vinculacin de dos
entidades cualesquiera hacia la tercera restante.
3.3 JERARQUAS
En ocasiones es muy til y natural
clasificar las entidades en distintos subtipos segn
el rol que cumplen en el sistema, o por sus
69
3.3.1 GENERALIZACIN y
ESPECIALIZACIN
Se llama generalizacin cuando imperan
las limitantes del caso uno, dado anteriormente. Es
decir, que si se tiene la restriccin de que los
70
EJERCICIOS PROPUESTOS
1.
Defina los siguientes trminos
DER
Entidad
Entidad dbil
Conjunto de entidades
Interrelacin (relatioriship)
Conjunto de interrelaciones
Grado de una interrelacin
Atributos
Identificador nico
Evento
Vinculacin
Agregacin
Generalizacin
Especializacin
2.
a. Para qu sirve el DER?
b. En que etapa del ciclo de vida de un
proyecto
c. Qu relacin debe existir entre un
DER y un DFD?
3.
Una agencia de viajes necesita adoptar un sistema
que le permita disponer de la siguiente
informacin:
a. Por cada cliente desea saber el
cdigo de cliente, nombre,
74
Se supone:
Un sistema tiene varios analistas y vahos
programadores pero un solo jefe de
proyecto.
El cod. de programa, proceso y archivo es
nico para todos los sistemas.
Un programa pertenece a una sola familia
de programas.
El tipo de organizacin y longitud del
registro es nico para un archivo.
78
14.
Para cada una de las figuras de los ejercicios 12 y
13 especifique los atributos de cada tipo ce datos
indicando los identificadores nicos
15.
81
21.
Un sistema est formado por la ejecucin de un
conjunto de programas, cada uno tiene una cierta
frecuencia.
Un programa puede ejecutarse en ms de un
sistema y su frecuencia va a depender del sistema
en que corra. A su vez, un programa puede usar
vanos archivos en distintos modos (input, output,
input-output). y este mtodo de acceso depender
del programa que lo use.
Un archivo puede ser usado por varios programas.
A la gerencia le interesa registrar el modo de
acceso de cada archivo y la frecuencia para cada
programa que se ejecute. Realice el diagrama E-R
correspondiente.
Indique alguna de las consultas que se podran
realizar sobre la base de datos as definida.
22.
dem al anterior pero agregue : Cada usuario del
sistema tiene acceso. solo a determinados
sistemas y dentro de ellos solo a determinados
programas. La gerencia quiere conocer los
permisos concedidos.
23.
En una empresa de comercializacin se ha
realizado un relevamiento a efectos de disear una
base de datos. Se considera necesario poder
mantener informacin acerca de los siguientes
elementos:
a.
Nombre, direccin, sueldo y
antigedad de los empleados.
Departamentos en que se divide la
85
BIBLIOGRAFA
Existe una abundante bibliografa sobre el modelo
entidad interrelacin. Las referencias del [1] al [5]
son tratamientos a nivel de libros de texto. DeI [6]
en adelante son artculos de publicaciones
especializadas.
[1]
ADORACIN DE MIGUEL 1993. Concepcin y
diseo de Bases de datos. RA-MA : Addison-
WesIey.
Hace referencias a ciertas construcciones del MER
extendido que en la presente obra no se dieron, en
particular interrelaciones opcionales y algunas
clases de jerarquas. Las interrelaciones ternarias,
al igual que en todos los libros de texto conocidos
por el autor, son tratadas en forma incompleta.
[2]
C.J.DATE 1990. lntroduccin a los Sistemas de
Bases de Datos. 5ta edicin. Addison-Wesley.
Luego de hacer una breve sntesis del modelo. el
autor, hace un buen anlisis crtico del mismo
Como muestra se extrae el siguiente comentario
Pero lo importante es que no hace falta adoptar
todas las ideas del modelo para poder utilizar los
diagramas, es muy posible emplear los diagramas
como base pare cualquier metodologa
[3]
KROENKE D.M.1992. Database Processing:
fundamentals, design implementation. 4ta. Edicin.
Macmillan Publishing Company.
89
[4]
H.F.KORTH 1991, Fundamentos de Bases de
Datos 2da edicin. McGraw Hill.
[5]
J.D.ULLMAN 1989, Principies of Database and
Knowledge Base System. Computer Science
Press. Tomo 1.
[6]
Chen, P.P 1976, The Eritity-Relationship Model:
Toward a Unified View of Data. ACM Trans.
Database Syst. 1.1. 9-35.
[7]
TEOREY T.J, YANG D. And FRY J.P. A Logical
Design Metodology for Relational Databases Using
the Extended Entity-Relationship Model.
Excelente artculo. El autor propone una
metodologa de diseo lgico a partir de un diseo
90
[8]
Smith, J.M 1977, Database Abstractions:
Aggregation and generalization ACM
Trans.Database Syst 2,2 (june)105-
133.