Вы находитесь на странице: 1из 58

1.

1 Sistemas de informacin y bases


Aunque la palabra sistema se ha utilizado en forma repetitiva, esta
seccin estudia su significado con mayor detalle. Los sistemas tienen
un significado especial para los analistas y diseadores y es ste el que
gu!a cualquier faceta de su traba"o. #ste significado es la base de lo
que ser$ el desarrollo del libro.
Qu es un sistema?
#n el sentido m$s amplio, un sistema es un con"unto de componentes
que interaccionan entre s! para lograr un ob"etivo com%n. &uestra
sociedad est$ rodeada de sistemas. 'or e"emplo, cualquier persona
e(perimenta sensaciones f!sicas gracias a un comple"o sistema nervioso
formado por el cerebro, la mdula espinal, los nervios y las
clulas sensoriales especializadas que se encuentran deba"o de la piel)
estos elementos funcionan en con"unto para hacer que el su"eto e(perimente
sensaciones de fr!o, calor, comezn, etc. Las personas se
comunican con el lengua"e, que es un sistema muy desarrollado formado
por palabras y s!mbolos que tienen significado para el que habla
y para quienes lo escuchan. Asimismo, las personas viven en un sistema
econmico en el que se intercambian bienes y servicios por otros de valor comparable y
en el que, al menos en teor!a, los participantes obtienen un beneficio en el intercambio.
*na organizacin es un sistema. +us componentes ,mercadotecnia, manufactura,
ventas, investigacin, embarques, contabilidad y personal- traba"an "untos para crear
utilidades que beneficien tanto a los empleados como a los accionistas de la compa!a.
.ada uno de estos componentes es a su vez un sistema. #l departamento de
contabilidad, por e"emplo, quiz$ est formado por cuentas por pagar, cuentas por
cobrar, facturacin y auditoria entre otras.
/odo sistema organizacional depende, en mayor o menor medida, de una entidad
abstracta denominada sistema de informacin. #ste sistema es el medio por el cual los
datos fluyen de una persona o departamento hacia otros y puede ser cualquier cosa,
desde la comunicacin interna entre los diferentes componentes de la organizacin y
l!neas telefnicas hasta sistemas de cmputo que generan reportes peridicos para
varios usuarios. Los sistemas de informacin proporcionan servicio a todos los dem$s
sistemas de una organizacin y enlazan todos sus componentes en forma tal que stos
traba"en con eficiencia para alcanzar el mismo ob"etivo.
FIGURA 1.4
Ejemplo de un sistema abierto: Sistema para el control de inventarios.
La figura 0.1 ilustra una aplicacin de los conceptos de sistemas a una situacin familiar
en una organizacin. &tense las interrelaciones entre los elementos. #sta
caracter!stica es importante para lograr la e(itosa operacin de los sistemas.
FIGURA 1.5
Elementos bsicos de control en un modelo de sistemas.
.aracter!sticas 2mportantes de los sistemas
La finalidad de un sistema es la razn de su e(istencia. #(iste un sistema legislativo,
por e"emplo, para estudiar los problemas que enfrentan los ciudadanos y aprobar la
legislacin que los resuelva. #l sistema de encendido de un automvil tiene el claro
propsito de quemar el combustible para crear la energ!a que emplean los dem$s
sistemas del automvil.
'ara alcanzar sus ob"etivos, los sistemas interaccionan con su medio ambiente, el cual
est$ formado por todos los ob"etos que se encuentran fuera de las fronteras de los
sistemas. Los sistemas que interact%an con su medio ambiente ,reciben entradas y
producen salidas- se denominan sistemas abiertos. #n contraste, aquellos que no
interact%an con su medio ambiente se conocen como sistemas cerrados. /odos los
sistemas actuales son abiertos. #s as! como los sistemas cerrados e(isten slo como
un concepto, aunque muy importante como se ver$ m$s adelante.
#l elemento de control est$ relacionado con la naturaleza de los sistemas, sean
cerrados o abiertos. Los sistemas traba"an me"or ,se encuentran ba"o control- cuando
operan dentro de niveles de desempeo tolerables. 'or e"emplo, las personas traba"an
me"or cuando su temperatura es de 34 grados cent!grados. 5uiz$ una desviacin de 34
a 34.6 grados no afecte en mucho su desempeo aunque, en algunos casos, la
diferencia puede ser notable. *na mayor desviacin, sin embargo, tal como una fiebre
de 37.6 grados, desencadena un cambio dr$stico en las funciones corporales. #l
sistema de"a de funcionar y permanece inactivo hasta que se corri"a su condicin. +i
esta condicin se prolonga demasiado, los resultados pueden ser fatales para el
sistema.
#ste e"emplo muestra adem$s la importancia del control en los sistemas de todo tipo.
/odos los sistemas tienen niveles aceptables de desempeo, denominados estndares
y contra los que se comparan los niveles de desempeo actuales. +iempre deben
anotarse las actividades que se encuentran muy por encima o por deba"o de los
est$ndares para poder efectuar los a"ustes necesarios, La informacin se prolonga
demasiado, los resultados pueden ser fatales para el sistema.
#ste e"emplo muestra adem$s la importancia del control en los sistemas de todo tipo.
/odos los sistemas tienen niveles aceptables de desempeo, denominados estndares
y contra los que se comparan los niveles de desempeo actuales. +iempre deben
anotarse las actividades que se encuentran muy por encima o por deba"o de los
est$ndares para poder efectuar los a"ustes necesarios, La informacin proporcionada al
comparar los resultados con los est$ndares "unto con el proceso de reportar las
diferencias a los elementos de control recibe el nombre de retroalimentacin ,vase 8ig.
1.5).
'ara resumir, los sistemas emplean un modelo de control b$sico consistente en9
0. *n estndar para lograr un desempeo aceptable
:. *n mtodo para medir el desempeo actual
3. *n medio para comparar el desempeo actual contra el est$ndar
1. *n mtodo de retroalimentacin
Los sistemas que pueden a"ustar sus actividades para mantener niveles aceptables
contin%an funcionando. Aquellos que no lo hacen, tarde o temprano de"an de traba"ar.
#l concepto de interaccin con el medio ambiente, que es lo que caracteriza a los
sistemas abiertos, es esencial para el control. ;ecibir y evaluar la retroalimentacin,
permite al sistema determinar qu tan bien est$ operando. +i una empresa, por
e"emplo, produce como salidas productos o servicios con un precio elevado pero de
ba"a calidad, entonces es probable que las personas de"en de adquirirlos. #n este caso,
las figuras o gr$ficas de ventas ba"as son la retroalimentacin que indica a la gerencia
que es necesario efectuar a"ustes, tanto en la calidad de sus productos como la forma
en la que stos se fabrican, para me"orar el desempeo, volver al camino y recobrar las
esperanzas.
#n contraste, los sistemas cerrados sostienen su nivel de operacin siempre y cuando
posean informacin de control adecuada y no necesiten nada de su medio ambiente.
<ado que esta condicin no puede sostenerse por mucho tiempo, la realidad es que no
e(isten sistemas cerrados. #l concepto, sin embargo, es importante porque ilustra un
ob"etivo en el diseo de sistemas9 construir sistemas que necesiten la menor
intervencin del medio e(terno para mantener un desempeo aceptable. 'or
consiguiente, la autorregulacin y el propio a"uste son ob"etivos de diseo en todos los
ambientes de sistemas.
Los componentes que forman un sistema pueden ser a su vez sistemas m$s pequeos)
es decir, los sistemas pueden estar formados por varios niveles de sistemas o
subsistemas. #l cuerpo humano, por e"emplo, contiene subsistemas tales como los
sistemas respiratorio y circulatorio. *n automvil tiene sistemas de combustin,
elctricos y de control de emisiones. #n general, en situaciones de sistemas, es com%n
tener varios niveles de sistemas interactuando entre s!.
+istemas organizacionales
Las organizaciones, presentadas en la seccin anterior, est$n formadas por
muchos sistemas, cada uno con las caracter!sticas propias del
sistema general. 'or e"emplo, todos los sistemas de manufactura tienen similitudes.
+u finalidad es producir bienes o productos que satisfagan
la demanda del mercado. 'ara alcanzar este ob"etivo, los sistemas interact%an
con sus medios ambientes para adquirir los materiales
necesarios, los obreros y el conocimiento para fabricar los bienes. +i el
proceso de fabricacin debe mantenerse, no es posible prescindir de
ninguna de las entradas. Los sistemas de fabricacin tambin generan
salidas tales como productos terminados, desperdicios y tecnolog!a
para la produccin. 'ara mantener su funcionamiento, estos sistemas deben estar ba"o
control. 'or e"emplo, necesitan satisfacer ciertos est$ndares de desempeo.
La cantidad de art!culos fabricados debe cumplir con determinada
cuota, adem$s de alcanzar niveles aceptables de calidad y costo.
Los gerentes y empleados vigilan constantemente los niveles de
desempeo y los comparan contra la productividad planeada. +i e(isten
diferencias o si la eficiencia est$ por deba"o de lo esperado, entonces
se efect%an los cambios necesarios. #n este sentido, los sistemas de
fabricacin son autorregulables y autoa"ustables ya que indican el
personal que necesita ser reemplazado y el momento para hacerlo,
el equipo que debe comprarse o los procedimientos que deben modificarse.
+ilos a"ustes internos no son satisfactorios ,si e(isten muchos
daos, la calidad es muy ba"a o los precios no son razonables- entonces
es probable que hagan su aparicin las fuerzas regulatorias del
medio ambiente. Los sistemas de fabricacin son subsistemas de organizaciones
m$s grandes) stas a su vez forman otros subsistemas para la adquisicin
de materiales, mantenimiento de equipo y capacitacin de obreros.
Las caracter!sticas generales de todos los sistemas son las mismas.
.ualquier sistema puede e(aminarse con este marco de referencia en
mente, aadiendo los detalles que sean necesarios. #sta fle(ibilidad es
la que hace tan %til los conceptos de sistemas en las organizaciones, en
general, y en el diseo de sistemas de informacin en particular.
1.1.1 !oncepto de sistema de in"ormaci#n
Las finalidades de los sistemas de informacin, como las de cualquier
otro sistema dentro de una organizacin, son procesar entradas, mantener
archivos de datos relacionados con la organizacin y producir
informacin, reportes y otras salidas.
Los sistemas de informacin est$n formados por subsistemas que
incluyen hard=are, soft=are, medios de almacenamiento de datos
para archivos y bases de datos. #l con"unto particular de subsistemas
utilizados ,equipo espec!fico, programas, archivos y procedimientos- en lo que se
denomina una aplicacin de sistemas de informacin. <e esta forma, los sistemas de
informacin pueden tener aplicaciones en ventas, contabilidad o compras.
<ado que los sistemas de informacin dan soporte a los dem$s sistemas de la
organizacin, los analistas tienen primero que estudiar el sistema organizacional como
un todo para entonces detallar sus sistemas de informacin. Los organigramas ,vase
8ig. 0.>- se emplean, con frecuencia, para describir la forma en que est$n relacionados
los diferentes componentes de la organizacin, tales como divisiones, departamentos,
oficinas y empleados. Aunque los organigramas indican con precisin las relaciones
formales entre los diferentes componentes no dicen nada con respecto a la forma en
que opera el sistema organizacional) ya que en este tipo de diagramas no es posible
plasmar todos los detalles importantes. A continuacin se dan varios e"emplos de
detalles que son importantes para el analista de sistemas9
Canales informales. ?5u interacciones e(isten entre las personas y los departamentos
que no aparecen en el organigrama o no est$n descritos en los procedimientos de
operacin@
Interdependencias. ?<e qu otros departamentos y componentes de la organizacin
depende un elemento en particular@
Personas y funciones clave. ?.u$les son las personas y elementos m$s importantes en
el sistema para que ste tenga (ito@
Enlaces crticos de comunicacin. ?.mo es el flu"o de informacin e instrucciones
entre los distintos componentes de la organizacin@
?.mo se comunican las $reas entre s!@
La anterior no es una lista e(haustiva de preguntas pero recalca la
importancia de investigar y analizar la manera en que operan las
organizaciones.
#n contraste, durante el diseo los analistas tienen la responsabilidad
de identificar las caracter!sticas importantes y necesarias que
deben tener los nuevos sistemas. #l analista especifica la forma en que
va a operar el sistema y sus subsistemas, las entradas requeridas, las
salidas que se deben producir y los traba"os que se efectuar$n tanto
por las computadoras como en forma manual. 'or otro lado, los
analistas tambin participan en el control de los sistemas b$sicamente
en dos formas9 la primera cuando describen los elementos de control,
tales como est$ndares y mtodos para evaluar el desempeo en relacin
con los dem$s est$ndares para los sistemas de informacin que
disean. Al mismo tiempo, los sistemas que especifican proporcionan
informacin a los directivos y usuarios que permite a stos determinar
si los sistemas que administran operan correctamente. 2ncorporar
mecanismos de retroalimentacin es un paso esencial en el diseo ya
que su inclusin permite sostener las actividades de ambos sistemas.
&inguno de los sistemas perdurar$ si falta un control adecuado.
Los pasos para llevar a cabo el an$lisis y diseo de sistemas que se
emplean a lo largo de todo el libro est$n basados en los conceptos de
sistemas generales contenidos en el presente cap!tulo. Los mtodos
descritos se pueden aplicar a cualquier tipo de sistemas de informacin.
FIGURA 1.$
%r&ani&rama 'ue deja muc(as pre&untas de sistemas sin respuesta.
0.: Sistemas de informacin para la gestin y para la ayuda
en la toma de decisiones
Los sistemas de transacciones est$n orientados hacia operaciones. #n contraste, los
sistemas de informacin administrativa ,A2+- ayudan a los directivos a tomar decisiones
y resolver problemas. Los directivos recurren a los datos almacenados como
consecuencia del procesamiento de las transacciones, pero tambin emplean otra
informacin.
#n cualquier organizacin se deben tomar decisiones sobre muchos asuntos que se
presentan con regularidad ,a la semana, al. mes, al trimestre, etc.- y para hacerlo se
requiere de cierta informacin. <ado que los procesos de decisin est$n claramente
definidos, entonces se puede identificar la informacin necesaria para formular las
decisiones. +e pueden desarrollar sistemas de informacin para que, en forma
peridica, preparen reportes para el soporte de decisiones. .ada vez que se necesita la
informacin, sta se prepara y presenta en una forma y formato diseados con
anterioridad.
.on frecuencia, los especialistas en sistemas de informacin describen las decisiones
apoyadas por estos sistemas como decisiones estructuradas ,vase /abla 0.0-. #l
aspecto estructurado se refiere al hecho de que los administradores conozcan de
antemano los factores que deben tenerse en cuenta para la toma de decisiones as!
como las variables con influencia m$s significativa sobre el resultado de una decisin
,buena o mala-. A su vez, los analistas de sistemas desarrollan reportes bien
estructurados que contienen la informacin necesaria para las decisiones o que indican
el estado de las variables importantes.
#n el e"emplo presentado anteriormente el sistema de informacin
administrativa, o sistema de informes para la administracin, presentar$
reportes basados en las actividades de nivel de transaccin. 'or
e"emplo, los bancos emplean de manera rutinaria reportes sobre depsitos
y retiros, en forma global y por sucursal, con el ob"eto de mantener
al tanto a los funcionarios bancarios sobre el comportamiento de
cada sucursal. /odo esto con el ob"eto de vigilar la relacin entre
estamos otorgados y depsitos recibidos, el nivel de las reservas de
efectivo y los intereses pagados a los cuenta habientes, entre otros
indicadores de uso com%n.
.on frecuencia la informacin proporcionada se combina con
otra de naturaleza e(terna, tal como los detalles relacionados con
tendencias econmicas, demanda y costo de prstamos, y tambin la
tasa de gastos de los consumidores. .on esta informacin los funcionarios
del banco pueden tomar decisiones con respecto a las tasas de
inters de la siguiente semana para los diferentes tipos de prstamo o
si deben aumentar ls tasas de inters que pagan a los clientes con la
finalidad de atraer m$s depsitos. La necesidad de tomar cada una de
estas decisiones se presenta con frecuencia y, por tanto, la informacin
necesaria para ello debe preparase con regularidad.
+istemas para el soporte de decisiones
&o todas las decisiones son de naturaleza recurrente. Algunas se presentan
slo una vez o escasamente. Los sistemas para el soporte de
decisiones ,<++- ayudan a los directivos que deben tomar decisiones
no muy estructuradas, tambin denominadas no estructuradas o decisiones
semiestructuradas ,vase /abla 0.0-. *na decisin se considera
no estructurada si no e(isten procedimientos claros para tomarla y
tampoco es posible identificar, con anticipacin, todos los factores
que deben considerarse en la decisin.
*n factor clave en el uso de estos sistemas es determinar la informacin
necesaria. #n situaciones bien estructuradas es posible identificar
esta informacin con anticipacin, pero en un ambiente no
estructurado resulta dif!cil hacerlo. .onforme se adquiere la informacin,
puede ocurrir que el gerente se d cuenta que se necesita m$s
informacin) es decir, tener informacin puede conducir a otros
requerimientos. .onsidrese el proceso de decisin que debe seguir un
funcionario bancario para decidir entre comenzar a ofrecer cuentas
para mane"o de efectivo o instalar m$quinas de ca"a autom$tica
teniendo en cuenta que los dos servicios son nuevos en el banco. #ntre
las muchas preguntas que debe abordar se encuentran las siguientes9
?.u$l es el costo de cada servicio@ ?.u$ntas ca"as ser$n necesarias@
?.u$l ser$ la respuesta de la competencia@ ?5u l!mites deben ponerse
al monto de cada retiro@ ?+e puede cobrar una cuota por este servicio@
?#l servici redundar$ en mayor cantidad de depsitos y con esto un
aumento en el flu"o de efectivo para el banco@
#n estos casos es imposible disear de antemano tanto el formato como el contenido
de los reportes del sistema. #n consecuencia, los sistemas para el soporte de
decisiones deben tener una fle(ibilidad mayor que la de los dem$s sistemas de
informacin. #l usuario debe ser capaz de solicitar informes definiendo su contenido y
especificando la forma para producir la informacin. <e manera similar, los datos
necesarios para generar la informacin pueden encontrarse en diferentes archivos o
bases de datos m$s que en un solo archivo maestro, que es el caso m$s frecuente en
los sistemas de transacciones y en muchos otros que generan reportes.
#l criterio de los directivos tiene un papel importante en la toma de decisiones donde el
problema no es estructurado. Los sistemas para el soporte de decisiones ayudan pero
no reemplazan el criterio del directivo.
Bisin de los sistemas de informacin
/al como se seala en la seccin anterior, en cualquier organizacin e(isten varios
sistemas de informacin. <esde el punto de vista de la estructura, los sistemas de
informacin en una organizacin se forman a partir de un con"unto de sistemas para
mercadotecnia, fabricacin, personal, compras y otras funciones de la empresa. .ada
una de estas funciones comprende actividades a nivel de transacciones, toma de
decisiones "unto con la ocurrencia de requerimientos %nicos para stas y aplicaciones
para el soporte de oficinas y departamentos.
Lo anterior permite comprender por qu las diferentes funciones comerciales de una
organizacin necesitan el soporte de los sistemas de informacin, de aqu! que se tenga
la nocin de sistemas de informacin para $reas funcionales. #sta es la forma en que
evolucionan los sistemas de informacin en las organizaciones.
Cace alg%n tiempo se especul en torno a los sistemas de informacin totales sistemas
de informacin administrativa %nicos que permitieran satisfacer las necesidades de una
organizacin en todos sus niveles y funciones comerciales. +in embargo, en la
actualidad no prevalece este punto de vista. Los administradores se han dado cuenta
que es imposible y peligroso intentar construir un sistema de informacin monol!tico. <e
esta forma, conforme usted estudie organizaciones, encontrar$ que en realidad e(iste
un grupo de sistemas de informacin por $reas, cada uno con su propia visin y
finalidad. #n con"unto, todos ellos forman el sistema de informacin de una
organizacin.
0.3 Sistemas de bases de datos y sus aplicaciones
'ara repetir lo que mencionamos en la seccin anterior, un sistema de base de datos es
b$sicamente un sistema computarizado para guardar registros) es decir, es un sistema
computarizado cuya finalidad general es almacenar informacin y permitir a los usuarios
recuperar y actualizar esa informacin con base en peticiones. La informacin en
cuestin puede ser cualquier cosa que sea de importancia para el individuo u
organizacin) en otras palabras, todo lo que sea necesario para au(iliarle en el proceso
general de su administracin.
!ota" en este libro los trminos datos e informacin los trato como sinnimos.
Algunos autores prefieren distinguir entre ambos, utilizando datos para referirse a lo
que est$ en realidad almacenado en la base de datos e informacin para referirse al
si#nificado de esos datos como lo entiende alg%n usuario. La diferencia es importante)
tan importante que parece preferible hacerla e(pl!cita donde sea necesario, en vez de
depender de una diferenciacin un tanto arbitraria entre dos trminos que son en
esencia sinnimos.
La figura 0.1 es una imagen simplificada de un sistema de base de datos. 'retende
mostrar que un sistema de base de datos comprende cuatro componentes principales9
datos, hard=are, soft=are y usuarios.
$istema de administracin de base de datos %&'($)
Fi&ura 1.4
Ima&en simpli"icada de un sistema de base de datos.
<atos
Los sistemas de bases de datos est$n disponibles en m$quinas que van desde las
computadoras personales m$s pequeas hasta las mainframes m$s grandes. +obra
decir que las facilidades que proporciona un sistema est$n determinadas hasta cierto
punto por el tamao y potencia de la m$quina subyacente. #n particular, los sistemas
que se encuentran en m$quinas grandes ,sistemas grandes- tienden a ser
multiusuario, mientras que los que se e"ecutan en m$quinas pequeas ,sistemas
pequeos- tienden a ser de un solo usuario. *n sistema de un solo usuario es aquel en
el que slo un usuario puede tener acceso a la base de datos en un momento dado) un
sistema multiusuario es aquel en el cual m%ltiples usuarios pueden tener acceso
simult$neo a la base de datos. .omo sugiere la figura 0.1, en este libro generalmente
tomaremos el %ltimo caso) aunque de hecho la distincin es irrelevante en lo que
respecta a la mayor!a de los usuarios9 #n general, el ob"etivo principal en los sistemas
multiusuario es precisarnente permitir que cada usuario se comporte como si estuviera
traba"ando en un sistema de un solo usuario. Los problemas especiales de los sistemas
multiusuario son en su mayor!a problemas internos del sistema y no aquellos que son
visibles al usuario ,vea la parte 2B de este libro, en especial el cap!tulo 15).
!ota" 'ara efectos de simplicidad, es conveniente suponer que la totalidad de los datos
del sistema est$ almacenada en una sola base de datos, y en este libro haremos
constantemente esta suposicin ,ya que materialmente no afecta ninguna de nuestras
e(plicaciones posteriores-. +in embargo, en la pr$ctica podr!a haber buenas razones
,incluso en un sistema pequeo- para que los datos sean separados en diferentes
bases de datos. Abordaremos algunas de estas razones m$s adelante, en el cap!tulo :
y en otras secciones.

#n general, los datos de la base de datos ,por lo menos en un sistema grande- ser$n
tanto inte#)mdos como compartidos. .omo veremos en la seccin 0.1, los aspectos de
integracin y compartimiento de datos representan una venta"a importante de los
sistemas de bases de datos en el entorno grande) y al menos, tambin la integracin
de datos puede ser importante en los entornos pequeos. 'or supuesto, hay muchas
venta"as adicionales ,que abordaremos despus-, aun en el entorno pequeo. 'ero
antes perm!tanos e(plicar lo que queremos decir con los trminos inte#rado y
compartido.
D 'or integrada, queremos decir que podemos imaginar a la base de datos como una
unificacin de varios archivos que de otro modo ser!an distintos, con una redundancia
entre ellos eliminada al menos parcialmente. 'or e"emplo, una base de datos dada
podr!a contener un archivo #A'L#A<E que proporcionara los nombres de los
empleados, domicilios, departamentos, sueldos, etc. y un archivo 2&+.;2'.2F& que
representara la inscripcin de los empleados a los cursos de capacitacin ,consulte la
figura 0.6-. +uponga ahora que, a fin de llevar a cabo el proceso de administracin de
cursos de capacitacin, es necesario saber el departamento de cada estudiante inscrito.
#ntonces, resulta claro que no es necesario incluir esa informacin de manera
redundante en el archivo 2&+.;2'.2F&, debido a que siempre puede consultarse
haciendo referencia al archivo #A'L#A<E.
D 'or compartida, queremos decir que las piezas individuales de datos en la base
pueden ser compartidas entre diferentes usuarios y que cada uno de ellos puede tener
acceso a la misma pieza de datos, probablemente con fines diferentes. .omo indiqu
anteriormente, distintos usuarios pueden en efecto acceder a la misma pieza de datos
al mismo tiempo ,acceso concurrente-. #ste compartimiento, concurrente o no, es en
parte consecuencia del hecho de
que la base de datos est$ integrada. #n el e"emplo citado arriba, la informacin de
departamento en el archivo #A'L#A<E ser!a t!picamente compartida por los usuarios
del <epartamento de personal y los usuarios del <epartamento de capacitacin) y como
ya suger!, estas dos clases de usuarios podr!an emplear esa informacin para fines
diferentes.
!ota" en ocasiones, si la base de datos no es compartida, se le conoce como personal
o como espec!fica de la aplicacin.
Etra consecuencia de los hechos precedentes Gque la base de datos sea integrada y
,por lo regular- compartidaH es que cualquier usuario ocupar$ normalmente slo una
pequea parte de la base de datos total) lo que es m$s, las partes de los distintos
usuarios se traslapar$n de diversas formas. #n otras palabras, una determinada base
de datos ser$ percibida de muchas formas diferentes por los distintos usuarios. <e
hecho, aun cuando dos usuarios tengan la misma por ci de la base de datos, su visin
de dicha parte podr!a diferir considerablemente a un nivel de tanto tallado.

Fi&ura 1.5
)os arc(ivos E*+)EA,% e I-S!RI+!I%-.
Card=are
Los componentes de hard=are del sistema constan de9

D Los vol%menes de almacenamiento secundario ,principalmente discos magnticos-
que se emplean para contener los datos almacenados, "unto con los dispositivos
asociados de #*$ ,unidades de discos, etc.-, los controladores de dispositivos, los
canales de 'I$, entre otros) y
D Los procesadores de hard=are y la memoria principal asociada usados para apoyar la
e"ecucin del soft=are del sistema de base de datos ,vea la siguiente subseccin-.
#ste libro no hace mucha referencia a los aspectos de hard=are del sistema, por las
siguientes razones ,entre otras-9 'rimero, estos aspectos conforman un tema
importante por s! mismos) segundo, los problemas que se encuentran en esta $rea no
son e(clusivos de los sistemas de base de datos) y tercero, dichos problemas han sido
investigados en forma minuciosa y descritos en otras partes.
+oft=are
#ntre la base de datos f!sica ,es decir, los datos como est$n almacenados f!sicamente-
y los usuarios del sistema, hay una capa de soft=are conocida de manera indistinta
como el administrador de base de datos o el servidor de base de datos) o m$s
com%nmente como el sistema de administracin de base de datos ,<IA+-. /odas las
solicitudes de acceso a la base de datos son mane"adas por el <IA+) las
caracter!sticas que esbozamos en la seccin 0.0 para agregar y eliminar archivos ,o
tablas-, recuperar y almacenar datos desde y en dichos archivos, etctera, son
caracter!sticas que proporciona el <IA+. 'or lo tanto, una funcin general que ofrece
el <IA+ consiste en ocultar a los usuarios de la base de datos los detalles al nivel de
+ard,are ,en forma muy parecida a como los sistemas de lengua"es de programacin
ocultan a los programadores de aplicaciones los detalles a nivel de hard=are-. #n otras
palabras, el <IA+ ofrece a los usuarios una percepcin de la base de datos que est$,
en cierto modo, por encima del nivel del hard=are y que mane"a las operaciones del
usuario ,como las operaciones +5L e(plicadas brevemente en la seccin 0.0-
e(presadas en trminos de ese nivel m$s alto de percepcin. A lo largo de este libro
e(plicaremos con mayor detalle sta y otras funciones del <IA+.
Algunos aspectos adicionales9
#l <IA+ es, por mucho, el componente de soft=are m$s importante del sistema
en general, aunque no es el %nico. Etros comprenden las utiler!as, herramientas de
desarrollo de aplicaciones, ayudas de diseo, generadores de informes y ,el m$s
importante- el administrador de transacciones o monitor P-.
#l trmino &'($ se usa tambin para referirse en forma genrica a un producto
determinado de alg%n fabricante) por e"emplo, el producto <I: *niversal <atabase de
2IA para .$*/0.. #l trmino e1emplar de &'($ se usa entonces para referirse a una
copia de dicho producto que opera en alguna instalacin de computadora determinada.
.omo seguramente notar$, en ocasiones es necesario distinguir cuidadosamente entre
estos dos conceptos.
!ota" <ebemos advertirle que en la industria de las computadoras la gente a menudo
usa el trmino base de datos cuando en realidad se refieren al &'($ ,en cualquiera de
los sentidos anteriores-. Ce aqu! un e"emplo t!pico9 #l fabricante de la base de datos J
super al fabricante de la base de datos Ken proporcin de dos a uno. #ste uso es
engaoso y no es correcto, aunque es mucho muy com%n. ,'or supuesto, el problema
es que si al <IA+ lo llamamos base de datos, entonces ?cmo llamaremos a la base
de datos@- 2dvertencia
para el lector.
*suarios
.onsideramos tres grandes clases de usuarios ,y que en cierto modo se traslapan-9
'rimero, hay programadores de aplicaciones responsables de escribir los
programas de aplicacin de base de datos en alg%n lengua"e de programacin como
.EIEL, P3I1, .LL, Mava o alg%n lengua"e de alto nivel de la cuarta generacin. #stos
programas acceden a la base de datos emitiendo la solicitud apropiada al <IA+ ,por lo
regular una instruccin +5L-. Los programas en s! pueden ser aplicaciones
convencionales por lotes o pueden ser aplicaciones en l!nea, cuyo propsito es permitir
al usuario final el acceso a la base de datos desde una estacin de traba"o o terminal en
l!nea ,vea el p$rrafo siguiente-. Las aplicaciones m$s modernas pertenecen a esta
variedad.
#n consecuencia, la segunda clase de usuarios son los usuarios finales, quienes
interact%an con el sistema desde estaciones de traba"o o terminales en l!nea. *n
usuario final puede acceder a la base de datos a travs de las aplicaciones en l!nea
mencionadas en el p$rrafo anterior, o bien puede usar una interfaz proporcionada como
parte integral del soft=are del sistema de base de datos. 'or supuesto, las interfaces
proporcionadas por el fabricante est$n apoyadas tambin por aplicaciones en l!nea,
aunque esas aplicaciones est$n integradas) es decir, no son escritas por el usuario. La
mayor!a de los sistemas de base de datos incluyen por lo menos una de estas
aplicaciones integradas, digamos un procesador de lengua"e de consulta, mediante el
cual el usuario puede emitir solicitudes a la base de datos ,tambin conocidas como
instrucciones o comandos), como +#L#./ e 2&+#;/, en forma interactiva con el
<IA+. #l lengua"e +5L mencionado la seccin 0.0 es un e"emplo t!pico de el nivel un
lengua"e de consulta de base de datos.
!ota" #l trmino lengua"e de consulta, a pesar de ser com%n, no es muy preciso, ya
que el verbo consultar en lengua"e normal sugiere slo una recuperacin, mientras
que los lengua"es de consulta por lo regular ,aunque no siempre- ofrecen tambin
actualizacin y otras operaciones.
La mayor!a de los sistemas proporcionan adem$s interfaces integradas adicionales en
las que los usuarios no emiten en absoluto solicitudes e(pl!citas a la base de datos,
como +#L#./, sino que en vez de ello operan mediante ,por e"emplo- la seleccin de
elementos en un men% o llenando casillas de un formulario. #stas interfaces
controladas por men%s o por formularios tienden a facilitar el uso a personas que no
cuentan con una capacitacin formal en 2/ ,/ecnolog!a de la informacin) la abreviatura
2+, de +istemas de informacin, tambin es muy usada con el mismo significado-. #n
contraste, las interfaces controladas por comandos ,por e"emplo, los lengua"es de
consulta- tienden a requerir cierta e(periencia en 2/, aunque tal vez no demasiada
,obviamente no tanta como la que es necesaria para escribir un programa de aplicacin
en un lengua"e como .EIEL-. 'or otra parte, es probable que una interfaz controlada
por comandos sea m$s fle(ible que una controlada por men%s o por formularios, dado
que los lengua"es de consulta por lo regular incluyen ciertas caracter!sticas que no
mane"an esas otras interfaces.
#l tercer tipo de usuario, que no aparece en la figura 0.1, es el administrador de
base de datos o <IA. La funcin del <IA, y la funcin asociada ,muy importante- del
administrador de datos, se abordar$ en la seccin 0.1.
.on esto concluimos nuestra descripcin preliminar de los aspectos m$s importantes
de un sistema de base de datos. Ahora continuaremos con la e(plicacin de estas ideas
con un poco m$s de detalle.
?5*N #+ *&A IA+# <# <A/E+@
<atos persistentes
#s una costumbre referirse a los datos de la base de datos como persistentes ,aunque
en realidad stos podr!an no persistir por mucho tiempoO-. 'or persistentes queremos
decir, de manera intuitiva, que el tipo de datos de la base de datos difiere de otros datos
m$s ef!meros, como los datos de entrada, los datos de salida, las instrucciones de
control, las colas de traba"o, los bloques de control de soft=are, los resultados
intermedios y de manera m$s general, cualquier dato que sea de naturaleza transitoria.
#n forma m$s precisa, decimos que los datos de la base de datos persisten debido en
primer lugar a que una vez aceptados por el <IA+ para entrar en la base de datos, en
lo sucesivo slo pueden ser removidos de la base de datos por al#una solicitud e4plcita
al &'($, no como un mero efecto lateral de ,por e"emplo- alg%n programa que termina
su e"ecucin. 'or lo tanto, esta nocin de persistencia nos permite dar una definicin
m$s precisa del trmino base de datos9
D *na base de datos es un con"unto de datos persistentes que es utilizado por los
sistemas de aplicacin de alguna empresa dada.
Aqu!, el trmino empresa es simplemente un trmino genrico conveniente para
identificar a cualquier organizacin independiente de tipo comercial, tcnico, cient!fico u
otro. *na empresa podr!a ser un solo individuo ,con una pequea base de datos
personal-, toda una corporacin o un gran consorcio similar ,con una gran base de
datos compartida- o todo lo que se ubique entre estas dos opciones. Aqu! tenemos
algunos e"emplos9
0. *na compa!a manufacturera
:. *n banco
3. *n hospital
1. *na universidad
5. *n departamento gubernamental
/oda empresa necesariamente debe mantener una gran cantidad de datos acerca de su
operacin. #stos datos son los datos persistentes a los que nos referimos antes. #n
forma caracter!stica, las empresas que acabamos de mencionar incluir!an entre sus
datos persistentes a los siguientes9
0. <atos de produccin
:. <atos contables
3. <atos de pacientes
1. <atos de estudiantes
5. <atos de planeacin
!ota" Las primeras ediciones de este libro utilizaban el trmino datos operacionales en
lugar de datos persistentes. #l primer trmino refle"aba el nfasis original en los
sistemas de base de datos con aplicaciones operacionales o de produccin) es decir,
aplicaciones rutinarias altamente repetitivas que eran e"ecutadas una y otra vez para
apoyar la operacin cotidiana de la empresa ,por e"emplo, una aplicacin para mane"ar
los depsitos o retiros de efectivo en un sistema bancario-. 'ara describir este tipo de
entorno, se ha llegado a utilizar el trmino procesamiento de transacciones en l!nea. +in
embargo, ahora las bases de datos se utilizan cada vez m$s tambin para otro tipo de
aplicaciones ,por e"emplo, aplicaciones de apoyo a la toma de decisiones- y el trmino
datos operacionales ya no es del todo apropiado. <e hecho, hoy en d!a las empresas
mantienen generalmente dos bases de datos independientes) una que contiene los
datos operacionales y otra, a la que con frecuencia se le llama almac5n de datos %data
,are+ouse), que contiene datos de apoyo para la toma de decisiones. A menudo el
almacn de datos incluye informacin de resumen ,por e"emplo, totales, promedios...- y
dicha informacin a su vez se e(trae peridicamente de la base de datos operacional)
digamos una vez al d!a o una vez por semana. 'ara una e(plicacin m$s amplia de las
bases de datos y las aplicaciones de apoyo a la toma de decisiones.
#ntidades y v!nculos
Ahora consideraremos el e"emplo de una compa!a manufacturera ,Pno=Qare 2nc.-
con un poco m$s de detalle. 'or lo general, una empresa as! desea registrar la
informacin sobre los proyectos que mane"a, las partes que utiliza en dichos proyectos,
los proveedores que suministran esas partes, los almacenes en donde guardan esas
partes, los empleados que traba"an en esos proyectos, etctera. 'or lo tanto los
proyectos, partes, proveedores, etctera, constituyen las entidades b$sicas de
informacin que Pno=Qare 2nc. necesita registrar ,el trmino entidad es empleado
com%nmente en los c!rculos de bases de datos para referirse a cualquier ob"eto
distinguible que va a ser representado en la base de datos-. Bea la figura 0.>. Adem$s
de las propias entidades b$sicas ,como los proveedores, las partes, etctera, en el
e"emplo-, habr$ tambin v!nculos que asocian dichas entidades b$sicas. #stos v!nculos
est$n representados por los rombos y las l!neas de cone(in de la figura 0.>. 'or
e"emplo, e(iste un v!nculo ,B'- entre proveedores y partes9 cada proveedor suministra
ciertas partes y de manera inversa, cada parte es suministrada por ciertos proveedores
,para ser m$s precisos, cada proveedor suministra ciertos tipos de partes y cada tipo de
parte es suministrado por ciertos proveedores-. #n forma similar, las partes son
utilizadas en proyectos y de manera inversa, los proyectos utilizan partes ,v!nculo 'K-)
las partes son guardadas en almacenes y los almacenes guardan partes ,v!nculo A'-) y
as! sucesivamente. Ebserve que todos estos v!nculos son bidireccionales es decir,
pueden ser recorridos en ambas direcciones. 'or e"emplo, el v!nculo B' entre
proveedores y partes puede ser usado para responder las dos siguientes preguntas9
D <ado un proveedor, obtener las partes que ste suministra.
D <ada una parte, obtener los proveedores que la suministran.
Fi&ura 1.$
,ia&rama de entidad . v/nculo 0E.R1 para 2no34are Inc.
#l punto importante con respecto a este v!nculo ,y por supuesto, con respecto a todos
los v!nculos de la figura- es que son parte de los datos tanto como lo son las entidades
bsicas. 'or lo tanto, deben estar representados en la base de datos al igual que las
entidades b$sicas.
La figura 0.> ilustra adem$s otros puntos importantes9
0. Aunque la mayor!a de los v!nculos de la figura comprenden dos tipos de entidad ,es
decir, son v!nculos binarios) no significa que todos los v!nculos deban ser
necesariamente binarios en este aspecto. #n el e"emplo hay un v!nculo ,B'K- que
involucra tres tipos de entidad ,proveedores, partes y proyectos-9 un v!nculo ternario. La
interpretacin que pretendo dar es que ciertos proveedores suministran ciertas partes
para ciertos proyectos. Ebserve con cuidado que este v!nculo ternario ,los proveedores
suministran partes para proyectos- normalmente no equivale a la combinacin de tres
v!nculos binarios los proveedores suministran partes, las partes se usan en
proyectos y los proyectos son abastecidos por los proveedores. 'or e"emplo, la
declaracin de que
,a- +mith suministra llaves inglesas para el proyecto Aanhattan, nos dice ms de lo que
e(presan las tres declaraciones siguientes9
,b- +mith suministra llaves inglesas,
,e- Las llaves inglesas se usan en el proyecto Aanhattan y
,d- #l proyecto Aanhattan es abastecido por +mith
&o podemos ,Rde manera v$lidaO- inferir ,a- conociendo %nicamente ,b-, ,e- y ,d-. 'ara
ser m$s precisos, si conocemos ,b-, ,c- y ,d- entonces podr!amos inferir que +mith
suministra llaves inglesas para al#6n proyecto ,digamos el proyecto Kz-, que cierto
proveedor ,digamos B(- suministra llaves inglesas al proyecto Aanhattan, y que +mith
suministra al#una parte ,digamos la parte 'y- al proyecto Aanhattan, pero no podemos
inferir en forma v$lida que B( sea +mith ni que 'y sean llaves inglesas ni que Kz sea el
proyecto Aanhattan. 8alsas inferencias como stas son e"emplos de lo que a veces se
denomina trampa de cone(in.
:. La figura tambin muestra un v!nculo ,''- que comprende slo un tipo de entidad
,partes-. #l v!nculo aqu! es que ciertas partes incluyen a otras partes como
componentes inmediatos ,el tan mencionado v!nculo de lista de materiales-) por
e"emplo, un tomillo es un componente de una bisagra, que tambin es considerada una
parte y podr!a ser a su vez parte de un componente de un nivel superior como una tapa.
Ebserve que el v!nculo sigue siendo binario) slo que los dos tipos de entidad que
est$n vinculados ,partes y partes- vienen a ser
la misma entidad.
3. #n general, un con"unto determinado de tipos de entidad podr!a vincularse entre s! en
cualquier cantidad de v!nculos distintos. #n el e"emplo de la figura 0.>, hay dos v!nculos
distintos que involucran a proyectos y empleados9 *no ,#K- representa el hecho de que
los empleados est$n asignados a proyectos, el otro %(7) representa el hecho de que
los empleados administran proyectos.
Ahora observamos que un vnculo puede considerarse como una entidad por derec+o
propio. +i tomamos nuestra definicin de entidad como cualquier ob"eto acerca del cual
queremos registrar informacin, entonces un v!nculo se a"usta perfectamente a la
definicin. 'or e"emplo, la parte '1 est$ guardada en el almacn AS es una entidad
acerca de la cual bien querr!amos registrar informacin ,por e"emplo, la cantidad
correspondiente-. A$s a%n, podemos obtener venta"as definitivas ,que e(ceden el
alcance de este cap!tulo- no haciendo distinciones innecesarias entre entidades y
v!nculos. 'or lo tanto, en este libro trataremos en su mayor!a a los v!nculos slo como
una clase especial de entidad.
'ropiedades
.omo acabamos de sealar, una entidad es cualquier ob"eto acerca del cual queremos
registrar informacin. <e donde se desprende que las entidades ,incluidos los v!nculos-
poseen propiedades que corresponden a la informacin que deseamos registrar sobre
ellas. 'or e"emplo, los proveedores tienen localidades las partes tienen pesos los
proyectos tienen prioridades las asignaciones ,de empleados a proyectos- tienen
fec+as de inicio, etctera. 'or lo tanto, dichas propiedades deben estar representadas
en la base de datos. 'or e"emplo, la base de datos podr!a incluir una tabla denominada
y que represente a los proveedores y esa tabla podr!a incluir una columna de nombre
.2*<A< que represente a las localidades de los proveedores. #n general, las
propiedades pueden ser tan simples o tan comple"as como queramos. 'or e"emplo, la
propiedad localidad del proveedor es supuestamente bastante simple, ya que slo
consiste en un nombre de ciudad y puede ser representada en la base de datos por una
simple cadena de caracteres. #n contraste, un almacn podr!a tener una propiedad
plan de piso, que podr!a ser bastante comple"a, consistir tal vez en todo un dibu"o
arquitectnico y en el te(to descriptivo asociado. Al momento de la publicacin de este
libro, la mayor!a de los productos de bases de datos estaban apenas logrando mane"ar
propiedades comple"as como el dibu"o y el te(to. ;egresaremos a este tema m$s
delante ,en especial en el cap!tulo +y en la 'arte B2-) mientras tanto, en la mayor!a de
los casos ,en donde signifique una diferencia- daremos por hecho que las propiedades
son simples y que pueden ser representadas mediante tipos de datos simples. Los
e"emplos de dichos tipos simples incluyen n%meros, cadenas de caracteres, fechas,
horas, etc.
<atos y modelos de datos
#(iste otra importante forma de pensar sobre lo que en realidad son los datos y las
bases de datos. La palabra datos se deriva del vocablo lat!n para dar) por lo tanto, los
datos en realidad son +ec+os dados, a partir de los cuales es posible inferir hechos
adicionales. ,2nferir hechos adicionales a partir de hechos dados es e(actamente lo que
hace el <IA+ cuando responde a una
consulta de un usuario.- *n hecho dado corresponde a su vez a lo que en lgica se
denomina proposicin verdadera8 por e"emplo, el enunciado #l proveedor B0 se ubica
en Londres podr! ser una de estas proposiciones verdaderas. <e aqu! se desprende
que una base de datos es en realidad una coleccin de tales proposiciones verdaderas.
*na razn por la que los sistemas de bases de datos relacionales se han vuelto tan
dominantes, tanto en el mundo industrial como en el acadmico, es que mane"an en
forma muy directa ,de hecho casi trivial- la interpretacin precedente de los datos y las
bases de datos. Los sistemas relacionales est$n basados en una teor!a formal
denominada el modelo de datos relacional, de acuerdo con el la cual9
D #n tablas, los datos son representados por medio de filas y estas filas pueden
interpretarse directamente como proposiciones verdaderas. 'or e"emplo, en la figura
0.0, la fila &2.CET 4: puede interpretarse en forma obvia como la siguiente proposicin
verdadera9
#l &2.CE n%mero 4: contiene dos botellas de Uinfandel ;afanelli 0776, y estar$n listas
para su consumo en el ao :VV3.
D +e proporcionan operadores para operar sobre las columnas de las tablas, y estos
operadores soportan directamente el proceso de inferir proposiciones verdaderas
adicionales a partir de las ya dadas. .omo e"emplo sencillo, el operador relacional
proyectar ,vea la seccin 0.>- nos permite inferir, a partir de la proposicin verdadera
que acabamos de citar, la siguiente proposicin verdadera, entre otras9
Algunas botellas de Uinfandel estar$n listas para su consumo en el ao :VV3.
,para ser m$s precisos9 Algunas botellas de Uinfandel, en alg%n nicho, producidas por
alg%n productor en alg%n ao, estar$n listas para su consumo en el ao :VV3.-
+in embargo, el modelo relacional no es el %nico modelo de datos. #(isten otros ,vea la
seccin 0.>-, aunque la mayor!a de ellos difieren del modelo relacional en que son
hasta cierto grado especficos, en vez de estar basados firmemente en la lgica formal.
+ea lo que fuere, surge la pregunta9 ?#n general qu es un modelo de datos@ 'odemos
definir el concepto como sigue9
D *n modelo de datos es una definicin lgica, independiente y abstracta de los ob"etos,
operadores y dem$s que en con"unto constituyen la m9uina abstracta con la que
interact%an los usuarios. Los ob"etos nos permiten modelar la estructura de los datos.
Los operadores nos permiten modelar su comportamiento.
#ntonces, de manera %til, podemos distinguir al modelo de su implementacin"
D La implementacin de determinado modelo de datos es una realizacin f!sica, en una
m$quina real, de los componentes de la m$quina abstracta que en con"unto constituyen
ese modelo.
;esumiendo9 #l modelo es aquello que los usuarios tienen que conocer) la
implementacin es lo que los usuarios no tienen que conocer.
!ota" .omo puede ver, la distincin entre modelo e implementacin es en realidad slo
un caso especial ,uno muy importante- de la conocida distincin entre l#ico y fsico.
+in embargo, por desgracia muchos de los sistemas de bases de datos actuales
,incluso aquellos que dicen ser relacionales- no hacen estas distinciones con tanta
claridad como debieran. <e hecho, parece no haber un buen entendimiento de estas
distinciones y de la importancia de hacerlas. .omo consecuencia, a menudo hay una
brecha entre los principios de las bases de datos ,la forma en que los sistemas de
bases de datos deber!an funcionar- y la prctica de las bases de datos ,la forma en que
realmente funcionan-. #n este libro nos enfocamos principalmente en los principios)
aunque es "usto advertirle que cuando comience a utilizar un producto comercial, podr!a
llevarse algunas sorpresas desagradables.
'ara concluir esta seccin, debemos mencionar el hecho de que en realidad el trmino
modelo de datos es utilizado en la literatura con dos significados muy distintos. #l
primero es como se describi anteriormente. #l segundo es como un modelo de los
datos persistentes de alguna empresa en particular ,por e"emplo, la compa!a
manufacturera Pno=Qare 2nc. que mencionamos anteriormente en esta seccin-. La
diferencia entre ambos significados puede ser caracterizada como sigue9
D #n el primer sentido, un modelo de datos es como un len#ua1e de pro#ramacin
,aunque en cierto modo abstracto- cuyos elementos pueden ser usados para resolver
una amplia variedad de problemas espec!ficos, pero que en s! y por s! mismos no
tienen una cone(in directa con ninguno de estos problemas espec!ficos.
D #n el segundo sentido, un modelo de datos es como un pro#rama especfico escrito
en ese lengua"e. #n otras palabras, un modelo de datos que toma las caracter!sticas
que ofrece alg%n modelo como el primero y las aplica a cierto problema espec!fico.
'uede ser visto como una aplicacin especfica de alg%n modelo con el primer
significado.
<e aqu! en adelante, en este libro usaremos el trmino modelo de datos slo en el
primer sentido, e(cepto cuando se indique lo contrario.
8ormatos de archivo incompatibles puesto que la estructura de los archivos est$
incrustada en los programas de aplicacin, dichas estructuras penden del legua"e de
programacin de aplicaciones que se utilice. 'or e"emplo, la estructura de un archivo
generador por un programa .EIEL puede ser diferente de la estructura de un archivo
creada por un programa .. La incompatibilidad directa de dichos archivos hace dif!cil
que se los pueda procesar con"untamente. 'or e"emplo, suponga que el departamento
de contratos quiere averiguar los nombres y direcciones de todos los propietarios cuyos
inmuebles estn actualmente alquilados. <esafortunadamente, el departamento
contratos no dispone de la informacin de detalles sobre los propietarios de los
inmuebles, ya que slo el departamento de ventas tiene esa informacin. +in embargo,
el departamento de contratos s! que dispone del n%mero de inmueble ,property&o-, que
puede utilizarse para localizar el n%mero de inmueble correspondiente en el archivo
'roperty8or;ent del departamento de ventas. #ste archivo contiene el n%mero de
propietario ,ner&o-, que puede utilizarse para localizar los detalles del propietario en el
archivo 'rivateE=ner. Los programas del departamento de contratos han sido
desarrollados en .obol, mientras que los del departamento de ventas han sido
desarrollados en .. 'or tanto, para establecer la correspondencia entre los campos
property&o W los dos archivos 'roperty8or;ent se necesita que un desarrollador de
aplicaciones escriba un programa soft=are que convierta los archivos a un formato
com%n para facilitar el procesamiento. <e nuevo, este proceso puede requerir mucho
tiempo y resultar muy caro.
.onsultas fi"asXproliferacin de programas de aplicacin
<esde el punto de vista del usuario final, los sistemas basados en archivos
representaron una enorme me"ora n respecto a los sistemas manuales. #n
consecuencia, las peticiones de nuevas consultas o de modificaciones de las ya
e(istentes comenzaron a crecer. +in embargo, los sistemas basados en archivos son
muy dependientes del desarrollador de aplicaciones, que es quien tiene que escribir
todas las consultas e informes requeridos. .omo resultado, sucedieron dos cosas, en
algunas organizaciones, el tipo de consulta o de informe que pod!a producirse era fi"o.
&o e(ist!a ninguna posibilidad de solicitar consultas no planificadas ,es decir, consultas
pensadas en el momento o ad +oc) ni acerca de los propios datos ni acerca de los
datos disponibles. #n otras organizaciones, se produ"o una proliferacin de archivos y
de programas de aplicacin. Al final, se alcanz un punto en el que el departamento de
proceso de datos, con sus recursos e(istentes, era incapaz de gestionar todo el traba"o.
#sto normalmente llevaba a que se presionara en e(ceso al personal del departamento
de proceso de datos, lo que daba como resultado programas inadecuados o ineficientes
a la hora de satisfacer las demandas de los usuarios, o bien sistemas de
documentacin e(cesivamente limitados o bien programas cuyo mantenimiento era muy
complicado. A menudo, se tend!a a omitir diversos tipos de funcionalidad9
D &o se inclu!an mecanismos de seguridad o integridad) la recuperacin, para los casos
de fallos de hard=are o soft=are, era limitada o ine(istente)
D #l acceso a los archivos estaba restringido, de modo que slo un usuario pod!a
acceder en cada instante9 no hab!a ning%n tipo de mecanismo para facilitar el acceso
compartido por parte de distintas personas pertenecientes al mismo departamento.
#n cualquier caso, lo que est$ claro es que ese tipo de situacin no era aceptable. +e
necesitaba alg%n otro tipo de solucin.
+istemas de bases de datos
/odas estas limitaciones de los sistemas basados en archivos pueden atribuirse a dos
factores distintos9
,0- La definicin de los datos est$ incluida en los programas de aplicacin, en lugar de
almacenarse de forma separada e independiente)
,:- &o e(iste ning%n control sobre el acceso y manipulacin de los datos, m$s all$ del
que imponen los propios programas de aplicacin.
'ara poder ser m$s efectivos, se necesitaba una nueva tcnica y lo que surgi fue el
concepto de base de datos y los +istemas de Yestin de Iases de <atos ,+YI<-. #n
esta seccin, vamos a proporcionar una definicin m$s formal de estos trminos y a
e(aminar los componentes que podemos esperar encontramos en un entorno +YI<.
La base de datos Iase
*na coleccin compartida de datos lgicamente relacionados, "unto con una descripcin
de estos datos, que est$n diseados para satisfacer las necesidades de informacin de
una organizacin.
#(aminemos ahora la definicin de base de datos para tratar de entender el concepto
adecuadamente. *na base de datos es un repositorio centralizado, posiblemente de
gran tamao, compuesto por datos que pueden ser utilizados simult$neamente por
m%ltiples departamentos y usuarios. #n lugar de disponer de una serie de archivos
desconectados con datos redundantes, todos los elementos de datos est$n integrados,
mantenindose al m!nimo las posibles duplicaciones. La base de datos de"a de ser
propiedad de un departamento y pasa a ser un recurso corporativo compartido. La base
de datos almacena no slo los datos operacionales de la organizacin, sino tambin
una descripcin de dichos datos. 'or esta razn, a veces se suele describir a las bases
de datos como una coleccin autodescriptiva de re#istros inte#rados. La descripcin de
los datos se conoce con el nombre de cat$logo del sistema ,o diccionario de datos o
metadatos, es decir, Zdatos acerca de los datos[-. #s esta naturaleza autodescriptiva de
la bases de datos la que proporciona la independencia entre programas y datos.
#l enfoque adoptado por los sistemas de bases de datos, en el que la definicin de los
datos est$ separada de los programas de aplicacin, es similar a la tcnica utilizada en
el desarrollo moderno de soft=are, donde se proporciona tanto una definicin interna de
un ob"eto como una definicin e(terna independiente de la anterior. Los usuarios de un
ob"eto slo ven la definicin e(terna y no son conscientes del modo en que el ob"eto
est$ definido ni de su manera de funcionar. *na de las venta"as de esta tcnica,
denominada abstraccin de datos, es que podemos modificar la definicin interna de un
ob"eto sin afectar a los usuarios de dicho ob"eto, siempre y cuando la definicin e(terna
contin%e siendo la misma. <e la misma forma, los sistemas de bases de datos separan
la estructura de los datos de los programas de aplicacin y almacenan dicha estructura
en la propia base de datos. +i se aaden nuevas estructuras de datos o se modifican
las e(istentes, los programas de aplicacin no se ver$n afectados, siempre y cuando no
dependan directamente de la informacin que haya sido modificada. 'or e"emplo, si
aadimos un nuevo campo a un registro o creamos un nuevo archivo, las aplicaciones
e(istentes no se ver$n afectadas. +in embargo, si eliminamos de un archivo un campo
utilizado por un programa de aplicacin, entonces dicho programa de aplicacin s! se
ver$ afectado por el cambio y deber$ ser modificado correspondientemente.
#l %ltimo trmino en la definicin de base de datos que debemos e(plicar es el
Zlgicamente relacionado[. Al analizar las necesidades de informacin de una
organizacin, tratamos de identificar entidades, atributos y relaciones. *na entidad es
un ob"eto distintivo ,una persona, lugai cosa, concepto o suceso- dentro de la
organizacin y que hay que representar en la base de datos. *n atributo es una
propiedad que describe alg%n aspecto del ob"eto que queremos almacenar y una
relacin es una asociacin entre entidades. 'or e"emplo, la 8igura 0.> muestra un
diagrama #ntidad\;elacin ,#;- para una parte del caso de estudio de &ream:ome.
#st$ compuesto por9
D seis entidades ,los rect$ngulos-9 Iranch ,sucursal-, +taff ,personal-, 'roperty8or;ent
,inmueble en alquiler- .lient ,cliente- 'rivateE=ner ,propietario- y Lease ,alquiler-)
D siete relaciones ,los nombres adyacentes a las l!neas-9 :as ,tiene-, ;ffers ,ofrece-,
;versees ,gestiona-, <ie,s ,vista-, ;,ns ,posee-, 3eased'y ,alquilado por- y :olds
,alquila-)
D seis atributos, uno para cada entidad9 branch&o ,n%mero de sucursal-, staff&o
,n%mero de empleado-, property&o ,n%mero de inmueble-, client&o ,n%mero de cliente-,
o=ner&o ,n%mero de propietario- y lease&o ,n%mero de contrato de alquiler-.
La base de datos representa las entidades, los atributos y las relaciones lgicas entre
entidades. #n otras palabras, la base de datos almacena un con"unto de datos que
est$n lgicamente relacionados.
Fi&ura 1.$
Ejemplo del dia&rama de entidad5relaci#n.
+istema de gestin de base de datos ,+YI<-
*n sistema soft=are que permite a los usuarios definir, crear, mantener y controlar el
acceso a la base de datos.
#l +YI< es el soft=are que interact%a con los programas de aplicacin del usuario y
con la base de datos. &ormalmente, un +YI< proporciona la siguiente funcionalidad9
D 'ermite a los usuarios definir la base de datos, usualmente mediante un lengua"e de
definicin de datos ,<<L, <ata <efinition Language-. #l <<L permite a los usuarios
especificar las estructuras y tipos de datos y las restricciones aplicables a los datos que
hay que almacenar en la base de datos.
D 'ermite a los usuarios insertar, actualizar, borrar y e(traer datos de la base de datos,
usualmente mediante un lengua"e de manipulacin de datos ,<AL, <ata Aanipulation
Language-. Al disponer de un repositorio centralizado para todos los datos y las
descripciones de los datos, el lengua"e <AL puede proporcionar un mecanismo general
de consulta de esos datos, denominado lengua"e de consulta. La e(istencia de un
lengua"e de consulta resuelve el problema de los sistemas basados en archivos en los
que el usuario ten!a que traba"ar con un con"unto fi"o de consultas, o bien en los que
e(ist!a una proliferacin de programas que provocaban graves problemas de gestin
del soft=are. #l lengua"e de consulta m$s com%n es el lengua"e +5L ,+tructured 5uery
Language, lengua"e estructurado de consulta-, que es ahora tanto el est$ndar formal
como el est$ndar ce facto para los +YI< relacionales. 'ara recalcar la importancia del
+5L, hemos dedicado los .ap!tulos 5 y >, la mayor parte del .ap!tulo :S y el Apndice
# a un estudio en profundidad de este lengua"e.
D 'roporciona un acceso controlado a la base de datos. 'or e"emplo, puede
proporcionar9
D un sistema de seguridad, que evita que los usuarios no autorizados accedan a
la base de datos)
D un sistema de integridad, que mantiene la coherencia de los datos
almacenados)
D un sistema de control de concurrencia que permite el acceso compartido a la
base de datos)
D un sistema de control de recuperacin, que restaura la base de datos a un
estado previo coherente despus de cada fallo hard=are o soft=are)
D un cat$logo accesible por el usuario, que contiene descripciones de los datos
que est$n almacenados en la base de datos.
'rograma de aplicacin
'rograma de Aplicacin *n programa inform$tico que interact%a con la base de datos
emitiendo las apropiadas solicitudes ,normalmente una instruccin +5L- dirigidas al
+YI<.
Los usuarios interact%an con la base de datos mediante una serie de programas de
aplicacin que se utilizan para crear y mantener la base de datos y para generar
informacin. #stos programas pueden ser programas de procesamiento por lotes
convencionales o, lo que resulta m$s habitual hoy en d!a, aplicaciones en l!nea. Los
programas de aplicacin pueden estar escritos en alg%n legua"e de programacin o en
un lengua"e de cuarta generacin de mayor nivel.
La 8igura 0.4 ilustra la tcnica de bases de datos, utilizando los archivos indicados en la
8igura 1.5. La figura muestra cmo los departamentos de ventas y de contratos utilizan
sus programas de aplicacin para acceder a la base de datos a travs del +YI<. .ada
con"unto de programas de aplicacin departamentales gestiona la introduccin de
datos, el mantenimiento de los mismos y la generacin de informes. +in embargo, si lo
comparamos con la tcnica basada en archivos, la estructura fisica y el
almacenamiento de los datos ahora son responsabilidad del +YI<.
Bistas
.on esta funcionalidad, el +YI< es una herramienta e(tremadamente potente y %til.
+in embargo, como a los usuarios finales no les interesa demasiado si una determinada
tarea resulta sencilla o comple"a para el sistema, podr!a argumentarse que los +YI<
han hecho que las cosas se compliquen, ya que ahora los usuarios ven m$s datos de
los que quieren o necesitan. 'or e"emplo, los detalles que el departamento de contratos
quiere ver en lo que respecta a un inmueble en alquiler, como se indica en la 8igura 1.5,
han cambiado en la tcnica que utiliza una base de datos, como se muestra en la
8igura 0.4. Ahora la base de datos tambin almacena el tipo de inmueble, el n%mero de
habitaciones y los detalles referidos al propietario. 'ara hacer frente a este problema,
un +YI< proporciona otra funcionalidad denominada mecanismo de vistas que permite
que cada usuario disponga de su propia vista de la base de datos ,una vista es, en
esencia, un cierto subcon"unto de la base de datos-. 'or e"emplo, podr!amos definir una
lista que permita que el departamento de contratos slo vea los datos que les interesan
referidos a los inmuebles en alquiler.
Fi&ura 1.6
+rocesamiento con bases de datos.
Adem$s de reducir la comple"idad al permitir que los usuarios vean los datos en la
forma que desean verlos, las vistas tienen otras diversas venta"as9
= 3as vistas proporcionan un cierto nivel de se#uridad. 'ueden configurarse las vistas
para e(cluir aquellos datos que algunos usuarios no deban ver. 'or e"emplo, podemos
crear una lista que permita que los gerentes de sucursal y el departamento de nminas
vean todos los datos referidos al personal, incluyendo los detalles salariales, y una
segunda vista que utilizar!a el resto del personal y de la que se e(cluir!an esos detalles
salariales.
= 3as vistas proporcionan un mecanismo para personali>ar la apariencia de la base de
datos. 'or e"emplo, el departamento de contratos podr!a denominar al campo de
alquiler mensual ,rent- utilizando un nombre m$s conveniente, como por e"emplo
Aonthly ;ent.
= ?na vista puede presentar una ima#en co+erente y esttica de la estructura de la
base de datos, a%n cuando se modifique la base de datos subyacente ,por e"emplo,
podr!an aadirse o eliminarse campos, podr!an modificarse relaciones o podr!an
partirse, reestructurarse o renombrarse los archivos-. +i se aaden o eliminan campos
de un archivo y estos campos no son requeridos por la vista, sta no se ver$ afectada
por la modificacin. 'or tanto, las vistas ayudan a conseguir la independencia entre
programas y datos de la que hemos hablado en la seccin precedente.
La e(plicacin anterior es de car$cter general y el nivel real de funcionalidad ofrecido
por un +YI< difiere entre unos productos y otros. 'or e"emplo, un +YI< para una
computadora personal puede no permitir el acceso compartido concurrente y
proporcionar slo mecanismos limitados de seguridad, integridad y control de
recuperacin. +in embargo, los productos +EIE multiusuario modernos y de gran
comple"idad ofrecen todas las funciones anteriores y mucha otras. Los sistemas
modernos son programas soft=are e(tremadamente comple"os compuestos por
millones de l!neas de cdigo y para los que la documentacin est$ formada por
m%ltiples vol%menes. #sto se debe a la necesidad de proporcionar un programa
soft=are que gestione requisitos de naturaleza muy general. Adem$s, la utilizacin de
un +YI< hoy en d!a suele requerir un sistema que proporcione una fiabilidad
pr$cticamente total y una disponibilidad :1X4 ,:1 horas al d!a, @ d!as a la semana-
incluso en el caso de fallos de hard=are o soft=are. Los +YI< est$n continuamente
evolucion$ndose y e(pandindose para adaptarse a las nuevas necesidades de los
usuarios. 'or e"emplo, algunas aplicaciones requieren ahora el almacenamiento de
im$genes gr$ficas, v!deo, sonido y otros tipos de informacin similar. 'ara poder
satisfacer las necesidades de este mercado, es necesario cambiar los +YI<. ;esulta
previsible que cada vez se vayan recibiendo nuevas funcionalidades, por lo que las
funciones de un +YI< nunca ser$n est$ticas. Cablaremos de las funciones b$sicas
proporcionadas por un +EIE en los cap!tulos posteriores.
.omponentes de un entorno +YI<
'odemos identificar cinco componentes principales dentro del entorno +EIE9
hard=are, soft=are, datos, procedimientos y personas, como se ilustra en la 8igura 0.S.
Card=are
#l +YI< y las aplicaciones requieren una plataforma hard=are sobre la que e"ecutarse.
#l hard=are puede ir desde una %nica computadora personal hasta un %nico mainframe
o una red de computadoras. #l hard=are concreto depender$ de las necesidad de la
organizacin y del +YI< utilizado. Algunos +EIE slo se e"ecutan sobre una
plataforma hard=are concreta o sobre un sistema operativo particular, mientras que
otros se e"ecutan sobre un rango m$s amplio de plataformas hard=are y sistemas
operativos. /odo +YI< requiere una cantidad m!nima de memoria principal de espacio
de disco para poder e"ecutarse, pero esta configuracin m!nima puede no
necesariamente proporcionar un rendimiento aceptable. #n la 8igura 0.7 se ilustra una
configuracin hard=are simplificada para &ream:ome. #st$ compuesta de una red de
minicomputadoras, con una computadora central ubicada en Londres y en la que se
e"ecuta el sistema de servicio ,bac]end- del +YI<, es decir, la parte del +YI< que
gestiona y controla el acceso a la base de datos. /ambin se muestran varias
computadoras en distintas ubicaciones en las que se e"ecuta el sistema de interfaz
,frontend- del +YI<, es decir, la parte del +YI< que implementa la interfaz con el
usuario. #ste tipo de arquitectura se denomina cliente\servidor9 el bac]end es el
servidor y el frontend es el cliente. Cablaremos de este tipo de arquitectura en la
+eccin :.>.
Fi&ura 1.7.
Entorno SGS,.
+oft=are
#l componente soft=are comprende el propio soft=are +YI< y los programas de
aplicacin, "unto con el sistema operativo, que incluye el soft=are de red si el +YI< se
est$ utilizando en una red. &ormalmente, los programas de aplicacin se escriben en
un lengua"e de aplicacin de tercera generacin ,3YL-, como ., CAA, Mava, Bisual
Iasic, .EIEL, 8ortran, Ada o 'ascal, o utilizando un lengua"e de cuarta generacin
,1YL- como +5L, incrustado dentro de un lengua"e de tercera generacin. #l +YI<
ob"etivo puede disponer de sus propias herramientas de cuarta generacin que
permitan el desarrollo r$pido de aplicaciones gracias a la e(istencia de lengua"es de
consulta no procedimentales, generadores de informes, generadores de formularios,
generadores gr$ficos y generadores de aplicaciones. La utilizacin de herramientas de
cuarta generacin puede me"orar de forma significativa la productividad y dar como
resultado programas que son m$s f$ciles de mantener.
Clientes
Clientes
Fi&ura 1.8
!on"i&uraci#n (ard3are para ,ream9ome.
<atos
5uiz$ el componente m$s importante de un entorno +YI<, al menos desde el punto de
vista de los usuarios finales sean los datos. #n la 8igura 0.S podemos observar que los
datos act%an como una especie de puente entre los componentes ligados a la m$quina
y los componentes ligados al operador humano. La base de datos contiene tanto los
datos operacionales como los metadatos, es decir, los Zdatos acerca de los datos[. La
estructura de la base de datos se denomina esquema. #n la 8igura 0.4, el esquema
est$ compuesto por cuatro archivos o tablas, que son9 'roperty8or;ent, 'rivateE=ner,
.lient y Lease. La tabla 'roperty8or;ent tiene ocho campos e atributos, a saber9
property&o, street, city, postcode, type ,el tipo de inmueble-, rooms ,el n%mero de
habitaciones-, rent ,el alquiler mensual- y o=ner&o. #l atributo o=ner&o modela la
relacin entre 'roperty8or;ent y 'iivateE=ner9 es decir, el propietario posee %;,ns) un
inmueble para alquiler, como se muestra en el diagrama entidad\relacin de la 8igura
0.>. 'or e"emplo, en la 8igura 0.: podemos observar que el propietario .V1>, Moe
Peogh, posee el inmueble 'A01. Los datos incorporan tambin el cat$logo del sistema,
del que hablaremos en detalle en la +eccin :.1.
'rocedimientos
Los procedimientos son las instrucciones y reglas que gobiernan el diseo y utilizacin
de la base de datos. Los usuarios del sistema y el personal que gestiona la base de
datos requieren una serie de procedimientos documentados que les permitan saber
cmo utilizar o e"ecutar el sistema. #stos procedimientos pueden estar compuestos de
instrucciones que les digan cmo9
D iniciar una sesin en el +YI<)
D utilizar una funcionalidad concreta del +YI< o un programa de aplicacin)
D iniciar y detener el +YI<)
D realizar copias de seguridad de la base de datos)
D gestionar los fallos de hard=are o de soft=are. #sto puede incluir procedimientos para
identificar el componente fallido, para reparar el componente fallido ,por e"emplo,
telefonear al ingeniero de hard=are apropiado- y, despus de la reparacin del fallo,
para recuperar la base de datos)
D cambiar la estructura de una tabla, reorganizar la base de datos entre m%ltiples discos,
me"orar el rendimiento o archivar los datos en un almacenamiento secundario.
'ersonas
#l componente final son las personas que se relacionan con el sistema. Cablaremos de
este componente fundamental en la +eccin 0.1.
<iseo de bases de datos9 un cambio en el paradigma
Casta ahora, hemos dado por supuesto que los datos de la base de datos ten!an una
estructura. 'or e"emplo, en la 8igura 0.4 hemos identificado cuatro tablas9
'roperty8or;ent, 'rivateE=ner, .lient y Lease. 'ero, ?cmo obtenemos esta
estructura@ La respuesta es muy simple9 la estructura de la base de datos se determina
durante el diseo de la base de datos. +in embargo, realizar el diseo de una base de
datos puede ser e(tremadamente comple"o. 'ara producir un sistema que satisfaga las
necesidades de informacin de una organizacin, se necesita un enfoque distinto del
utilizado en los sistemas basados en archivo, donde el traba"o estaba dirigido por las
necesidades de los departamentos individuales en trminos de aplicaciones. 'ara que
el enfoque de base de datos tenga (ito, la organizacin debe ahora pensar primero en
los datos y luego en las aplicaciones. #ste cambio en el enfoque se denomina en
ocasiones cambio de paradi#ma. 'ara que el sistema sea aceptable para los usuarios
finales, resulta crucial la actividad de diseo de la base de datos. *na base de datos
inadecuadamente diseada generar$ errores que pueden conducir a que se tomen
decisiones incorrectas, lo cual podr!a tener repercusiones serias para la organizacin.
'or otro lado, una base de datos bien diseada produce un sistema que proporciona la
informacin correcta para que el proceso de toma de decisiones tenga (ito y funcione
de una manera eficiente. #l ob"etivo de este libro es ayudar a llevar a cabo este cambio
de paradigma. <edicaremos diversos cap!tulos a la presentacin de una metodolog!a
completa de diseos de bases de datos. <icha metodolog!a se presenta como una serie
de pasos f$ciles de seguir, proporcion$ndose directrices a todo lo largo del te(to. 'or
e"emplo, en el diagrama entidad\relacin de la 8igura 0.>, hemos identificado seis
entidades, siete relaciones y seis atributos. 'roporcionaremos directrices para ayudar a
identificar las entidades, los atributos y relaciones que deben ser representados en la
base de datos.
<esafortunadamente, las metodolog!as de diseo de bases de datos no son muy
populares. Auchas organizaciones y diseadores individuales utilizan bastante poco las
metodolog!as para realizar el diseo de bases de datos, lo cual se considera
com%nmente como una de las principales causas de fallo en el desarrollo de sistemas
de bases de datos. <ebido a la falta de enfoques estructurados del diseo de bases de
datos, suelen subestimarse el tiempo y los recursos necesarios para un proyecto de
base de datos y las bases de datos desarrolladas resultan inadecuadas o poco
eficientes a la hora de satisfacer las demandas de las aplicaciones, o bien la
documentacin es limitada o puede que el mantenimiento resulte muy dif!cil.
0.1 Sistemas de bases de datos frente a los sistemas de
archivos
;esulta casi una tradicin que los libros de bases de datos introduzcan los sistemas de
bases de datos mediante una revisin de sus predecesores, los sistemas basados en
archivos. &osotros vamos tambin a a"ustarnos a esta tradicin porque, aunque los
sistemas basados en archivos pueden considerarse obsoletos, siguen e(istiendo
buenas razones para analizarlos9
D +i comprendemos los problemas inherentes a los sistemas basados en archivos,
podemos evitar repetir esos problemas en los sistemas de bases de datos. #n otras
palabras, resulta conveniente que aprendamos de nuestros anteriores errores. #n
realidad, no resulta "usto emplearla palabra Zerrores[, ya que parece que estamos
quitando valor a un traba"o que sirvi a un propsito %til durante muchos aos. #n
realidad, es mucho lo que hemos aprendido de ese traba"o y gracias a l hemos visto
que hay formas me"ores de gestionar los datos.
D +i se desea convertir un sistema basado en archivos en un sistema de bases de
datos, resulta e(tremadamente %til, si no esencial, comprender cmo funcionan los
sistemas basados ?n archivos.
La tcnica basada en archivos
+istema basado en archivos
*na coleccin de programas de aplicacin que realiza diversos servicios para los
usuarios finales, como por e"emplo la produccin de informes. .ada programa define y
gestiona sus propios datos.
Los sistemas basados en archivos fueron uno de los primeros intentos para informatizar
los sistemas de archivo manual con los que todos nosotros estamos familiarizados. 'or
e"emplo, puede crearse un archivo manual en una organizacin para albergar toda la
correspondencia e(terna e interna relativa a un proyecto, a un producto, a una tarea, a
un cliente o a un empleado. &ormalmente, e(isten muchos de dichos archivos, los
cuales es preciso etiquetar y almacenar en una o m$s ca"a o contenedores por
cuestiones de seguridad. Los lugares donde se almacenen esos archivos pueden
disponer de llave, tambin por cuestiones de seguridad, o pueden estar ubicados en
$reas seguras del edificio. #n nuestra propia casa, probablemente dispongamos de
alg%n tipo de sistema de archivo en el que depositamos los recibos, las facturas, la
informacin bancaria, los contratos de seguros, etc. +i necesitamos consultar algo,
vamos a nuestro archivo personal y buscamos en l, de principio a fin, hasta encontrar
la informacin deseada. Alternativamente, puede que dispongamos de un sistema de
inde(acin que nos ayude a localizar m$s r$pidamente lo que queremos. 'or e"emplo,
puede que tengamos subdivisiones en el sistema de archivo o carpetas separadas para
los diferentes elementos que est$n relacionadas de al#una manera l#ica entre s!.
Los sistemas de archivo manual funcionan bien cuando el n%mero de elementos
almacenados es pequeo. /ambin puede funcionar de forma adecuada cuando hay un
gran n%mero de elementos y lo %nico que necesitamos es almacenarlos o e(traerlos.
+in embargo, los sistemas manuales de archivo de"an de ser %tiles cuando tenemos
que establecer referencias cruzadas o procesar la informacin contenida en los
documentos. 'or e"emplo, una agencia inmobiliaria t!pica podr!a disponer de un archivo
separado para cada inmueble que desee vender o alquilar, para cada potencial
comprador o inquilino y para cada miembro de su personal. 'iense en el enorme
esfuerzo que se requerir!a para responder a las siguientes cuestiones9
D ?5u viviendas de tres dormitorios hay disponibles para la venta que tengan "ard!n y
gara"e@
D ?5u apartamentos e(isten para alquilar a menos de 5 ]m del centro de la ciudad@
D ?.u$l es el precio medio de alquiler para un piso de dos dormitorios@
D ?.u$l es el importe total de la nmina anual de todo el personal@
D ?.u$l es la comparacin entre los ingresos del %ltimo mes y los ingresos previstos
para este@
D ?.uales son los ingresos mensuales previstos para el pr(imo ao@
Coy en d!a, los clientes, los gestores de las empresas y el personal de las mismas
quieren cada vez m$s informacin. #n algunas $reas, e(iste la obligacin legal de
generar informes mensuales, trimestrales y anuales detallados. .laramente, los
sistemas manuales no resultan adecuados para este tipo de tarea. Los sistemas
basados en archivos fueron desarrollados para dar respuesta a la necesidad que las
empresas ten!an de acceder de forma m$s eficiente a los datos. +in embargo, en lugar
de establecer un sistema centralizado de gestin de los datos operacionales de las
organizaciones, lo que se hizo fue adoptar un enfoque descentralizado, en el que cada
departamento, con la ayuda de personal especializado en procesamiento de datos,
almacenaba y controlaba sus propios datos. 'ara comprender las implicaciones de
esto, vamos a utilizar el e"emplo de &ream:ome.
#l departamento de ventas ,+ales- es responsable de la venta y alquiler de los
inmuebles. 'or e"emplo, cada vez que un cliente contacta con el departamento de
ventas con la intencin de vender o alquilar un inmueble, se rellena un formulario similar
al que se muestra en la 8igura 0.0,a-. #sto proporciona diversos detalles sobre el
inmueble, como la direccin del n%mero de habitaciones, "unto con la informacin
personal acerca del propietario. #l departamento de ventas tambin gestiona las
consultas de los clientes interesados en comprar o alquilar un inmueble, rellen$ndose
para cada uno un formulario similar al que se muestra en la 8igura 0.0,b-. .on la
asistencia del departamento de procesos de datos, el departamento de ventas crea un
sistema de informacin para gestionar el alquiler de los inmuebles. #l sistema est$
compuesto por tres archivos que contienen los detalles sobre los inmuebles, sobre el
propietario y sobre el cliente, como se ilustra en la 8igura 0.:. 'or simplicidad, vamos a
omitir los detalles relativos al personal, a las sucursales de la empresa y a los
propietarios de la misma.
Fi&ura 1.1
Formularios del departamento de ventas: 0a1 "ormulario de detalles para inmuebles en al'uiles: 0b1
"ormulario de detalles de los clientes.
'roperty8or;ent
property&o street city postcode type rooms rent o=ner&o
'A01
'L71
'Y1
'Y3>
'Y:0
'Y0>
0> Coihead
> Argyll +t
> La=rence +t
: Aanor ;d
0S <ale ;d
6 &ovar <r
Aberdeen
London
Ylasgo=
Ylasgo=
Ylasgo=
Ylasgo=
AI4 6+*
&Q:
Yil 75J
Y3: 15J
Y0:
Yi: 7AJ
Couse
8iat
8iat
8iat
Couse
8iat
>
1
3
3
6
1
>6V
1VV
36V
346
>VV
16V
.V1>
.VS4
.V1V
.V73
.VS4
.V73
'rivateE=ner
o=ner&o f&ame &ame address tei&o
.V1>
.VS4
.V1V
.V73
/oe
.aroi
/ina
/ony
Peogh
8arrei
Aurphy
+ha=
: 8ergus <r, Aberdeen AI: 4+J
> Achray +t, Yiasgo= Y3: 7<J
>3 Qe22 +t, Ylasgo= Y1:
0: 'ar] 'i, Ylasgo= Y1 E5;
V0::1\S>0:0:
V010\364\4107
V010\713\04:S
V010\::6\4V:6
.lient
client&o
f&am
e
&ame address tei&o pref/ype ma(;ent
.;4>
.;6>
.;41
.;>:
Mohn
Aline
Ai]e
Aary
Pay
+te=art
;itchie
/regear
6> Cigh +t, London
+Q0 1#C
>1 8ern <r, Ylasgo=
Y1: EIL
0S /a"o +t, 'A0Y 2K5
6 /arbot ;d, Aberdeen
AI7 3+/
V:V4\441\
6>3:
V 010\S1S\
0S:6
V0146\
37:04S
V0::1\
07>4:V
8iat
82at
Couse
8iat
1:6
36V
46V
>VV
Fi&ura 1.;.
Arc(ivos +ropert<ForRent= +rivate%3ner < !lient utili>ados por el departamento de ventas.
#l departamento de contratos ,.ontracts- es responsable de gestionar los contratos de
alquiler relativos a los distintos inmuebles. .uando un cliente accede a alquilar un
inmueble, un miembro del departamento de ventas rellena un formulario en el que se
indican los detalles relativos al cliente y al inmueble, como se muestra en la 8igura 0.3.
#ste formulario es enviado al departamento de contratos, que le asigna un n%mero de
referencia y termina de rellenar los detalles relativos al pago y al periodo de alquiler. <e
nuevo, con la ayuda del departamento de proceso de datos, el departamento de
contratos crea un sistema de informacin para gestionar estos contratos de alquiler. #l
sistema est$ compuesto por tres archivos donde se almacenan los detalles relativos al
contrato de alquiler, al inmueble y al cliente y donde se introducen datos similares a los
que ya posee el departamento de ventas, como se ilustra en la 8igura 0.1.
La situacin completa se ilustra en la 8igura 1.5. #n ella podemos ver que cada
departamento accede a sus propios archivos utilizando programas de aplicacin
escritos especialmente para ellos. .ada con"unto de programas de aplicacin
departamentales se encarga de gestionar la introduccin de datos, el mantenimiento de
los archivos y la generacin de un con"unto fi"o de informes espec!ficos. Adem$s, lo cual
tiene mayor importancia, la estructura fisica y el almacenamiento de los archivos y
registros de datos est$n definidos por el cdigo de aplicacin.
'odemos encontrar e"emplos similares en otros departamentos. 'or e"emplo, el
departamento de nminas ,'ayroli- almacena informacin relativa al salario de cada
miembro del personal, es decir9
+taff+alary,+taff&o, f&ame, &ame, se(, salary, branch&o-
#l departamento de personal ,'ersonnel- tambin almacena informacin sobre los
miembros del personal, es decir9
+taff,staff&o, f&ame, 2&ame, position, se(, dateEfbirth, salary, branch&o-
Fi&ura 1.?
Formulario de al'uiler utili>ado por el departamento de contratos.
Fi&ura 1.4
Arc(ivos )ease= +ropert<ForRent < !lient utili>ados por el departamento de contratos.
'odemos ver claramente que e(iste una gran cantidad de duplicacin de datos en estos
departamentos, esto siempre suele ser as! en los sistemas basados en archivos. Antes
de analizar las limitaciones de este enfoque, puede resultar %til comprender la
terminolog!a utilizada en los sistemas basados en archivos. *n archivo es simplemente
una coleccin de registros, que contienen datos lgicamente relacionados. 'or e"emplo,
el archivo 'roperty8or;ent de la 8igura 0.: contiene seis registros, uno para cada
inmueble. .ada registro contiene un con"unto lgicamente relacionado de uno o m$s
campos, donde cada campo representa alguna caracter!stica del ob"eto del mundo real
que se quiere modelar. #n la 8igura 0.: los campos del archivo 'roperty8or;ent
representan caracter!sticas de los inmuebles, como su direccin, tipo de inmueble y
n%mero de habitaciones.
Fi&ura 1.5
+rocesamiento basado en arc(ivos.
Limitaciones de la tcnica basada en archivos
#sta breve descripcin de los sistemas tradicionales basados en archivo deber!a ser
suficiente para e(plicar las limitaciones de este enfoque. #n la /abla 0.0 se enumeran
cinco problemas diferentes.
/abla 1.1. Limitaciones de los sistemas basados en archivos.
+eparacin y aislamiento de los datos
<uplicacin de los datos
<ependencias entre los datos
8ormatos de archivos incompatibles
.onsultas fi"asXproliferacin de programas de aplicacin
+eparacin y aislamiento de los datos
.uando se a!slan los datos en archivos separados, resulta m$s dif!cil acceder a los
datos que deben estar disponibles. 'or e"emplo, si queremos generar una lista de todos
los chalets que satisfacen los requisitos de los clientes, necesitamos primero crear un
archivo temporal de aquellos clientes cuyo tipo preferido de inmueble sea Zchalet[. A
continuacin hay que e(plorar el archivo 'roperty8or;ent para localizar aquellos
inmuebles cuyo tipo sea Zchalet[ y cuyo alquiler sea inferior al alquiler m$(imo fi"ado por
el cliente. .on los sistemas de archivos, este tipo de procesamiento resulta dif!cil. #l
desarrollador de aplicaciones debe sincronizar el procesamiento de los dos archivos
para garantizar que se e(traigan los datos correctos. #sta dificultad se hace todav!a
mayor si se necesita e(traer datos de m$s de dos archivos.
<uplicacin de los datos
<ebido al enfoque descentralizado adoptado por los departamentos, la tcnica basada
en archivos, promueve, si es que no requiere, una duplicacin incontrolada de los
datos. 'or e"emplo, en la 8igura 1.5 podemos ver claramente que e(iste una
duplicacin de la informacin tanto de los inmuebles como de los clientes en los
departamentos de ventas y de contratos. La duplicacin descontrolada de los datos
resulta indeseable por varias razones, como por e"emplo9
DLa duplicacin implica un desperdicio de recursos. .uesta tiempo y dinero introducir
los datos m$s de una vez.
D +e consume un espacio de almacenamiento innecesario, lo que tambin tiene su
coste asociado. A menudo, puede evitarse la duplicacin de los datos compartiendo los
archivos de datos.
D Lo m$s importante quiz$ sea que la duplicacin puede conducir a que se pierda la
integridad de los datos. #n otras palabras, los datos podr!an de"ar de ser coherentes.
'or e"emplo, considere el caso de la duplicacin de datos en los departamentos de
personal y de nminas, como hemos descrito anteriormente. +i un empleado cambia de
domicilio y ese cambio de direccin slo se comunica al departamento de personal y no
al de nminas, la nmina de ese empleado podr!a ser enviada a la direccin incorrecta.
Etro problema m$s grave sucede cuando se asciende a un empleado, increment$ndole
a su vez el sueldo. <e nuevo, si el cambio se notifica al departamento de personal pero
no llega al de nminas, el empleado recibir$ una paga incorrecta. .uando este error se
detecte, se necesitar$ tiempo y esfuerzo para resolverlo. #stos dos e"emplos ilustran el
tipo de incoherencia que puede surgir como resultado de la duplicacin de los datos.
'uesto que los miembros del departamento de personal no disponen de ning%n sistema
autom$tico para actualizar los datos contenidos en los archivos del departamento de
nminas, no resulta dif!cil prever que dichas incoherencias terminar$n por surgir.
2ncluso aunque se notifiquen los cambios al departamento de nminas, es posible que
stos se introduzcan de forma incorrecta.
<ependencias entre los datos
.omo ya hemos mencionado, la estructura f!sica y el almacenamiento de los archivos y
registros de datos est$n definidos en el cdigo de la aplicacin. #sto significa que
resulta dif!cil realizar cambios a una estructura e(istente. 'or e"emplo, si se incrementa
el tamao del campo 'roperty8or;ent address de 1V a 10 caracteres, parece que dicho
cambio deber!a poder incrementarse de forma simple, pero se requiere la creacin de
un programa de un solo uso ,es decir, un programa que slo se e"ecute una vez y luego
pueda descartarse- que convierta el archivo 'roperty8or;ent al nuevo formato. #ste
programa tiene que9
D abrir el archivo 'roperty8or;ent original para lectura)
D abrir un archivo temporal con la nueva estructura)
D leer un registro del archivo original, convertir los datos para adecuarlos a la nueva
estructura y escribirlo en el archivo temporal, repitiendo este paso para todos los
registros del archivo original)
D borrar el archivo 'roperty8or;ent original)
D renombrar el archivo temporal, denomin$ndolo 'roperty8or;ent.
Adem$s, todos los programas que accedan al archivo 'roperty8or;ent deber$n ser
modificados para adecuarlos a la nueva estructura del archivo. 'uede que e(istan
muchos de tales programas accediendo al archivo 'roperty8or;ent. 'or tanto, el
programador necesitar$ identificar todos los programas afectados, modificarlos y luego
volverlos a probar. Ebserve que los programas ni siquiera tienen que utilizar el campo
address para verse afectados9 basta con que utilicen el archivo 'roperty8or;ent.
Ebviamente, todo esto puede requerir un tiempo considerable y se trata de un proceso
su"eto a errores. #sta caracter!stica de los sistemas basados en archivos se denomina
dependencia entre los programas y los datos.
8ormatos de archivo incompatibles
'uesto que la estructura de los archivos est$ incrustada en los programas de
aplicacin, dichas estructuras penden del legua"e de programacin de aplicaciones que
se utilice. 'or e"emplo, la estructura de un archivo generador por un programa .EIEL
puede ser diferente de la estructura de un archivo creada por un programa .. La
incompatibilidad directa de dichos archivos hace dif!cil que se los pueda procesar
con"untamente.
'or e"emplo, suponga que el departamento de contratos quiere averiguar los nombres y
direcciones de todos los propietarios cuyos inmuebles estn actualmente alquilados.
<esafortunadamente, el departamento contratos no dispone de la informacin de
detalles sobre los propietarios de los inmuebles, ya que slo el departamento de ventas
tiene esa informacin. +in embargo, el departamento de contratos s! que dispone del
n%mero de inmueble ,property&o-, que puede utilizarse para localizar el n%mero de
inmueble correspondiente en el archivo 'roperty8or;ent del departamento de ventas.
#ste archivo contiene el n%mero de propietario ,ner&o-, que puede utilizarse para
localizar los detalles del propietario en el archivo 'rivateE=ner. Los prozraMnas del
departamento de contratos han sido desarrollados en .obol, mientras que los del
departamento de ventas han sido desarrollados en .. 'or tanto, para establecer la
correspondencia entre los campos property&o W los dos archivos 'roperty8or;ent se
necesita que un desarrollador de aplicaciones escriba un programa soft=are que
convierta los archivos a un formato com%n para facilitar el procesamiento. <e nuevo,
este proceso puede requerir mucho tiempo y resultar muy caro.
.onsultas fi"asXproliferacin de programas de aplicacin
<esde el punto de vista del usuario final, los sistemas basados en archivos
representaron una enorme me"ora n respecto a los sistemas manuales. #n
consecuencia, las peticiones de nuevas consultas o de modificaciones de las ya
e(istentes comenzaron a crecer. +in embargo, los sistemas basados en archivos son
muy dependientes del desarrollador de aplicaciones, que es quien tiene que escribir
todas las consultas e informes requeridos. .omo resultado, sucedieron dos cosas, en
algunas organizaciones, el tipo de consulta o de informe que pod!a producirse era fi"o.
&o e(ist!a ninguna posibilidad de solicitar consultas no planificadas ,es decir, consultas
pensadas en el momento o ad +oc) ni acerca de los propios datos ni acerca de los
datos disponibles.
#n otras organizaciones, se produ"o una proliferacin de archivos y de programas de
aplicacin. Al final, se alcanz un punto en el que el departamento de proceso de datos,
con sus recursos e(istentes, era incapaz de gestionar todo el traba"o. #sto normalmente
llevaba a que se presionara en e(ceso al personal del departamento de proceso de
datos, lo que daba como resultado programas inadecuados o ineficientes a la hora de
satisfacer las demandas de los usuarios, o bien sistemas de documentacin
e(cesivamente limitados o bien programas cuyo mantenimiento era muy complicado. A
menudo, se tend!a a omitir diversos tipos de funcionalidad9
D no se inclu!an mecanismos de seguridad o integridad)
0 la recuperacin, para los casos de fallos de hard=are o soft=are, era limitada o
ine(istente)
D el acceso a los archivos estaba restringido, de modo que slo un usuario pod!a
acceder en cada instante9 no hab!a ning%n tipo de mecanismo para facilitar el acceso
compartido por parte de distintas personas pertenecientes al mismo departamento.
#n cualquier caso, lo que est$ claro es que ese tipo de situacin no era aceptable. +e
necesitaba alg%n otro tipo de solucin.
0.6 Los distintitos niveles de abstraccin de una base de
datos
Ahora estamos en condiciones de presentar la arquitectura para un sistema de base de
datos. &uestro ob"etivo al presentar esta arquitectura es ofrecer una infraestructura en
la que puedan basarse los cap!tulos siguientes. <icha infraestructura resulta %til para
describir los conceptos generales de las bases de datos y para e(plicar la estructura de
sistemas de bases de datos espec!ficos) pero no afirmamos que todo sistema pueda
coincidir enteramente con esta infraestructura en particular, ni queremos sugerir que
esta arquitectura represente la %nica infraestructura posible. #n particular, es probable
que los sistemas pequeos ,vea el cap!tulo 0- no mane"en todos los aspectos de la
arquitectura. +in embargo, la arquitectura parece a"ustarse bastante bien a la mayor!a
de los sistemas) es m$s, es pr$cticamente idntica a la arquitectura propuesta por el
Yrupo de #studio en +istemas de Administracin de Iases de <atos de A&+2X+'A;.
,la tan mencionada arquitectura A&+2X+'A;.. Bea las referencias G:.0\:.:0-. +in
embargo, nosotros decidimos no seguir la terminolog!a A&+2X+'A;. en todos sus
detalles.
!ota" #ste cap!tulo se aseme"a al cap!tulo 0 en el sentido de que tambin es en cierto
modo abstracto y $rido, aunque es fundamental entender el material que contiene para
una apreciacin completa de la estructura y posibilidades de un sistema de base de
datos moderno. 'or lo tanto, al igual que en el cap!tulo 0, tal vez prefiera por ahora slo
darle una le!da ligera y regresar a l m$s tarde, cuando sea directamente relevante
para los temas que est abordando.
LE+ /;#+ &2B#L#+ <# LA A;5*2/#./*;A
La arquitectura A&+2X+'A;. se divide en tres niveles, conocidos como interno,
conceptual y e(terno, respectivamente ,vea la figura :.0-. Cablando en trminos
generales9
D #l nivel interno ,tambin conocido como el nivel fsico) es el que est$ m$s cerca del
almacenamiento f!sico) es decir, es el que tiene que ver con la forma en que los datos
est$n almacenados f!sicamente.
D #l nivel e(terno ,tambin conocido como el nivel l#ico de usuario) es el m$s pr(imo
a los usuarios) es decir, el que tiene que ver con la forma en que los usuarios
individuales ven los datos.
D #l nivel conceptual ,tambin conocido como el nivel l#ico de la comunidad, o en
ocasiones slo como el nivel l#ico, sin calificar- es un nivel de indireccin entre los
otros dos.
Ebserve que el nivel e(terno tiene que ver con las percepciones de usuarios
individuales, mientras que el nivel conceptual tiene que ver con la percepcin de una
comunidad de usuarios.
Fi&ura ;.1
)os tres niveles de la ar'uitectura.
#n otras palabras, habr$ muchas vistas e(ternas distintas, cada una consistente en
una representacin m$s o menos abstracta de alguna parte de la base de datos total, y
habr$ precisamente una vista conceptual que del mismo modo consiste en una
representacin abstracta de la base de datos en su totalidad.^ ,;ecuerde que la
mayor!a de los usuarios no se interesar$n en toda la base de datos, sino slo en una
parte limitada de la misma-. #n forma similar, habr$ precisamente una vista interna
que represente a la base de datos tal como est$ almacenada f!sicamente.
*n e"emplo har$ m$s claras estas ideas. La figura :.: muestra la vista conceptual, la
vista interna correspondiente y dos de las vistas e(ternas ,una para un usuario de 'LM2
y otra para un usuario de .EIEL-, todas ellas para una base de datos de personal
sencilla. 'or supuesto, el e"emplo es completamente hipottico _no pretende refle"ar
ning%n sistema real_ y hemos omitido deliberadamente muchos detalles irrelevantes.
E4plicacin"
D #n el nivel conceptual, la base de datos contiene informacin concerniente a un tipo
de entidad denominada #A'L#A<E. .ada empleado individual tiene un
&*A#;E`#A'L#A<E ,de seis caracteres-, un &*A#;E`<#'A;/AA#&/E ,de
cuatro caracteres- y un +ALA;2E ,de cinco d!gitos decimales-.
D #n el nivel interno, los empleados est$n representados por un tipo de registro
denominado #A'`ALAA.#&A<E, de veinte bytes de longitud. #A'`ALAA.#&A<E
contiene cuatro campos almacenados9 un prefi"o de seis bytes ,que presumiblemente
contiene informacin de control como los indicadores o los apuntadores- y tres campos
de datos correspondientes a las tres propiedades de los empleados. Adem$s, los
registros de #A'`ALAA.#&A<E est$n inde(ados sobre el campo #A'T por medio de
un !ndice de nombre #A'J, cuya definicin no se muestra.
D #l usuario de 'La2 tiene una vista e(terna de la base de datos en la que cada
empleado est$ representado por un registro 'LX2 que contiene dos campos ,los
n%meros de departamento no son de inters para este usuario y por lo tanto fueron
omitidos-. #l tipo del registro est$ definido por una declaracin de estructura 'LX2
ordinaria seg%n las reglas normales de 'L22.
D #n forma similar, el usuario de .EIEL tiene una vista e(terna en la que cada
empleado est$ representado por un registro de .EIEL, que una vez m$s contiene dos
campos ,esta un vez fueron omitidos los salarios-. #l tipo de registro est$ definido por
una descripcin ordinaria de registro .EIEL, de acuerdo con las reglas normales de
.EIEL.
Fi&ura ;.;
Un ejemplo de los tres niveles.
Ebserve que los elementos correspondientes de los datos pueden tener diferentes
nombres en distintos puntos. 'or e"emplo, el n%mero de empleado se denomina #A'T
en la vista e(ti\ terna de 'LX2, #A'&E en la vista e(terna de .EIEL,
&*A#;E`#A'L#A<E en la vista h<E conceptual y nuevamente #A'T en la vista
interna. <esde luego, el sistema debe estar al tanto LA\ de las correspondencias) por
e"emplo, debemos indicar que el campo #A'&E de .EIEL se deriva del campo
conceptual &*A#;E`#A'L#A<E, el cual se deriva a su vez del campo almacenado
#A'T al nivel interno. <ichas correspondencias, o transformaciones, no se muestran de
manera e(pl!cita en la figura :.:) para una e(plicacin m$s amplia, consulte la in
seccin :.>.
Ahora bien, para los fines del presente cap!tulo, no tiene mayor importancia si el
sistema a considerar es relacional o de otro tipo. +in embargo, ser!a %til indicar cmo
son concebidos t!picamente los tres niveles de la arquitectura en un sistema relacional
en particular9
D 'rimero, el nivel conceptual en dicho sistema ser$ definitivamente relacional, en el
sentido est$ de que los ob"etos visibles en ese nivel ser$n tablas relacionales y los
operadores ser$n de tipo relacional ,incluyendo los operadores restrin#ir y proyectar en
particular, que e(pusimos brevemente en el cap!tulo 0-.
D +egundo, una vista e(terna dada tambin ser$ casi siempre relacional. o algo muy
parecido a ello) por e"emplo, las declaraciones de registro de 'LX2 y .EIEL de la figura
:.: podr!an ser consideradas a grandes rasgos como an$logas de las declaraciones de
'LX2 y .EIEL, 0:.0V\ respectivamente, de una tabla relacional en un sistema
relacional.
!ota" <ebemos mencionar de paso que el trmino vista e(terna ,a menudo abreviado
solamente como vista- tiene por desgracia un significado m$s bien espec!fico en con\
te(tos relacionales y que ste no es idntico al significado que se le asigna en este
cap!tulo. 'ara una e(plicacin y e(posicin del significado relacional, consulte los
cap!tulos 3 y 7.
D /ercero, el nivel interno no ser$ relacional, ya que los ob"etos en ese nivel no ser$n
slo tablas relacionales ,almacenadas-) en vez de ello, ser$n los mismos tipos de
ob"etos que se encuentran en el nivel interno de cualquier otro tipo de sistema ,registros
almacenados, apuntadores, !ndices, tablas de dispersin, etctera-. <e hecho, el
modelo relacional como tal no tiene nada en absoluto que decir acerca del nivel interno)
para repetir lo dicho en el cap!tulo 0, tiene que ver con la forma en que la base de datos
se presenta ante el usuario.
Ahora procederemos a e(plicar con m$s detalle los tres niveles de la arquitectura,
comenzando con el nivel e(terno. A lo largo de nuestra e(plicacin haremos constantes
referencias a la figura :.3, la cual muestra los principales componentes de la
arquitectura y sus interrelaciones.
Fi&ura ;.?
Ar'uitectura detallada del sistema.
#L &2B#L #J/#;&E
#l nivel e(terno es el nivel del usuario individual. .omo e(pliqu en el cap!tulo 0, un
usuario dado puede ser un programador de aplicaciones o bien un usuario final con
cualquier grado de sofisticacin. ,#l <IA es un importante caso especial) pero a
diferencia de otros usuarios, el <IA tambin necesitar$ interesarse en los niveles
conceptual e interno. Bea las dos secciones siguientes.-
.ada usuario tiene a su disposicin un lengua"e9
D 'ara el programador de aplicaciones, ste ser$ ya sea un lengua"e de programacin
convencional ,por e"emplo, 'LX2, .LL, Mava- o bien un lengua"e de tipo propietario que
sea espec!fico al sistema en cuestin. A menudo, a estos lengua"es de tipo propietario
se les denomina lengua"es de cuarta generacin ,1YLs-) siguiendo las _confusasO_
bases de que ,a- el cdigo de m$quina, el lengua"e ensamblador y los lengua"es como
'LX2 pueden ser vistos como tres generaciones de lengua"es anteriores, y ,b- los
lengua"es de tipo propietario representan la misma clase de me"ora sobre los lengua"es
de tercera generacin ,3YLs- que la que tuvieron estos lengua"es sobre el lengua"e
ensamblador y la que tuvo el lengua"e ensamblador sobre el cdigo de m$quina.
D 'ara el usuario final, el lengua"e ser$ ya sea un lengua"e de consulta o bien alg%n
lengua"e de finalidad espec!fica, tal vez controlado por formularios o por men%s,
confeccionado para los requerimientos de ese usuario y mane"ado por alg%n programa
de aplicacin en l!nea ,como e(pliqu en el cap!tulo 0-.
#n nuestro caso, lo importante acerca de dichos lengua"es es que incluir$n un
sublengua"e de datos) es decir, un subcon"unto del lengua"e total que se ocupe
espec!ficamente de los ob"etos y operaciones de la base de datos. +e dice que el
sublengua"e de datos ,abreviado como +L< en la figura :.3- est$ incrustado dentro de
su lengua"e anfitrin correspondiente. #l lengua"e anfitrin es el responsable de
proporcionar diversas propiedades que no son espec!ficas de la base de datos, como
las variables locales, las operaciones de c$lculo, la lgica de bifurcacin, etctera. *n
sistema determinado podr!a mane"ar cualquier cantidad de lengua"es anfitrin y
cualquier n%mero de sublengua"es de datos) sin embargo, un sublengua"e de datos
espec!fico soportado por casi todos los sistemas actuales es el lengua"e +5L que
e(plicamos brevemente en el cap!tulo 0. La mayor!a de dichos sistemas permiten que
+5L sea utilizado de manera interactiva, como un lengua"e de consulta independiente,
e incrustado en otros lengua"es como 'LX2 o Mava ,para una e(plicacin m$s amplia,
consulte el cap!tulo 1-.
Ahora bien, aunque para fines de la arquitectura es conveniente distinguir entre el
sublengua"e de datos y el lengua"e anfitrin que lo contiene, ambos podr!an no ser
distintos en lo que al usuario concierne) y de hecho, desde el punto de vista del usuario,
es probablemente me"or que no lo sean. +i no son distintos, o si dif!cilmente pueden
distinguirse, decimos que est$n fuertemente acoplados. +i son clara y f$cilmente
separables, decimos que est$n dbilmente acoplados. Aunque algunos sistemas
comerciales ,en especial los orientados a ob"etos) vea el cap!tulo :1- s! mane"an el
acoplamiento fuerte, la mayor!a no lo hace) en particular, los sistemas +5L
generalmente slo mane"an el acoplamiento dbil. ,#l acoplamiento fuerte ofrece un
con"unto m$s uniforme de propiedades para el usuario, aunque obviamente implica m$s
esfuerzo por parte de los desarrolladores del sistema, un hecho que presumiblemente
cuenta para el statu 9uo.)
#n principio, cualquier sublengua"e de datos determinado es en realidad una
combinacin de por lo menos dos lengua"es subordinados9 un <<L ,lengua"e de
definicin de datos-, que permite la definicin o declaracin de ob"etos de base de
datos, y un <AL ,lengua"e de manipulacin de datos-, que permite la manipulacin o
procesamiento de dichos ob"etos. 'or e"emplo, considere al usuario de 'LX2 de la figura
:.: de la seccin :.:. #l sublengua"e para ese usuario consiste en aquellas
caracter!sticas de 'LX2 que se usan para comunicarse con el <IA+9
La parte del <<L consiste en aquellas construcciones declarativas de 'LX2 necesarias
para declarar ob"etos de base de datos) la propia instruccin <#.LA;# ,<.L-, ciertos
tipos de datos de 'LX2, tal vez e(tensiones especiales de 'LX2 para mane"ar nuevos
ob"etos que no mane"a el 'L22 e(istente.
La parte del <AL consiste en aquellas instrucciones e"ecutables de 'L22 que transfieren
informacin hacia y desde la base de datos) de nuevo, que incluyen tal vez nuevas
instrucciones especiales.
!ota" 'ara ser m$s precisos, debemos decir que al momento de la publicacin de este
libro, 'La2 no inclu!a ninguna caracter!stica espec!fica de base de datos. #n particular,
las instrucciones <AL por lo regular slo son instrucciones .ALL de 'LX2 que invocan
al <IA+ ,aunque esas instrucciones podr!an de alguna forma estar disfrazadas
sint$cticamente para hacerlas un poco m$s sencillas para el usuario) vea la e(plicacin
de +5L incrustado, en el cap!tulo 1-.
Bolviendo a la arquitectura, ya indicamos que un usuario individual se interesar$
generalmente slo por alguna parte de toda la base de datos) es m$s, la vista que el
usuario tiene de esa parte normalmente ser$ un poco abstracta al compararla con la
forma en que los datos est$n almacenados f!sicamente. #l trmino A&+MM+'A;.
utilizado para la vista de un usuario individual es el de vista e(terna. 'or lo tanto, una
vista e(terna es el contenido de una base de datos como lo ve alg%n usuario en
particular ,es decir, para ese usuario, la vista e(tern es la base de datos-. 'or e"emplo,
un usuario del <epartamento de 'ersonal podr!a ver a la base de datos como una
coleccin de ocurrencias de los registros de empleado y departamento, y podr!a
desconocer las ocurrencias de los registros de parte y proveedor que ven los usuarios
del <epartamento de .ompras.
#ntonces, en general, una vista e(terna consiste en muchas ocurrencias de cada uno
de los tipos de registro e(terno ,que no es necesariamente lo mismo que un registro
almacenado-.^ #l sublengua"e de datos del usuario est$ definido en trminos de
registros e(ternos) por e"emplo, una operacin de recuperacin del <AL recuperar$
ocurrencias de registros e(ternos, no ocurrencias de registros almacenados. !ota"
Ahora podemos ver que el trmino registro lgico, empleado ocasionalmente en el
cap!tulo 0, se refer!a en realidad a un registro e(terno. <e hecho, desde este punto de
vista, trataremos de evitar el trmino registro lgico
.ada vista e(terna est$ definida por medio de un esquema e(terno, el cual consiste
b$sicamente en definiciones de cada uno de los diversos tipos de registros e(ternos de
esa vista ,observe una vez m$s en la figura :.:, un par de e"emplos sencillos-. #l
esquema e(terno fue escrito utilizando la parte <<L del sublengua"e de datos del
usuario. ,<e ah! que en ocasiones se haga referencia a ese <<L como &&3 e4ternB1
'or e"enfplo, el tipo de registro e(terno de empleado podr!a defiuiirse como un campo
de n%mero de empleado con seis caracteres, m$s un campo de salario con cinco
d!gitos ,decimales- y as! sucesivamente. Adem$s, debe haber una definicin de la
transformacin entre el esquema e(terno y el esquema conceptual subyacente ,vea la
siguiente seccin-. A$s adelante, en la seccin :.>, consideraremos dicha
transformacin.
#L &2B#L .E&.#'/*AL
La vista conceptual es una representacin de todo el contenido de la informacin de la
base de datos, de nuevo ,al igual que con la vista e(terna- en una forma un poco
abstracta comparada con la forma en la que por lo regular se almacenan los datos
f!sicamente. /ambin ser$ muy diferente de la forma en que cualquier usuario
espec!fico ve los datos. #n trminos generales, la vista conceptual pretende ser una
vista de los datos tal como son, en vez de tal como los usuarios est$n obligados a
verlos debido a las limitaciones ,por e"emplo- del lengua"e o el hard=are en particular
que pudieran utilizar.
La vista conceptual consiste en muchas ocurrencias de varios tipos de registro
conceptual. 'or e"emplo, podr!a consistir en un con"unto de ocurrencias de los registros
de departamento, m$s un con"unto de ocurrencias de los registros de empleado, m$s
un con"unto de ocurrencias de los registros de proveedor, m$s un con"unto de
ocurrencias de los registros de parte ,y as! sucesivamente-. 'or otra parte, un registro
conceptual no es necesariamente lo mismo que un registro e(terno, ni que un registro
almacenado.
La vista conceptual est$ definida por medio del esquema conceptual, el cual comprende
definiciones de cada uno de los diversos tipos de registros conceptuales ,de nuevo,
consulte la figura :.: para ver un e"emplo sencillo-. #l esquema conceptual est$ escrito
con otro lengua"e de definicin de datos, el &&3 conceptual. +i se va a lograr la
independencia f!sica de los datos, entonces las definiciones conceptuales de <<L no
deben comprender en lo absoluto ninguna consideracin de la representacin f!sica ni
de la tcnica de acceso) deben ser 6nicamente definiciones del contenido de la
informacin. 'or lo tanto, en el esquema conceptual no debe haber ninguna referencia
para la representacin de campos almacenados, la secuencia de registros
almacenados, los !ndices, los esquemas de dispersin. los apuntadores o cualquier otro
detalle de almacenamiento y acceso. +i el esquema conceptual se hace
verdaderamente independiente de los datos, entonces los esquemas e(ternos, que
est$n definidos en trminos del esquema conceptual ,vea la seccin :.>-, tambin
ser$n for>osamente independientes de los datos.
#ntonces, la vista conceptual es una vista del contenido total de la base de datos, y el
esquema conceptual es una definicin de esa vista. +in embargo, ser!a engaoso dar
por hecho que el esquema conceptual no es nada m$s que un con"unto de definiciones
muy similar a las definiciones que se encuentran ,por e"emplo- en un programa .EIEL
actual. Las definiciones del esquema conceptual pretenden incluir muchas
caracter!sticas adicionales, como las restricciones de seguridad y de integridad
mencionadas en el cap!tulo 0. Algunas autoridades van m$s le"qs al sugerir que el
ob"etivo final del esquema conceptual es describir toda la empresa) no slo los datos
como tales, sino tambin la forma en que son utilizados, la forma en que fluyen de un
punto a otro dentro de la empresa, su funcin en cada punto, lo controles de auditor!a u
otros que se aplican en cada punto, etctera :.3H. +in embargo, debemos enfatizar que
en la actualidad ning%n sistema soporta realmente un esquema conceptual de cualquier
cosa que se apro(ime a este grado de amplitud) en la mayor!a de los sistemas
e(istentes, el esquema conceptual es en realidad algo m$s que una simple unin de
todos los esquemas e(ternos individuales m$s ciertas restricciones de seguridad y de
integridad. Aunque en verdad es posible que los sistemas futuros sean mucho m$s
sofisticados en cuanto al soporte del nivel conceptual.
#L &2B#L 2&/#;&E
#l tercer nivel de la arquitectura es el nivel interno. La vista interna es una
representacin de ba"o nivel de toda la base de datos y consiste en muchas ocurrencias
de cada uno de los diversos tipos de registros internos. ;egistro interno es el trmino
de A&+MM+'A;. para la construccin que hemos venido llamando registro
almacenado ,y que seguiremos utilizando-. 'or lo tanto, la vista interna est$ todav!a
distante del nivel f!sico, ya que no tiene que ver con trminos como registros ftsicos
,tambin denominados bloques o p$ginas- ni con ninguna consideracin espec!fica de
los dispositivos, como el tamao de los cilindros o de las pistas. #n otras palabras, la
vista interna en efecto da por hecho un espacio de direcciones lineal infinito) los detalles
de cmo el espacio de direcciones se asocia con el almacenamiento f!sico, son en gran
medida espec!ficos del sistema y se omiten deliberadamente de la arquitectura general.
!ota" #l bloque, o p$gina, es la unidad de EI$ es decir, es la cantidad de datos
transferidos entre el almacenamiento secundario y la memoria principal en una sola
operacin de #X+. Los tamaos t!picos de p$gina son 0 PI, : PI o1 PI ,0 PI b 0V:1
bytes-.
La vista interna se describe por medio del esquema interno, el cual no slo define los
diversos tipos de registres almacenados sino que especifica tambin qu !ndices
e(isten, cmo est$n representados los campos almacenados, en qu secuencia est$n
dichos registros, etctera. ,*na vez m$s, observe un e"emplo sencillo en la figura :.:.-
#l esquema interno est$ escrito utilizando otro lengua"e m$s de definicin de datos9 el
&&3 interno. !ota" #n este libro usaremos normalmente los trminos m$s intuitivos
estructura de almacenamiento o base de datos almacenada en lugar de vista
interna, as! como el trmino definicin de la estructura de almacenamiento en lugar
de esquema interno.
'ara terminar, sealamos que, en ciertas situaciones e(cepcionales, a los programas
de aplicacin Gen particular, las aplicaciones de utilera ,vea la seccin :.00-H se les
podr!a permitir operar directamente en el nivel interno en vez del nivel e(terno. +obra
decir que no es recomendable esta pr$ctica, pues representa un riesgo para la
seguridad ,ya que se ignoran las restricciones de seguridad- y un riesgo para la
integridad ,debido a que, de igual manera, se ignoran las restricciones de integridad-.
Adem$s, para iniciar, el programa ser$ dependiente de los datos) aunque, en
ocasiones, sta podr!a ser la %nica forma de obtener la funcionalidad o el rendimiento
requeridos ,tal como le sucede al usuario de un lengua"e de programacin de alto nivel
que ocasionalmente tendr!a que descender al lengua"e ensamblador para satisfacer
ciertos ob"etivos de funcionalidad o rendimiento-.
/;A&+8E;AA.2E&#+
Adem$s de los tres niveles como tales, la arquitectura de la figura :.3 comprende
ciertas transformaciones) en general, una transformacin conceptualXinterna y varias
transformaciones e(ternasXconceptual9
D La transformacin conceptual*interna define la correspondencia entre la vista
conceptual y la base de datos almacenada, y especifica cmo est$n representados los
registros y campos conceptuales en el nivel interno. +i se modifica la estructura de la
base de datos ,es decir, si se hace un cambio a la definicin de la estructura de
almacenamiento-, entonces por consiguiente ser$ necesario modificar la transformacin
conceptualXinterna, de manera que el esquema conceptual pueda permanecer
invariable. ,'or supuesto, es responsabilidad del <IA administrar dichos cambios.- #n
otras palabras, los efectos de dichos cambios deben aislarse por deba"o del nivel
conceptual, a fin de preservar la independencia f!sica de los datos.
D La transformacin e4terna*conceptual define la correspondencia entre una vista
e(terna en particular y la vista conceptual. #n general, las diferencias que puedan
e(istir entre estos dos niveles son an$logas a aquellas que puedan e(istir entre la vista
conceptual y la base de datos almacenada. 'or e"emplo, los campos pueden tener
diferentes tipos de datos) los nombres de los registros y campos pueden ser
cambiados) varios campos conceptuales pueden combinarse en un solo registro
e(terno ,virtual-) etctera. 'uede e(istir cualquier cantidad de vistas e(ternas al mismo
tiempo) cualquier n%mero de usuarios puede compartir una vista e(terna dada) es
posible traslapar diferentes vistas e(ternas.
!ota" <ebe quedar claro que as! como la transformacin conceptualXinterna es la clave
para la independencia f!sica de los datos, tambin las transformaciones
e(ternasXconceptual son la clave para la independencia lgica de los datos. .omo
vimos en el cap!tulo 0, un sistema proporciona la independencia f!sica de los datos G0.3H
si los usuarios y los programas de usuario son inmunes a los cambios en la estructura
f!sica de la base de datos almacenada. <e igual manera, un sistema proporciona la
independencia l#ica de los datos G0.1H silos usuarios y los prograremos mas de usuario
tambin son inmunes a los cambios en la estructura l#ica de la base de datos ,lo que
significa cambios al nivel conceptual o lgico de la comunidad-. #n los cap!tulos 3 y 7,
tendremos m$s que decir respecto de este tema importante.
'or cierto, la mayor!a de los sistemas permiten que la definicin de ciertas vistas
e(ternas se e(prese en trminos de otras ,en efecto, mediante transformaciones
e4ternas*e4ternas), en vez de requerir siempre una definicin e(pl!cita de la
transformacin al nivel conceptual) una caracter!stica %til si varias vistas e(ternas son
parecidas entre s!. #n particular, los sistemas relacionales brindan dicha posibilidad.
0.> suarios y administradores de la base de datos
FIGURA 1.?
!ate&or/as de usuarios administrativos
#n p$rrafos anteriores se ha hecho mencin de los usuarios, gerentes y empleados de
una organizacin que interact%an con los sistemas de informacin. #l grado de
participacin quiz$ cambie y esto depende del tipo de usuario ,8ig. 0.3-.
Los analistas emplean el trmino usuario final para referirse a las personas que no son
especialistas en sistemas de informacin pero que utilizan las computadoras para
desempear su traba"o. Los usuarios finales pueden agruparse en cuatro categor!as.
Los usuarios primarios son los que interact%an con el sistema. #llos lo alimentan con
datos ,entradas- o reciben salidas, quiz$ por medio de una terminal. Los agentes de
reservacin de vuelos, por e"emplo, emplean las terminales para consultar el sistema y
obtener informacin relacionada con pasa"eros, vuelos y boletos.
Los usuarios indirectos son aquellos que se benefician de los resultados o reportes
generados por estos sistemas pero que no interact%an de manera directa con el
hard=are o soft=are. #stos usuarios que utilizan el sistema, pueden ser los gerentes
encargados de las funciones de la empresa ,por e"emplo, los gerentes de
mercadotecnia son los responsables de las aplicaciones de an$lisis de ventas que
generan los reportes mensuales de la compa!a en este ramo-.
&o todos los usuarios finales tienen la misma e(periencia. Algunos nunca han usado
una computadora mientras que otros interact%an cotidianamente con un sistema de
informacin. .ada grupo debe ser capaz de utilizar el sistema con facilidad y de manera
oportuna cuando sea necesario, aunque su empleo no forme parte de la rutina
cotidiana. Al mismo tiempo, las caracter!sticas necesarias del sistema para satisfacer
las necesidades del usuario ocasional ,tales como la capacidad de proporcionar ayuda
adicional- no deben interferir con el traba"o de los dem$s usuarios. #l analista debe
hacer un esfuerzo para equilibrar las caracter!sticas del sistema para que ste se
adecue a las necesidades de todos los usuarios.
#l usuario final tambin puede ser un competidor y no un empleado de la organizacin.
Algunos sistemas de informacin, por e"emplo, son utilizados por agentes de via"es de
l!neas areas o personal del departamento de compras de otras empresas que tienen
terminales enlazadas con las de sus proveedores ,en el cap!tulo : se introduce el
empleo de los sistemas de informacin con el fin de ganar venta"as competitivas) el
tema tambin aparece en diversas partes del libro donde se habla de diseo de
sistemas-. 'ara este tipo de usuario el sistema debe incorporar consideraciones
adicionales tanto para la interaccin con el usuario como para proteger de cualquier
riesgo a la organizacin que proporciona el servicio.
#(iste un tercer tipo de usuarios, los usuarios #erentes, que tienen responsabilidades
administrativas en los sistemas de aplicacin. Al igual que el e"ecutivo de la narracin al
inicio del cap!tulo, estos usuarios son gerentes de la empresa que utilizan en gran
medida los sistemas de informacin. Aientras estas personas no utilicen los sistemas
ya sea directa o indirectamente, no tendr$n la autoridad para aprobar o no la inversin
en el desarrollo de aplicaciones, adem$s no tendr$n la responsabilidad ante la
organizacin de la efectividad de los sistemas ,en el mismo sentido que el
vicepresidente de mercadotecnia es el responsable del (ito de todas las ventas y
programas de mercadotecnia-. <e lo anterior se desprende que esta categor!a de
usuarios es la que debe participar en los esfuerzos de desarrollo de sistemas mayores,
aspecto en el que se hace hincapi en cap!tulos posteriores.
<e particular importancia reviste el hecho de que los usuarios directivos, el cuarto grupo
de usuarios, toman cada vez mayor responsabilidad en el desarrollo de sistemas de
informacin. Las organizaciones bien dirigidas consideran el posible impacto y los
beneficios de los sistemas de informacin cuando elaboran su estrategia competitiva.
#l uso creciente de los sistemas de informacin, sin embargo, es un arma de dos filos
que tiene beneficios y tiene riesgos. <ado que los sistemas de informacin
desarrollados en forma inadecuada pueden entorpecer, e incluso daar, las actividades
de una organizacin, los directivos deben evaluar de manera constante los riesgos a los
que se e(pone la empresa en caso de falla de los sistemas de informacin.
Los cuatro tipos de usuarios son importantes. .ada uno posee informacin esencial
sobre las funciones de la organizacin y hacia dnde se dirige sta. Los analistas de
sistemas, sin embargo, son los que proporcionan las ideas _la imaginacin_ con
respecto a las me"ores formas para usar eficientemente las computadoras. La
informacin que re%nen los analistas sobre el sistema de la empresa, forma b base para
el diseo de nuevos sistemas o para las modificaciones de los que ya e(isten.
0.4 Componentes de los sistemas de bases de datos
8alto.
0.S !r"uitectura de los sistemas de bases de datos
#(isten dos tipos de arquitecturas la de cliente\servidor y la arquitectura distribuida.
A;5*2/#./*;A .L2#&/#\+#;B2<E;
Casta ahora, en este cap!tulo hemos venido e(plicando los sistemas de bases de datos
desde el punto de vista de la as! llamada arquitectura A&+2M+'A;.. #n la figura :.3 en
particular, presentamos una imagen simplificada de esta arquitectura. #n esta seccin
estudiaremos los sistemas de bases de datos desde una perspectiva ligeramente
diferente. <esde luego, la finalidad principal de dichos sistemas es apoyar el desarrollo
y la e"ecucin de las aplicaciones de bases de datos. 'or lo tanto, desde un punto de
vista m$s elevado, un sistema de base de datos puede ser visto como un sistema que
tiene una estructura muy sencilla de dos partes, las cuales consisten en un servidor
,tambin denominado parte dorsal o servicios de fondo) y un con"unto de clientes
,tambin llamados partes frontales, aplicaciones para el usuario o interfaces). .onsulte
la figura :.6. E4plicacin"
D #l servidor es precisamente el propio <IA+. +oporta todas las funciones b$sicas del
<IA+ e(puestas en la seccin :.S9 definicin de datos, manipulacin de datos,
seguridad e integridad de los datos, etctera. #n particular, proporciona todo el soporte
de los niveles e(terno, conceptual e interno e(plicados en las secciones :.3 a :.>. 'or
lo tanto, en este conte(to, servidor es slo el nombre del <IA+.
D Los clientes son las diversas aplicaciones que se e"ecutan sobre el <IA+, tanto
aplicaciones escritas por el usuario como aplicaciones integradas ,es decir, aplicaciones
proporcionadas por el fabricante del <IA+ o por alguna otra compa!a-. 'or supuesto,
en lo que concierne al servidor, no hay diferencia entre las aplicaciones escritas por el
usuario y las integradas) todas usan la misma interfaz con el servidor, como la interfaz
de nivel e(terno e(puesta en la seccin :.3.
Fi&ura ;.5
Ar'uitectura cliente5servidor.
!ota" .iertas aplicaciones especiales de utiler!a podr!an constituir una e(cepcin a lo
anterior, ya que en ocasiones podr!an necesitar operar directamente en el nivel interno
del sistema ,como mencion en la seccin C.5). #stas utiler!as son consideradas m$s
bien como componentes integrales del <IA+, en vez de aplicaciones en el sentido
usual. Las e(plico con m$s detalle en la siguiente seccin.
'rofundizaremos un poco sobre la cuestin de aplicaciones escritas por el usuario en
comparacin con las aplicaciones proporcionadas por el fabricante9
D Las aplicaciones escritas por el usuario son en esencia programas de aplicacin
comunes, escritos por lo regular ya sea en un lengua"e convencional de tercera
generacin ,como . o .EIEL- o en alg%n lengua"e de tipo propietario de cuarta
generacin) aunque en ambos casos es necesario acoplar de alguna manera el
lengua"e con un sublengua"e de datos apropiado, como e(pliqu en la seccin :.3.
D Las aplicaciones proporcionadas por el fabricante ,a menudo llamadas herramientas-
son aplicaciones cuya finalidad b$sica es au(iliar en la creacin y e"ecucin de otras
aplicaciones. Las aplicaciones creadas son aplicaciones confeccionadas para alguna
tarea espec!fica ,podr!an no parecer aplicaciones en el sentido convencional) de hecho,
la idea general de las herramientas es permitir a los usuarios, en especial a los usuarios
finales, la creacin de aplicaciones sin tener que escribir programas en un lengua"e de
programacin convencional-. 'or e"emplo, una herramienta proporcionada por el
fabricante ser!a un #enerador de informes, cuyo propsito es permitir a los usuarios
obtener del sistema informes con cierto formato. /oda peticin de informe puede verse
como un pequeo programa de aplicacin, escrito en un len#ua1e #enerador de
informes de muy alto nivel ,y de finalidad especial-.
Las herramientas proporcionadas por el fabricante pueden dividirse en varias clases
relativamente distintas9
a. 'rocesadores de lengua"e de consulta)
b. Yeneradores de informes)
c. +ubsistemas de gr$ficos comerciales)
d. Co"as de c$lculo)
e. 'rocesadores de lengua"e natural)
f. 'aquetes estad!sticos)
g. Cerramientas de administracin de copias o e(traccin de datos)
h. Yeneradores de aplicaciones ,incluyen procesadores 1YL-)
i. Etras herramientas de desarrollo de aplicaciones, incluyendo productos de
ingenier!a de soft=are asistida por computadora ,.A+#-)
y muchos otros. Los detalles de dichas herramientas e(ceden el alcance de este libro)
sin embargo, sealaremos que ,como di"imos antes- debido a que la idea general de un
sistema de base de datos es apoyar la creacin y e"ecucin de aplicaciones, la calidad
de las herramientas disponibles es, o deber!a ser, un factor primordial en la decisin de
la base de datos ,es decir, en el proceso de seleccionar un nuevo producto de base de
datos-. #n otras palabras. el <IA+ como tal no es el %nico factor a tomar en
consideracin, ni tampoco es necesariamente el factor m$s importante.
.erramos esta seccin con una referencia anticipada. 'uesto que el sistema en su
con"unto puede ser dividido claramente en dos partes ,clientes y servidores-, surge la
posibilidad de operar los dos en m9uinas diferentes. #n otras palabras, e(iste el
potencial para el procesamiento distribuido. 'rocesamiento distribuido significa que es
posible conectar distintas m$quinas en cierto tipo de red de comunicaciones, de tal
manera que una sola tarea de procesamiento de datos pueda dividirse entre varias
m$quinas de la red. <e hecho, esta posibilidad es tan atractiva _por diversas razones,
principalmente econmicas_ que el trmino clienteservidor ha llegado a aplicarse
casi e(clusivamente al caso en el que el cliente y el servidor est$n, en efecto, en
m$quinas distintas. #n la seccin :.0: e(plicar con m$s detalle el procesamiento
distribuido.
*/2L#;aA+
Las utiler!as son programas diseados para ayudar al <IA en sus numerosas tareas
administrativas. .omo mencion en la seccin anterior, algunos programas de utiler!a
operan en el nivel e(terno del sistema y en realidad no son m$s que aplicaciones de
propsito especial) algunas podr!an incluso no ser proporcionadas por el fabricante del
<IA+, sino por alguna otra compa!a. +in embargo, otras utiler!as operan
directamente en el nivel interno ,en otras palabras, son realmente parte del servidor-, de
ah! que deban ser proporcionadas al fabricante del <IA+.
Aqu! hay algunos e"emplos del tipo de utiler!as que com%nmente son requeridas en la
pr$ctica9
D ;utinas de carga, para crear la versin inicial de la base de datos a partir de uno o
m$s archivos del sistema operativo)
D ;utinas de descargaXrecarga, para descargar la base de datos ,o partes de ella-, para
respaldar los datos almacenados y para recargar datos desde dichas copias de
respaldo ,por supuesto la rutina de recarga es b$sicamente idntica a la rutina de
carga recin mencionada-)
D ;utinas de reorganizacin, para reordenar los datos en la base de datos almacenada,
por distintas razones que normalmente tienen que ver con el desempeo) por e"emplo,
agrupar datos en el disco de alguna forma en particular o recuperar espacio ocupado
por datos que se volvieron obsoletos)
D ;utinas estad!sticas, para calcular diversas estad!sticas de desempeo, como el
tamao de los archivos, las distribuciones de valores, los contadores de operaciones de
#X+, etc9
D ;utinas de an$lisis, para analizar las estad!sticas arriba mencionadas)
y as! sucesivamente. 'or supuesto, esta lista representa slo una pequea muestra del
rango de funciones que ofrecen generalmente las utiler!as) e(iste una gran cantidad de
otras posibilidades.
#L ';E.#+AA2#&/E <2+/;2I*2<E
'ara repetir lo dicho en la seccin :.0V, el trmino procesamiento distribuido significa
que distintas m$quinas pueden conectarse en una red de comunicaciones como
2nternet, de tal manera que una sola tarea de procesamiento de datos pueda
e(tenderse a varias m$quinas de la red. ,#n ocasiones, tambin se usa el trmino
procesamiento paralelo b$sicamente con el mismo significado, con e(cepcin de que
las m$quinas distintas tienden a estar f!sicamente muy cerca en un sistema paralelo,
lo que no es necesario en un sistema distribuido) en %ltimo caso, por e"emplo, podr!an
estar geogr$ficamente dispersas-. La comunicacin entre las diversas m$quinas es
mane"ada mediante alg%n tipo de soft=are de administracin de redes) tal vez una
e(tensin del administrador .< que e(plicamos en la seccin :.7 y m$s probablemente
un componente de soft=are independiente.
#l procesamiento distribuido presenta muchos niveles o variedades posibles. 'ara
repetir lo dicho en la seccin :.0V, un caso sencillo comprender!a la operacin de los
servicios dorsales del <IA+ ,el servidor- en una m$quina y las aplicaciones de usuario
,los clientes- en otra. .onsulte la figura :.>.
.omo mencion al final de la seccin :.0V, aunque estrictamente hablando el trmino
cliente\servidor es puramente arquitectnico. +e ha convertido casi en sinnimo de la
organizacin ilustrada en la figura :.>, en la que un cliente y un servidor se e"ecutan en
m$quinas diferentes. <e hecho, hay muchos argumentos a favor de dicho esquema9
#l primero es b$sicamente el simple argumento de procesamiento paralelo
normal9 es decir, ahora se est$n aplicando muchas unidades de procesamiento para las
tareas en con"unto, mientras que el procesamiento del servidor ,base de datos- y del
cliente ,aplicacin- se est$n haciendo en paralelo. <e ah! que el tiempo de respuesta y
la velocidad real de transporte tengan me"or!as.
Adem$s, la m$quina servidor podr!a ser una m$quina construida a la medida y
adaptada a la funcin del <IA+ ,una m$quina de base de datos- y podr!a, por lo
tanto, proporcionar un me"or desempeo del <IA+.
#n forma similar, la m$quina cliente podr!a ser una estacin de traba"o personal
adaptada a las necesidades del usuario final y por lo tanto, capaz de proporcionar
me"ores interfaces. una alta disponibilidad, respuestas m$s r$pidas y en general una
me"or facilidad de uso ara0 el usuario.
Barias m$quinas cliente distintas podr!an ser ,de hecho ser!an- capaces de
acceder a la misn0 m$quina servidor. 'or lo tanto, una sola base de datos podr!a ser
compartida entre varios sistemas cliente distintos ,vea la figura :.4-.
Fi&ura ;.$
!liente < servidor operando en m'uinas di"erentes.
Adem$s de los argumentos anteriores, est$ el punto de que e"ecutar los clientes y el
servidor en m$quinas separadas coincide con la forma en que operan en realidad las
empresas. #s muy com%n que una sola empresa ,por e"emplo, un banco- opere
muchas computadoras, de tal modo que los datos de una parte de la empresa estn
almacenados en una computadora y los datos de otra parte estn almacenados en otra
computadora. /ambin es bastante com%n que los usuarios de una computadora
necesiten acceso por lo menos ocasional a los datos almacenados en otra
computadora. +iguiendo con el e"emplo del banco, es muy probable que los usuarios de
una sucursal necesiten acceder ocasionalmente a los datos almacenados en otra.
Ebserve, por L tanto, que las m$quinas cliente podr!an tener almacenados datos
propios y que la m$quina servidor podr!a tener sus propias aplicaciones. 'or lo tanto, es
com%n que cada m$quina act%e como servidor para ciertos usuarios y como cliente
para otros ,vea la figura :.S-) en otras palabras, cada m$quina soportar$ un sistema de
base de datos completo.
Fi&ura ;.6
Una m'uina servidor= varias m'uinas diente.
Fi&ura ;.7
!ada m'uina opera como clientes < como servidor.
La idea final es que una sola m$quina cliente podr!a ser capaz de acceder a varias
m$quinas servidor diferentes ,lo contrario al caso ilustrado en la figura :.4-. #sta
posibilidad es conveniente ya que, como mencion antes, las empresas operan por lo
regular de tal manera que la totalidad de sus datos no est$n almacenados en una sola
m$quina, sino m$s bien est$n esparcidos a travs de muchas m$quinas distintas, y las
aplicaciones necesitar$n a veces tener la posibilidad de acceder a los datos de m$s de
una m$quina. I$sicamente, este acceso puede ser proporcionado en dos formas9
D *na m$quina cliente dada podr!a ser capaz de acceder a cualquier cantidad de
servidores, pero slo uno a la vez ,es decir, cada peticin individual de base de datos
debe ser dirigida a un solo servidor-. #n un sistema as!, no es posible combinar datos
de dos o m$s servidores con una sola peticin. Adem$s, el usuario de dicho sistema
debe saber qu m$quina en particular contiene qu piezas de datos.
D #l cliente podr!a ser capaz de acceder a varios servidores en forma simult$nea ,es
decir, una sola peticin de base de datos podr!a combinar datos de varios servidores-.
#n este caso, los servidores ven al cliente ,desde un punto de vista lgico- como si en
realidad fuera un solo servidor y el usuario no tiene que saber qu m$quinas contienen
qu piezas de datos.
#ste %ltimo caso constituye lo que por lo regular se denomina un sistema de base de
datos distribuida. La base de datos distribuida es en s! un tema e(tenso. Llevada a su
conclusin lgica, el soporte total a la base de datos distribuida implica que una sola
aplicacin debe ser capaz de operar de manera transparente sobre los datos que
est$n dispersos a travs de una variedad de bases de datos diferentes, las cuales son
administradas por una variedad de <IA+s distintos. operan en varias m$quinas
distintas, son mane"adas por varios sistemas operativos diferentes y est$n conectadas
por una variedad de redes de comunicacin distintas) aqu!, de manera transparente
significa que la aplicacin opera desde un punto de vista lgico como si los datos fueran
mane"ados por un solo <IA+ y en una sola m$quina. R*na posibilidad como sta
podr!a parecer muy dif!cil de lograrO) pero es bastante conveniente desde una
perspectiva pr$ctica, y los fabricantes est$n haciendo un gran esfuerzo para hacer
realidad dichos sistemas.

Вам также может понравиться