Está en la página 1de 26

Bases de datos y

usuarios de bases de datos

as bases de datos y los sistemas de bases de datos son un componente esencial de la vida cotidiana en la
sociedad modema. Actualmente, la mayorla de nowtros nos enfrentamos a diversas actividades que
implican cierta interaccin con una base de datos. Por ejemplo, ir al banco a depositar o retirar fondos,

realizar una reserva en

Wl hotel

o una compaia area, acceder al catlogo computerizado de una biblioteca

para buscar un 1ibro, o comprar algo

online (un juguete

Wl

computador, por ejemplo), son actividades que

implican que alguien o algn programa de computador acceda a una base de datos. Incluso la compra de pro
ductos en

un

supermercado, en muchos casos, provoca la actualizacin automtica de la base de datos que

mantiene el stock de la tienda.


icion ales, en
Estas interacciones son ejemplos de Jo que podemos llamar aplicaciones de bases de datos trad

las que l a mayor parte de la informacin que hay almacenada y a la que se accede es textual o numrica. E n
los ltimos at!os, l o s avances en la tecnologia h a n conducido a excitantes aplicaciones y sistemas d e bases de
datos nuevos. L a tecnologia de los medios de comwlicacin nuevos hace posible almacenar digitalmente im
genes, clips de audio y flujos (streams) de video. Estos tipoQs de archivos se estn convirtiendo en un compo
nente importante de las bases de datos

ultimedia.

LoQs sistemas de informacin geogrfica (GIS,

Geographic information systems) pueden almacenar y analizar mapas, datos meteorolgicos e imgenes de
satlite. Los almacenes de datos y Jos sistemas de procesamiento analitico en linea (OLAP,

iical process11
g)

online analy

se utilizan en muchas compaias para extraer y analizar informacin til de bases de datos

mucho ms grandes para permitir la toma de decisiones. Las tecnologias de tiempo real y bases de datos
activas se utilizan para controlar procesos industriales y de fabricacin. Y las tcnicas de bsqueda en las
bases de datos se estn aplicando a la \VWW para mejorar la bsqueda de la informacin que Jos usuarios
necesitan para navegar por Intemet.
No obstante, para entender los fundamentos de la tecnologia de bases de datos debemos empezar por los prin
cipios bsicos d e las aplicaciones de bases d e datos tradicionales. E n l a Seccin 1.1 defmiremos una base de
datos y, a continuacin, explicaremos otros trminos bsicos. En la Seccin 1.2 ofrecemos

un

ejemplo de

bases de datos sencmo, UNIVERSIDAD, a fin de ilustrar nuestra explicacin. La Seccin 1.3 describe algunas
de las caracteristicas principales de los sistemas de bases de datos, y las Secciones 1.4 y 1.5 clasifican Jos tipos
de personal cuyos trabajos implican el uso e interaccin con sistemas de bases de datos. Las Secciones 1.6 a
1.8 ofrecen una explicacin ms completa de las diferentes capacidades que los sistemas de bases de datos
ofrecen y explican algunas aplicaciones de bases de datos tipicas. La Seccin l .9 es un resumen del capitulo.

Capitulo 1 Bases de dalos y usuanos de bases de dalos

El lector que desee

una

introduccin rpida a los sistemas de ba.."es: de datos slo tiene que estudiar las

Secciones 1.1 a 1.5, despus omitir u ojear rpidamente las Secciones 1.6 a 1 .8, y pasar al Capitulo 2.

1.1

Introduccin

Las bases de datos y la tecnologia de bas.es de datos tienen mucha culpa del \LW creciente de los computadc>
res. E." justo dec.ir que las base.'i de datos juegan un papel fundamental en la mayora de la" reas en las que
se utilizan computadores, como en el mbito empre.".arial, en el comercio electrnico, ingenieria, medicina,
justicia, educacin y bibliotecas. La expresin base tk datos se utiliza tan a menudo que empezaremos por

definir su significado. Nue."tra pri mera definicin es muy generaL

Una base de datos es tma coleccin de datos relacionados. Con la palabra datos nos referimos a los hechos
(datos) conocidos que se pueden grabar y que tienen un significado implfcito. Por ejemplo, piense en los nom
bres, nmeros de telfono y direcciones de las personas que conoce. Puede tener todos estos datos grabados

en un libro de direcciones indexado o los puede tener almacenados en el disco duro de Wl computador median
te una aplicacin como rvficrosoft Access o Excel. Esta coleccin de datos relacionados con un significado
implcito es una ba.,e de datos.
La definicin anterior de base de datos es muy genrica; por ejemplo, podemos pensar que la coleccin de
palabras que compone esta pgina de texto es una coleccin de datos relacionados y que, por tanto, constitu
ye una ha. de datos. No oh.tante, el uso comn del tnnino hase de datos es normalmente ms restringido.
Una bas.e de datos tiene las siguientes propiedades implfcitas:
Una base de datos representa algn a.pecto del mundo real, lo que en ocasiones se denomina mini
mundo o unherso de discurso (UoD, Uni"erse ofdiscourse). Los cambios introducidos en el mini
mtmdo se reflejan en la ba. de datos.
Una b.."\.c;e de datos es una coleccin de datos lgicamente coherente con algn tipo de significado inhe
rente. No es correcto denominar base de datos a un surtido aleatorio de datos.
Una base de datos

se disea,

constmye y rellena con datos para un propsito especfico. Dispone de un

grupo pretendido de \Luario.. y algunas aplicaciones preconcebida." en las que esos usuarios est...n inte
resados.

En otras palabras, una base de datos tiene algn origen del que se derivan Jos datos, algn grado de interac
cin con eventos del mundo real y un pblico que est activamente intere.ado en su contenido . Los usuarios
tinale. de una base de datos pueden efectuar transaccione. comerciale. (por ejemplo, un cliente que compra
una cmara) o se pueden producir Wlos eventos (por ejemplo, un empleado tiene Wl hijo) que provoquen un
cambio en la informacin almacenada en la base de datos. Al objeto de que Wla base de datos sea en todo
momento precisa y fiable, debe ser un reflejo exacto del minimwldo que representa; por consiguiente, en l a
base d e datos deben retlejarse Jos cambios tan pronto como s ea posible.
Una base de datos puede ser de cualquier tamatlo y complejidad. Por ejemplo, la lista de nombres y direccio
nes a la que nos referiamos anterionnente puede constar de nicamente unos cuantos cientos de registros, cada
uno de ellos con una e.tructura sencilla. Por el contrario, el catlogo computerizado de una gran biblioteca
puede contener medio milln de entradas organizadas en diferentes categoras (por Jos apellidos del autor
principal, por el tema, por el ttulo del libro), y cada categoria ordenada alfabticamente. El Departamento de
tesoreria de Estados Unidos (IRS, lniemal Revenue Service) mantiene una base de datos de un tamao y com

plejidad an mayores para supervisar Jos formularios de impuestos presentados por Jos contribuyentes ameri

canos. Si asumimos que hay 100 millone. de contribuyente. y que cada uno pre.enta una media de cinco for
mularios con aproximadamente 400 caractere. de informacin por cada uno, tenemos Wla base de datos de
100 X J06 X 400 x 5 caracteres (bytes) de informacin. Si eJIRS conserva las tre. ltimas declaraciones de

cada contribuyente, adems de la actual, tenemos una base de datos de 8 x 1011 bytes (800 gigabytes). Esta

1.1 Introduccin

inmensa cantidad de intonnacin debe organizarse y administrarse para que los usuarios puedan buscar, recu
perar y actualizar los datos que necesiten. Amazon.com es un buen ejemplo de una gran base de datos comer
cial. Contiene datos de ms de 20 millones de libros, CD s, vdeos, OVOs, juegos, ropa y otros productos. La
base de datos ocupa ms de 2 terabyte. (un terabyte es 1012 bytes de almacenamiento) y se almacena en 200
computadores diferentes (denominados servidores). Cada da acceden a Amazon.com aproximadamente 15
millones de visitante. que utilizan la base de datos para hacer compras. La base de datos se actuliza conti
nuamente a medida que se aaden libros y otros productos nuevos al inventario, mientras que el stock se
actualiza al tiempo que se tramitan las compras. Alrededor de 100 personas son las responsable. de mantener
actualizada la base de datos de Amazon.
Una base de datos se puede generar y mantener manualmente o estar computerizada. Por ejemplo, el catlo
go de cartas de una biblioteca es una base de datos que se puede crear y mantener de forma manual. Una base
de datos computerizada se puede crear y malltener con un grupo de aplicaciones e.critas especlficamente para
e.a tarea o mediante Wl sistema de administracin de bases de datos. En este libro slo nos ocuparemos de las
bases de datos computerizadas.
Un sistema de administracin de datos

(DBMS, database management SJ>Stem)

e. una coleccin de pro

gramas que permite a los usuarios crear y mantener w1a base de datos. El DBMS es un sLYtema

de propsito general

de sojiware
de diifiJJicin, constmccill, manipulacin y comparticin de

que facilita los procesos

bases de datos entre varios usuarios y aplicaciones. Definir una base de datos implica especificar los tipos de
datos, estructuras y restricciones de los datos que se almacenarn en la base de datos. La definicin o infor
macin descriptiva de w1a base de datos tambin se almacena en esta ltima en forma de catlogo o diccio
nario de la base de datos; es lo que se conoce como metadatos. La construccin de la base de datos e. el pro
ceso consistente en almacenar los datos en algn medio de almacenamiento controlado por el

DBMS. La

manipulacin de una base de datos incluye funcione. como la consulta de la base de datos para recuperar
datos especficos, actualizar la base de datos para reflejar los cambios introducidos en el minimundo y gene
rar informes a partir de los datos. Compartir w1a base de datos pennite que varios usuarios y programas acce
dan a la base de datos de forma simultnea.
Una aplicacin accede a l a base de datos enviando consultas o solicitudes de datos al DBMS. Una consulta1
normalmente provoca la recuperacin de algw1os datos; una transaccin puede provocar la lectura o la escri
tura de algunos datos en la base de datos.
1
Una aplicacin accede a l a base de datos enviando consultas o solicitude. de datos al DBMS. Una consulta
normalmente provoca la recuperacin de algw10s datos; una transaccin puede provocar la lectura o la escri
tura de algunos datos en la base de datos.
Otras f unciones importalltes ofrecidas por el
IO durante Wl largo periodo de tiempo.
mie:nt.n

rlftnoo cil hArrlwArt: n

DBMS

son l a

La proteccin

1 nftwnrt:

proteccin de la base de datos y su ma!ltenimien


incluye la proteccin del sistema contra el funciona

(C'.$1.rlM) y la. pmlP.f'.r.ilm dP. /11 .IP.guridttd r:nntrA. M'.Ct"',.f<:O no

autorizado o malintencionado. Una gran base de datos tlpica puede tener un ciclo de vida de muchos aos, por
lo que el DBMS debe ser capaz de mantener el sistema de bases de datos permitiendo que el sistema evolu
cione segn cambian los requisitos con el tiempo.
No es necesario utilizar software DBMS de propsito general para implementar una base de datos compute
rizada. Podriamos escribir nuestro propio conjunto de programas para crear y mantener la base de datos; en
realidad, podramos crear nuestro propio software

DBMS

de

propsito especial.

En cualquier caso (utilice

mos o no un DBMS de propsito general), normalmente tenemos que implantar w1a cantidad considerable de
software complejo. De hecho, la mayor!a de los

DBMS

son sistemas de software muy complejos.

Como colofn de nue.tras definiciones iniciales, denominaremos sistema de bases de datos a la combina
cin de base de datos y software DBMS. La Figura 1.1 ilustra algunos de los conceptos que hemos explicado
basta ahora.

Captulo

Bases de datos y usuarios de bases de datos

Fig ura 1.1. Entorno de un sistema de bases de datos simplificado.


Usuarios/Programadores

Sistema de bases
de datos
Programas de aplicacin

Software
DBMS

/Consultas[

Software para procesar


consuH
as 1 Programas

Software para a cceder a


los datos almacenados

r-

/........_

t'--Definicin de --la
base de datos
almacenada

..."1.2

(
metadatos)

'

r-

"-.

........_
---

Base de datos
almacenada

--...
/'

,--"-

--...

/'

Un ejemplo
r

Vamos a ver un ejemplo con el que la mayoa de Jos Jectore. estarn familiarizados:

1.2

una base

de datos

Un ejemplo
r

Vamos a ver un ejemplo con el que la mayoa de Jos Jectore. estarn familiarizados:

una

base de datos

UNIVERSIDAD para el m a ntenimiento de la infonnacin relativa a Jos estudiante., cursos y calificaciones en


un entorno universitario. La Figuro 1.2 muestra la e.ructura de la base de datos y algunos datos a modo de
ejemplo. La hase de datos est organizada en cinco archivos, cada uno de Jos cuale. almacena registros de datos
2
del mismo tipo. El archivo ESTUDIANTE almacena Jos datos de todos Jos estudiantes, el archivo CURSO
almacena Jos datos de todos Jos curso, el archivo SECCIN almacena Jos datos de las secciones de un curso,

el archivo INFORME_CALIF almacena las calificaciones que los estudiantes han obtenido en la di tintas sec
ciones que han completado, y el archivo PRERREQUISITO almacena Jos prerrequisitos da cada curso.
Paro

definir esta base

de datos debemos e.pecificar la estructura de los registros de cada archivo detallando

Jos diferente. tipos de elementos de datos que se almacenarn en cada registro. En la Figura 1.2, cada regis
tro ESTUDIANTE incluye Jos datos que representan el nombre, el nmero, la clase (como principiante o
e.tudiante de segundo aio o

'2',

'1' ,

etctera) y la e.pecialidad (como, por ejemplo, matemticas o 'MAT', cien

cias de la computacin o 'CC'); cada registro de CURSO incluye Jos datos que representan el nombre, el
nmero y las horas de crdito del curso, asi como el departamento que ofrece el curso; etctero. Tambin hay
que e.ecificar

un tipo de datos paro cada elemento de datos de un registro. Por ejemplo, podemos especifi

car que el Nombre de un ESTUDIANTE es una cadena de caracteres alfubticos, que NumEstudiante es

1.2
Figura 1.2. Base de datos que almacena la informacin de estudiantes y cursos.
ESTUDIANTE
Nombre

NumEstudiante

Clase

Especialidad

Luis

17

es

Carlos

es

CURSO
NombreCurso

NumCurso

Horas

Departamento

Introduccin a la computa cin

CC1310

ce

Estrucu
t ras de datos

CC3320

ce

MAT2410

MAT

CC3380

ce

Matemticas discretas
Bases de datos
SECCIN
IDSeccion

NumCurso

Semestre

Ao

Profesor

85

MAT2410

Otoo

04

Pedro

92

CC1310

Otoo

04

Ana

102

CC3320

Primavera

05

Elisa

112

MAT2410

Otoo

05

Antonio

119

CC1310

Otoo

05

Juan

1 35

CC3380

Otoo

05

Enrique

INFORME_CALIF

Un ejemplo

INFORME_CALIF
NumEstudiante

I DSeccion

Nota

17

112

17

119

85

92

102

135

PRERREQUISITO
NumCurso

NumPrerrequisito

CC3380

CC3320

CC3380

MAT2410

CC3320

CC1310

Capitulo 1

Bases de datos y usuarios de bases de datos

un entero o que la Nota de INFORME_CALIF es un solo carcter del conjunto {'A', 'B', 'C', 'D', 'F', '1'}.
Tambin podemos utilizar un esquema de codificacin para representar los valores de tul elemento de datos.
Por ejemplo, en la Figura 1.2 representamos la
para los estudiantes de segundo ao,

Clase de un ESTUDIANTE

como

para los principiante.,

3 para los junior, 4 para los snior y 5 para los estudiantes graduados.

La cotslmccill de la base de datos UNIVERSIDAD se realiza almacenando los datos que representan a todos
los estudiantes, cursos, secciones, informe. de callificaciones y prerrequisitos a modo de registro en el archi
vo adecuado. Los registros de los distintos archivos se pueden relacionar. Por ejemplo, el registro correspon
diente a Luis en el archivo ESTUDIANTE est relacionado con dos registros del archivo INFORME_CALIF que
especifican las calificacione. de Luis en dos secciones. De forma parecida, cada registro del archivo PRERRE
QUISITO relaciona dos registros de curso: lUlO representa el curso y el otro representa el requisito previo. La
mayoria de las bases de datos de medio y gran tamao cuentan con muchos tipos de registros y tienen muchas

relaciones entre los registros.


La manipulacill de bases de datos implica la consulta y la actualizacin. A continuacin tiene algw10s ejem

plos de consultas:

Recuperar el certificado de estudios (listado de todos los cursos y calificaciones) de 'Luis'.


Listado con los nombres de los estudiantes que tomaron la seccin del curso 'Bases de datos' ofrecida
en otoo de 2005, asi como sus caliticacione. en e.a seccin.

Listado de los prerrequisitos del curso 'Base. de datos'.


Y estos son algw10s ejemplos de actualizaciooe.:
Cambiar la clase de 'Luis' a estudiante de segundo at'o.
Crear una seccin nueva para el curso 'Bases de datos' para este semestre.
Introducir una nota 'A' para 'Luis' en la seccin 'Bases de datos' del ltimo seme.tre.
Esta consultas y modificacione. informales deben especificarse con exactitud en el lenguaje de consulta del
DBMS antes de poder ser proce.adas.
A e.tas alturas, e. til de.cribir la base de datos como una parte de una tarea ms amplia conocida como sis
tema de informacin dentro de cualquier organizacin. El departamento de Tecnologia de la informacin (TI,

lnfmnalion Technology) de una empre.a diser'a y mantiene un

sistema de informacin compue.to por varios

computadores, sistemas de almacenamiento, aplicacione. y baes de datos. El diseo de una aplicacin nueva
para una base de datos existente o el diseo de una base de datos nueva empieza

con una fase

denominada

definicin de requisitos y anlisis. Estos requisitos son documentados en detalle y transformados en un dise

o couceptual que se puede representar y manipular mediante algunas herra mientas computerizadas, de modo
que en una implementacin de base de datos puedan mantenerse, modificarse y transformarse fcilmente. E n
e l Capitulo

introduciremos u n modelo denominado Entidad-Relacin que se utiliza con este propsito. El

1
\

el Capitulo

introduciremos un modelo denominado Entidad-Relacin que se utiliza con este propsito. El

diseo despus se convierte en un diseo lgico que se puede expresar en un modelo de datos implementado
en un DBMS comercial. Del Captulo 5 en adelante destacaremos tul modelo de datos conocido como mode
lo de Datos relacionales. Actualmente es la metodologa ms popular para disear e implementar bases de
datos utilizando DBMSs (relacionales). La etapa fnal es el diseo fisico, durante l a que se proporcionan espe
cificaciones suplementarias para el almacenamiento y acceso a la base de datos. El diseo de base de datos se
implementa y rellena con datos reales y se realiza un mantenimiento continuado a fin de reflejar el estado del
minimundo.

1.3

Caractersticas de la metodologa
de bases de datos

Unas cuantas caractersticas distinguen l a metodologa de bases de datos de la metodologa tradicional de pro
gramacin

con archivos. En

el procesamiento tradicional de archivos, cada usuario defne e implementa Jos

1.3

Caractersticas de la metodologa de bases de datos

archivos necesarios para w1a aplicacin concreta como parte de la programacin de esa aplicacin. Por ejem

{ cacin de califc
i aciones, puede encargarse del mantenimiento de un archi
plo, un usuario, la oficina de J!Oiii
vo con Jos estudiantes y sus calificaciones. Ls programas encargados de imprimir el certificado de estudios
de tul estudiante e introducir nuevas calificaciones en el archivo se implementan como parte de la aplicacin.
Un segundo usuario, la

oficina de contabilidad,

puede encargarse del seguimiento de las cuotas de Jos estu

diantes y sus pagos. Aunque ambos usuarios estn interesados en datos relacionados con Jos estudiante., cada
uno mantiene archivos separados (y programas para la manipulacin de esos archivos), porque cada uno
requiere algunos datos que no estn disponible. en Jos archivos del otro. Esta redundancia en la definicin y
el almacenamiento de datos da como resultado un derroche de e.pacio de almacenamiento y unos e.fuerzos
redw1dantes por mantener al da datos comunes.
En la metodologa de base. de datos se mantiene un nico almacn de datos, que se define w1a sola vez, y al
que acceden varios usuarios. En Jos sistemas de archivos cada aplicacin tiene libertad para asignar un nom
bre independientemente a Jos elementos de datos. Por el contrario, en una base de datos, Jos nombres o eti
quetas de Jos datos se definen una vez, y son utilizados por consultas, transacciones y aplicacione.. Las prin
cipales caracteristicas de la metodologa de bases de datos frente a la metodologa de proce.amiento de archi
vos son las siguientes:
Naturaleza autodescriptiva de tul sistema de bases de datos.

Aislamiento entre programas y datos, y abstraccin de datos.

Soporte de varias vistas de los datos.

Comparticin de datos y proce.amiento de transacciones multiusuario.

Explicaremos cada una de estas caractersticas en una seccin separada. En las Secciones 1 .6 a 1.8 hablare
mos de otras caracteristicas adicionale. de Jos sistemas de base. de datos.

1.3.1

Naturaleza autodescriptiva de un sistema de bases de datos

Una caracterstica fundamental de la metodologa de bases de datos es que el sistema de bases de datos no
slo contiene la propia base de datos, sino tambin una completa definicin o descripcin de la estructura de
la base de datos y sus restricciones. Esta definicin se almacena en el catlogo DBMS, que contiene informa
cin como la e.tructura de cada archivo, el tipo y el formato de almacenamiento de cada elemento de datos,
y distintas restricciones de Jos datos. La intonnacin almacenada en el catlogo se denomina metadatos y
describe la estrucrura de la base de datos principal (vase la Figura 1. 1).
El software DBMS y Jos usuarios de la base de datos utilizan el catlogo cuando necesitan informacin sobre
la estructura de la base de datos. Un paquete de software DBMS de propsito general no se escribe para una
aplicacin de base de datos especifica. Por consiguiente, debe referirse al catlogo para conocer la estmcrura
de Jos archivos de una base de datos especifica, como el tipo y el tonnato de Jos datos a Jos que acceder. El
software DBMS debe funcionar igual de bien con cualquier cantidad de aplicaciolles de hase.r de datos (por
ejemplo, la base de datos de w1a universidad, la base de datos de un banco o la base de datos de una empre
sa), siempre y cuando la definicin de la base de datos est almacenada en el catlogo.
En el procesamiento de archivos tradicional, normalmente la defmicin de datos fonna parte de Jos progra
mas de aplicacin. As pues, esas aplicaciones estn restringidas a trabajar slo con wUt

hase de datos e.rpe


c!fica, cuya e.tructura est declarada en dichas aplicaciones. Por ejemplo, una aplicacin escrita en C+l- puede
tener declaracione. struct o class, y Wl programa COBOL puede tener sentencias de "data division" para defi

nir sus archivos. Mientras el software de proce.amiento de archivos slo puede acceder a bases de datos espe
cificas, el software DBMS puede acceder a distintas bases de datos extrayendo del catlogo las definiciones
de las mismas y utilizando despus esas definiciones.
Para el ejemplo de la Figwa 1.2, el catlogo DBMS almacenar las definiciones de todos Jos archivos mos
trados. La Figura

1.3 muestra algunas entradas de ejemplo en un catlogo de base de datos.

El diseiador de

1o

Capitulo 1

Bases de datos y usuarios de bases de datos

Figura 1.3.

Ejemplo

de catlogo de base de datos para la base de datos de la Figura

1.2.

RELACIONES
Nombre Re lacion

NumDeC olumnas

ESTUDIANTE

CURSO

SECCIN

INFORME_CALIF

PRERREQUISITO

COLUMNAS

NombreColumna

TipoDatos

PerteneceARelacion

Nombre

Carcter (30)

ESTUDIANTE

NumEstudiante

Carcter (4)

ESTUDIANTE

Clase

Entero (1)

ESTUDIANTE

Especialidad

TipoEspecialidad

ESTUDIANTE

NombreCurso

Carcter (1O)

CURSO

NumCurso

XXXXNNNN

CURSO

....

....

.....

....

....

.....

....

....

.....

NumPrerrequisito

XXXXNNNN

PRERREQUISITO

Nolu: TipoEspecialidad se dene como

lUl

das. XXXXNNNN se utiliza para definir

i
tipt) enwnerado Ot.)n todas la.q espec alidades Ct)noc::i

un

tipo con cuatro caracteres alranurnricos segui dos

pt)f cuatro ditos.

datos especifica estas definiciones antes de crear la base de datos y se almacenan en el catlogo.
Siempre que se crea una solicitud para acceder, por ejemplo, al Nombre de un registro de ESTUDIANTE, el
software DBMS recurre al c atl ogo para determinar la estructura del archivo ESTUDIANTE y la posicin y el
i
tamao del elemento de datos Nombre dentro de un reg stro ESTUDIANTE. Por el contrario, en una aplica
cin de procesamiento de archivos tpica, la estructura del archivo y, en caso extremo, la ubicacin exacta de
Nombre dentro de Wl registro ESTUDIANTE tambin estn coditicadas dentro de cada programa que accede
a dicho elemento de datos.
la

base

de

1.3.2 Aislamiento entre programas y datos, y abstraccin de datos


i

archivos tradcional, la estructura de los archivos de datos est incrustada en las a pli
caciones, por Jo que J os cambios que se introducen en la e.tructur a de un archivo pu eden obligar a realizar
cambios en todos los programas que acceden a e.e archivo. Por el contrario, los programas que acceden a un
i
DBMS no necesitan e.os cambos en la mayora de Jos casos. La estructura de los archivos de datos se alma
cena en el c atl ogo DBMS, independi entemente de los programas de acceso. Llamaremos a esta propie dad
independencia programa-datos.
En el procesamielllo d e

Por ejemplo, Wl programa de acceso a archivos puede escribirse de modo que slo pueda acceder a Jos regis
tros ESTUDIANTE de la estructura mostrada en la Figura 1.4.

Si queremos aadir otra porcin de

datos a cada

registro ESTUDIANTE, por ejemplo FechaNac, un programa semejante ya no funcionar y deber modificar

DBMS, slo tendremos que cambiar la descripcin de Jos registros ESTU


1.3) para reflejar la inclusin del nuevo elemento de datos FechaNac;
ningn programa cambia. L a siguiente vez que un programa DBMS haga referencia al catlogo, se podr uti
lizar y acceder a la estructura nueva de Jos registros ESTUDIANTE.

se. Por el contrario, en un entorno

DIANTE

en el catlogo (vase la Figura

En algunos tipos de sistemas de bases de datos, como Jos sistemas orientados a objetos y Jos de objetos rela
cionales (consulte Jos Captulos

20 a 22), Jos usuarios pueden definir operaciones sobre Jos datos como parte
operacin (tambin denominada .fimcill o mtodo) se puede

de las definiciones de la base de datos. Una


especificar de dos formas. La

interfaz (o.firma) de una operacin incluye el nombre de la operacin y Jos tipos

de datos de sus argumentos (o parmetros). La implememacin (o mtodo) de la operacin se especifica sepa


radamente y puede modificarse sin que la interfaz se vea afec-tada. Las aplicacione. de usuario pueden operar
sobre Jos datos invocando e.tas operaciones por sus nombres y argumentos, independientemente de cmo
estn implementadas las operaciones. Esto

puede recibir el nombre de independencia programaperacin.

La caracteristica que permite la independencia programa-datos y la independencia programa-operacin se


denomina

abstraccin de datos. Un DBMS

proporciona a Jos usuarios Wla

representacin conceptual

de

Jos datos que no incluye muchos de Jos detalles de cmo estn almacenados Jos datos o de cmo estn imple
mentadas las operaciones. Informalmente, un

modelo de datos es

un tipo de abstraccin de datos que se uti

liza para proporcionar esa representacin conceptual. El modelo de datos utiliza conceptos lgicos, como
objetos, sus propiedade. y sus relaciones, Jo que para la mayora de los usuarios es ms fcil de entender que
Jos conceptos de almacenamiento en el computador. Por ello, el modelo de datos

oculta Jos

detalles del alma

cenamiento y de la implementacin que no resultan interesantes a la mayora de Jos usuarios de bases de datos.

A modo de

ejemplo, considere las Figuras

1.2

y 1.3. La implementacin interna de un archivo puede definir

se por la longitud de su registro (el nmero de caracteres o bytes de cada registro) y cada elemento de datos
puede especificarse mediante su byte inicial dentro de un registro y su longitud en byte.. El registro ESTU

DIANTE

se representara entonce. como se muestra en la Figura

1.4. Pero

un usuario tipico de una base de

datos no se preocupa por la ubicacin de cada elemento de datos dentro de Wl registro, n i por s u longitud; ms
bien, la preocupacin del usuario e.t en que cuando haga una referencia al Nombre de un ESTUDIANTE quie
re obtener el valor correcto. En la Figura

DIANTE. El DBMS puede

1.2

se ofrece una representacin conceptual de Jos registros ESTU

ocultar a Jos usuarios de la base de datos muchos otros detalles de la organizacin

del almacenamiento de Jos datos (como las rutas de acceso especificadas en un archivo); Jos detalles sobre el
almacenamiento se explican en Jos Captulos 13 y 14.

E n la metodologla de bases de datos, la estructura detallada y la organizacin de cada archivo se almacenan


en el catlogo. Los usuarios de bases de datos y los programas de aplicacin hacen referencia a la represen
tacin conceptual de los archivos y, cuando los mdulos de acceso al archivo DBMS necesita detalles sobre
el almacenamiento del archivo, el DBMS los extrae del catlogo. Se pueden utilizar muchos modelos de datos
para proporcionar esta abstraccin de datos a los usuarios de bases de datos. Una buena parte de este libro est

Fig ura 1.4. Formato de almacenamiento interno de un registro ESTUDIANTE, basndose en el catlogo de
la base de datos de la Figura 1.3.

Nombre del elemento de datos

Posicin inicial en el regist ro

Longitud en caracteres (bytes)

30

NumEstudiante

31

Clase

35

Especialidad

36

Nom bre

12

Captulo 1

Bases de datos y usuarios de bases de datos

dedicada a pre.entar distintos modelos de datos y los conceptos que utilizan para abstraer la representacin
de los datos.
En las bases de datos orientadas a objetos y de objetos relacionales, el proceso de abstraccin no slo inclu
ye la estructura de datos, sino tambin las operaciones sobre los datos. Estas operaciones proporcionan una
abstraccin de las actividade. del minimundo normalmente entendidas por los usuarios. Por ejemplo, se puede
aplicar Wla operacin

CALCULAR_C M a un objeto ESTUDIANTE para calcular la caliticacin media. Dichas

operaciones pueden ser invocadas por las consultas del usuario o por las aplicaciones, sin necesidad de cono
cer los detalles de cmo estn implementadas e.as operaciones. En este sentido, una abstraccin de la activi
dad del mioimuodo queda a disposicin de los usuarios como una

'

1.3.3

operacin abstracta.

Soporte de varias vistas de los datos

Normalmente una base de datos tiene muchos usuarios, cada uno de los cuate. puede necesitar una pers
pectiva o vista diferente de la base de datos. Una

\'isla puede ser

un subconjunto de la base de datos o puede

contener datos \'irtuales derivados de los archivos de la base de datos pero que no e.to explicitamente alma
cenados. Algunos usuarios no tienen la necesidad de preocuparse por si los datos a los que se refieren e.tn
almacenados o son derivados. Un DBMS multiusuario cuyos u.suarios tienen variedad de diferente. aplicacio
nes debe ofrecer facilidade. para definir varias vistas. Por ejemplo, un u.suario de la base de datos de la Figura
1.2 puede estar intere.ado nicamente en acceder e imprimir el certificado de estudios de cada estudiante; la
Figura 1.5(a) muestra l a vista para este u.suario. Un segundo usuario, que slo est interesado en comprobar
que los estudiante. cumplen con todos los prerrequisitos de cada curso para poder registrarse, puede requerir
la vista representada en la Figura 1.5(b ).

Fig ura 1.5. Dos vistas derivadas de la base de datos de la Figura 1.2. (a) Vista del certificado de estudios. (b)

Vista de los prerrequisitos del curso.


CERTIFICADO

Figura 1.5. Dos vistas derivadas de la base de datos de la Figura 1.2. (a) Vista del certificado de estudios. (b)
Vista de los prerrequisitos del curso.
CERTIFICADO
NombreEstudiante

Luis

Carlos

e
CertificadoEstudiant
NumCurso

Nota

Semestre

IDSeccion

CC1 310

Otoo

05

119

MAT2410

Otoo

05

11 2

MAT2410

Otoo

04

85

CC1 310

Otoo

04

92

CC3320

Primavera

05

102

CC3380

Otoo

05

135

(a)
PRERREQUISITO_CURSO
NombreCurso

A o

NumCurso

Bases de datos

CC3380

Estrucu
t ras de datos

CC3320

Prerrequisitos
CC3320
MAT2410
CC1310
(b)

1.4

1.3.4

Actores de la escel\8

Comparticin de datos y procesamiento de


transacciones multiusuario

Un DBMS multiusuario, como su nombre indica, debe permitir que varios usuarios puedan acceder a la base
de datos al mismo tiempo. Esto es esencial si Jos datos destinados a varias aplicaciones sern integrados y
mantenidos en una sola base de datos. El DBMS debe incluir software de

control de la concurrencia

para

que esos varios usuarios que intentan actualizar Jos mismos datos, Jo hagan de un modo controlado para que
el resultado de la actualizacin sea correcto. Por ejemplo, si varios agentes de viaje. intentan reservar un
asiento en Wl vuelo, el DBMS debe garantizar que en cada momento slo Wl agente tiene acceso a la asig
nacin de ese asiento para un pasajero. Estos tipos de aplicacione. se denominan, por Jo general, aplicacio
nes de procesamiento de transacciones

en

llnea

(OLTP, online tran.<action proces.<ing). Un papel funda

mental del software DBMS multiusuario es garantizar que las transacciones concurrentes operan correcta y
eficazmente.
El concepto de transaccin es cada vez ms importante para las aplicaciones de hases de datos. Una transac
cin es un programa

en ejecucill o proceso que

incluye uno o ms acce.os a la base de datos, como la lec

tora o la actualizacin de Jos registros de la misma. Se supone que w1a transaccin ejecuta Wl acco lgica
mente correcto a la base de datos si Jo ejecut ntegramente sin interferencia de otras transaccione.. El DBMS
debe implementar varias propiedades de transaccin. La propiedad

aislamiento

garantiza que parezca que

cada transaccin se ejecuta de forma aislada de otras transacciones, aunque puedan e.tar ejecutndose cien
tos de transaccione. al mismo tiempo. La propiedad de

atomicidad garantiza que

se ejecuten o todas o nin

guna de las operaciones de bases de datos de una transaccin. En la Parte 5 se explican las transacciones ms
en profundidad.
Las caractersticas anteriores son muy importante. para distinguir un DBMS del software de proce.amiento
de archivos tradicional. En la Seccin 1.6 explicamos las caracterlsticas adicionale. que caracterizan un
DBMS. No obstante, en primer lugar clasificaremos los diferentes tipos de personas que trabajan en el entor
no de un sistema de bases de datos.

1.4 Actores de la escena


En el caso de una base de datos personal pequeia, como la lista de direccione. mencionada en la Seccin 1.1,
un usuario normalmente define, construye y manipula la base de datos, de modo que no se comparten datos.
Sin embargo, en empresas grandes, muchas personas estn implicada en el diseo, uso y mantenimiento de

una base de datos grande con cientos de usuarios. En esta seccin identificamos las personas cuyos trabajos

actores de la escena. En la Seccin


entre bambalituJs (los que trabajan en el

implican el uso diario de una base de datos grande; las denominaremos


1 . 5 hablaremos de las personas que podrlamos llamar trabajadores

mantenimiento del entorno del sistema de bases de datos pero que no estn activamente interesados en la pro
pia base de datos).

1.4.1

Administradores de las bases de datos

En cualquier empresa donde muchas personas utilizan Jos mismo recursos, se necesita un administrador jefe
que supervise y administre e.os recursos. En un enton1o de bases de datos, el recurso principal es la base de
datos en s misma, mientras que el recurso secundario es el DBMS y el software relacionado. La administra
cin de estos recursos es responsabilidad del

trator). El DBA es responsable del acceso

administrador de la base de datos (DBA, dJJtahase adminis

autorizado a la base de datos, de la coordinacin y monitorizacin

de su uso, y de adquirir los recursos software y hardware rnecesarios. El DBA tambin es responsable de pro
blemas como las brechas de seguridad o de w1os tiempos de respuesta pobres. En las empresas grande., el
DBA est asistido por un equipo de personas que llevan a cabo estas funciones.

13

14

Captulo 1 Bases de datos y usuarios de bases de datos

1.4.2

Diseadores de las bases de datos

Los diseadores

de las bases de datos son Jos responsables de identificar Jos datos que se almacenarn en la

base de datos y de elegir las estructuras apropiada para repre.entar y almacenar esos datos. Estas tareas se
acometen principalmente ante. de implementar y rellenar la base de datos. Es re.ponsabilidad de los disea
dores comunicarse con todos Jos presuntos usuarios de la base de datos para conocer sus requisitos, a fin de
crear un diseo que satisfaga sus nece.idades. En muchos casos, Jos diseadores forman parte de la plantilla
del DBA y se les pueden asignar otras responsabilidades una vez completado el diseo de la base de datos.
Estos diseadores normalmente interactan con los grupos de usuarios potenciales y desarrollan \istas de la
base de datos que satisfacen Jos requisitos de datos y procesamiento de esos grupos. Cada vista se analiza de.
pus y se

i11tegra con las vistas

de Jos otros grupos de usuarios. El diset


lo final de la base de datos debe ser

capaz de soportar Jos requisitos de todos Jos grupos de usuarios.

1.4.3

Usuarios finales

Los usuarios finales son las personas cuyos trabajos requieren acceso a la base de datos para realizar consul-

tas, actualizacione. e informes; la base de datos existe principalmente para ser utilizada. Los usuarios tinale.
se pueden clasificar en varias categorlas:

Los usuarios finales casuales acceden ocasionalmente a la base de datos, pero pueden necesitar una
informacin diferente en cada momento. Utilizan un sofisticado lenguaje de consulta de bases de datos
para especificar sus peticione. y normalmente son administradore. de nivel medio o alto u otros usua
rios interesados.

Los usuarios finales principiantes o paramtricos constituyen una parte considerable de Jos usua
Su labor principal gira entorno a la consulta y actualizacin constan
tes de la base de datos, utilizando tipos de consultas y actualizaciones estndar (denominadas
transacciones enlatadas) que se han programado y probado cuidadosamente. Las tareas que estos
rios tinale. de las bases de datos.

usuarios llevan a cabo son variadas:

Los cajeros bancarios comprueban Jos balance. de cuentas, asl como las retirada y Jos depsitos
de fondos.

Los agentes de viajes que reservan en aerollneas, hoteles y compalas de alquiler de automvile.
comprueban la disponibilidad de una solicitud dada y hacen la reserva.

Los cajeros bancarios comprueban los balances de cuentas, as como las retirada y los depsitos
de fondos.

Los agentes de viajes que reservan en aerolineas, hoteles y compaas de alquiler de automvile.
comprueban la disponibilidad de una solicitud dada y hacen la reserva.

Los empleados de las estaciones receptoras de las compaas navieras introducen las identificacio
nes de los paquetes mediante cdigos de barras y dem
s informacin de.criptiva a traYs de boto
nes para actualizar w1a base de datos central de paquete. recibidos y en trnsito.

Entre los

usuarios finales sofisticados

se encuentran los ingenieros, los cientificos, los analistas

comerciales y otros muchos que e.to completamente familiarizados con el DBMS a fin de implemen

tar sus aplicaciones y satisfacer sus complejos requisitos.


U>s usuarios finales n
i dependientes mantienen bases de datos personale. utilizando paquetes de pro

gramas confeccionados que proporcionan unas interface. fciles de usar y basadas en mels o grfi
cos. Un ejemplo es el usuario de un paquete de impuestos que almacena sus datos financieros perso
nales de cara a la declaracin de la renta.
Un DBMS ti pico proporciona muchas formas de acceder a una base de datos. U>s usuarios finales principian
tes t
ienen que aprender muy poco sobre los serv
icios del DBMS; simplemente tienen que familiarizarse con
las interfaces de usuario de las transacciones estndar diseadas e implementada para su uso. Los usuarios
casuales slo se aprenden w1os cuantos servicios que pueden utilizar repetidamente. U>s usuarios sofisticados
intentan aprender la mayora de los servicios del DBMS para satisfacer sus complejos requisitos. Los usua
rios independientes normalmente llegan a ser expertos en un paquete de software especifico.

1.6 Ventajas de utilizar una metodologla DBMS

1.4.4

Analistas de sistemas y programadores de aplicaciones


(ingenieros de software)

Los analistas de sistemas determinan los requisitos de los usuarios finales, especialmente de los usuarios fina
les principiantes y paramtricos, asl como las especificaciones de desarrollo para las transacciones enlatadas
que satisfacen esos requisitos. Los programadores de aplicaciones implementan esas especificaciones como
programas; despus, verifican, depuran, documentan y mantienen esas transacciones enlatadas. Dichos ana
listas y programadores (normalmente conocidos como desarroUadores de software o ingenieros de softwa
re) deben familiarizarse con toda las posibilidades proporcionadas por el DBMS al objeto de desempear sus
tareas.

1.5

Trabajadores entre bambalinas

Adems de los

qne disean, utilizan y administran una base de datos, hay otros usuarios que estn asociados
con el diseo, el desarrollo y el funcionamiento de un emorno de software y sistema DBMS. Estas personas
normalmente no e.to interesadas en la base de datos propiamente dicha. Los denominaremos trabajadores
e11tre bambalinas y los dividiremos en las siguientes categorlas:

Diseadores e implementadores de sistemas DBMS. Disean e implementan los mdulos y las inter
faces DBMS como un paqnete software. Un DBMS es tul sistema software muy complejo compuesto
por muchos componente., o mdulos, incluyendo los de.tinados a implementar el catlogo, procesar
el lenguaje de consulta, procesar la interfaz, acceder y almacenar los datos en tul bfer, controlar la
concurrencia, y manipular la recuperacin y la segwidad de los datos. El DBMS debe interactuar con
otro software de sistema, como el sistema operativo y los compiladores de diversos lenguajes de pro
gramacin.

DesarroUadores de herramientas. Disean e implementan herramientas (paquetes de software qne


facilitan el modelado y el diseo de la base de datos, el diseo del sistema de bases de datos y la mejo
ra del rendimiento). Las herramientas son paqnete. opcionales que a menudo se compran por separa
do. Entre ellas podemos citar los paquetes para el diseo de base. de datos, la monitorizacin del ren
dimiento, las interfaces grficas o en otros idiomas, el prototipado, la simulacin y la generacin de
datos de prueba. En muchos casos, los fabricantes de software independiente desarrollan y comercia
lizan e.tas herramientas.

15

Desarrolladores de herramientas. Disean e implementan herramientas (paquetes de software que


facilitan el modelado y el diseo de la base de datos, el diseo del sistema de bases de datos y la mejo
ra del rendimiento). Las herramientas son paquetes opcionales que a menudo se compran por separa
do. Entre ellas podemos citar los paquetes para el diseo de base. de datos, la monitorizacin del ren
dimiento, las interfaces grficas o en otros idiomas, el prototipado, la simulacin y la generacin de
datos de prueba. En muchos casos, los fabricantes de software independiente desarrollan y comercia
lizan e.tas herramientas.

Operadores y personal de mantenimiento (personal de administracin del sistema). Son los respon
sable. de la ejecucin y el mantenimiento real del entorno hardware y software para el sistema de base.
de datos.

Aw1qne estas categorias de trabajadores entre bambalinas se encargan de que el sistema de bases de datos est
disponible para los u.ruarios finales, normalmente no utilizan la base de datos para su. propios fines.

1.6

Ventajas de utilizar una metodologa

En esta seccin explicaremos algunas de las ventajas de utilizar un DBMS

y las

DBMS

capacidades que un buen

DBMS debe poseer. Estas capacidades se aaden a las cuatro caracteristicas principales explicadas en la
Seccin 1.3. El DBA debe utilizar estas capacidades para acometer una variedad de objetivos relacionados con
el diseo, la administracin y el u.o de una base de datos multiusuario grande.

1.6.1

Control de la redundancia

En el desarrollo tradicional de software que hace nso del proce.amiento de archivos, cada grupo de usuarios

mantiene sus propios archivos para manipular sus aplicaciones de proce.amiento de datos. Por ejemplo,

16

Captulo 1 Bases de datos y usuarios de bases de datos

vamos a retomar la base de datos UNIVERSIDAD de la Seccin 1.2; aqu, el personal que registra Jos cursos
y la oficina de contabilidad podriau ser Jos dos grupos de usuarios. En la metodologa tradicional, cada grupo
mantiene sus propios archivos de estudiantes. La oficina de contabilidad guarda datos sobre el registro y la
informacin de facturacin relacionada, mientras que la oficina de registro hace un seguimiento de Jos cursos
y las calificaciones de Jos estudiantes. Aparte de estos dos grupos, puede haber otros que dupliquen parte o
todos estos mismos datos en sus archivos propios.

'

'

La redundancia resultante de almacenar Jos mismos datos varias veces conduce a serios problemas. En pri
mer Jugar, las actualizaciones lgicas sencillas (como la introduccin de los datos de un estudiante nuevo) hay
que hacerlas varias veces: w1a por cada archivo donde se almacenen Jos datos de Jos estudiantes. Esto lleva a
una duplicacill del esf
i erzo. En segundo Jugar, se derrocha espacio de almacenamie11to al guardar repetida.
mente Jos mismos datos, y este problema puede llegar a ser muy serio en las bases de datos ms graudes. En
tercer Jugar, Jos archivos que representan los mismos datos pueden acabar siendo incoherentes, Jo que puede
ocurrir cuando una determinada actualizacin se aplica a unos archivos y a otros no. Incluso si una actualiza
cin (por ejemplo, la adicin de un e.tudiante nuevo) se aplica a todos Jos archivos adecuados, Jos datos rela.
cionados con ese estudiante pueden ser incoherentes porque las actualizaciones hao sido aplicadas por los
distintos grupos de usuarios. Por ejemplo, Wl grupo de usuarios puede introducir errneamente la fecha de
nacimiento del estudiante (' 19-ENE-1988'), mientras que otro grupo la introduce correctamente ('29-ENE1988').
En la metodologa de bases de datos, las vistas de Jos diferentes grupos de u.warios se integran durante el dise
io de la base de datos. Idealmente, debemos tener un diseo que almacene cada elemento de datos lgico
(como el nombre o la fecha de nacimiento del estudiante) slo e11 rm lugar de la base de datos. Este hecho
garantiza la coherencia y ahorra e.pacio de almacenamiento. Sin embargo, en la prctica, a veces es necesa
rio recurrir a w1a redundancia controlada para mejorar el rendimiento de las consultas. Por ejemplo, pode
mos almacenar NombreEstudiante y NumCurso de forma redundante en un archivo INFORME_CALIF (vase
la Figura 1.6[a)) porque siempre que recuperemos un registro de este ltimo, queremos recuperar el nombre
del e.tudiante y el nmero del curso, jw1to con la calificacin, el nmero de estudiante y el identificador de
la seccin. Al colocar todos Jos datos jwltos, no tenemos que bu.car en varios archivos para recopilarlos. En
estos casos, el DBMS debe tener la capacidad de controlar esta redundancia para evitar las incoherencias entre
Figura 1.6. Almacenamiento redundante de NombreEstudiante y NumCurso en INFORME_CALIF. (a) Datos
coherentes. (b) Registro incoherente.

Figura 1.6. Ahnatmanoitmlo


c
r....tumJanl" ll" Nunol!r"Elullianl" y NumCur>;u "" INFORME_CALIF. (a) Dalu

coherentes.

(b)

Registro incoherente.

(a) INFORME_CALIF

'

NumCurso

Nota

MAT2410

119

CC131 0

Carlos

85

MAT2410

Carlos

92

CC131 0

Carlos

102

CC3320

Carlos

135

CC3380

NumEstudiante

Nombr
eEstudiante

IDSeccion

NumCurso

Nota

17

Carlos

112

MAT2410

NumEstudiante

Nombr
eEstudiante

IDSeccion

17

Luis

112

17

Luis

(b) INFORME_CALIF

1.6

Ventajas de utilizar una metodologa DBMS

Esto se puede hacer automticamente comprobando que Jos valores NombreEstudiante


NumEstudiante de cualquier registro de INFORME_CALIF de la Figura 1 .6(a) coincide con alguno de Jos valo
res Nombre-NumEstudiante del registro ESTUDIANTE (vase la Figura 1.2). De forma parecida, Jos valores
IDSeccion-NumCurso de INFORME_CALIF pueden compararse con los registros de SECCIN. Estas compro
baciones pueden especificarse en el DBMS durante el diseo de la base de datos y que el DBMS las ejecute
archivos.

automticamente siempre que se actualice el archivo INFORME_CALIF. La Figura 1.6(b) muestra un registro
de INFORME_CALIF que es incoherente con el archivo ESTUDIANTE de la Figura 1.2, que puede introducir
se incorrectamente de

1 .6.2

no controlat:Ye la redundancia.

Restriccin del acceso no autorizado

la mayora de Jos mismos no


Jos datos financieros
se consideran a menudo confidenciales, y slo las personas autorizadas pueden acceder a ellos. Adems, algu
nos usuarios slo pueden recuperar datos, mientras que otros pueden recuperarlos y acrualizarlos. Asi pues,
tambin hay que controlar el tipo de operacin de acceso (recuperacin o actualizacin). Normalmente, Jos
usuarios o grupos de usuarios t
ienen nmeros de cuenta protegidos mediante contraseas, que pueden utilizar
para tener acceso a la base de datos. Un DBMS debe proporcionar seguridad y un subsistema de autoriza
cin, que el DBA utiliza para crear cuentas y e.pecificar las restricciones de las mismas. Despus, el DBMS
Cuando

varios usuarios

comparten una base de datos grande, es probable que

tengan autorizacin para acceder a toda la informacin de la base de datos. Por ejemplo,

debe implementar automticamente e.as restricciones. Podemos aplicar controles parecidos al software

ilegiado, como el que per


DBMS. Por ejemplo, slo el personal del DBA puede utilizar cierto software prh
mite crear cuentas nuevas. De forma parecida, Jos usuarios paramtricos pueden acceder a la base de
slo a travs de transacciones enlatadas desarrolladas para su uso.

datos

17

1.6.3

Almacenamiento persistente para los objetos del programa

Las bases de datos se pueden utilizar para proporcionar almacenamiento persistente a los objetos de progra
ma y las estructuras de datos. Es una de las principales razones de los

sltemas de bases de datos orienta


dos a objetos. Normalmente, los lenguajes de programacin tienen estructuras de datos complejas, como tipos
de registro en Pascal o definiciones de clase en C++ o Java. Los valores de las variable. de un programa se
descartan una vez que termina ese programa, a menos que el programador los almacene explicitamente en
archivos permanente., lo que a menudo implica convertir esas e.tructuras complejas en un formato adecuado
para el almacenamiento del archivo. Cuando surge la necesidad de leer estos datos w1a vez ms, el programa
dor debe convertir el formato del archivo a la estructura variable del programa. Los sistemas de bases de datos
orientados a objetos son compatible. con lenguaje. de programacin como C++ y Java, y el software DBMS
realiza automticamente las conversiones necesarias. Por tanto, un objeto complejo de C++ se puede almace
nar de forma permanente en un DBMS orientado a objetos. Se dice que dicho objeto es

persistente, porque

sobrevive a la terminacin de la ejecucin del programa y otro programa C++ lo puede recuperar m
s tarde.
El almacenamiento persistente de objetos de programas y estructuras de datos es una funcin importallte de
los sistemas de bases de datos. Los sistemas de bases de datos tradicionales a menudo adolecian de lo que se
denomin problema

de incompatibilidad de impedancia, puesto que las e.tructuras de datos

proporciona

das por el DBMS eran incompatibles con las estructuras de datos del lenguaje de programacin. Los sistemas
de bases de datos orientados a objetos normalmente ofrecen la compatibilidad de la estructura de datos con
uno o ms lenguaje. de programacin orientados a objetos.

1.6.4

Suministro de estructuras de almacenamiento


para un procesamiento eficaz de las consultas

Los sistemas de bases de datos deben proporcionar capacidades para ejecutar tificazmente

consulta.ry acttm

li
zaciones. Como la base de datos normalmente se almacena en el disco, el DBMS debe proporcionar estruc-

18

Captulo 1 Bases de datos y usuarios de bases de datos

turas de datos especializadas para acelerar la bsqueda en el disco de los registros deseados. Con este f.n se
utilizan unos archivos auxiliares denominados

ndices, que estn basados casi siempre en el rbol de estruc

turas de datos o en las estructuras de datos dispersas, convenientemente modificados para la bsqueda en
disco. A fin de procesar Jos registros necesarios de la base de datos para una consulta en particular, estos regis
tros deben copiarse del disco a la memoria. Por consiguiente, el DBMS a menudo tiene un mdulo de bfer
que mantiene partes de la base de datos en Jos bferes de la memoria principal. En otros casos, el DBMS
puede utilizar el sistema operativo para realizar el volcado de Jos datos del disco en el bfer.
El

mdulo de procesamientn y optimizacin de consultas

del DBMS es el responsable de elegir un plan

eficaz de ejecucin de consultas para cada consulta basndose en las e.tructuras de almacenamiento existen
tes. La eleccin de qu ndices crear y mantener es parte del diserlo y refinamiento de la base de datos tlsica,

que es una de las responsabilidades del personal del DBA. En Jos Captulos

1.6.5

15 y 16 explicaremos en profun

didad el procesamiento, la optimizacin y el refinamiento de las consultas.

Copia de seguridad y recuperacin

Un DBMS debe ofrecer la posibilidad de recuperarse ante fallos del hardware o del software. El subss
i tema

de copia de seguridad y recuperacin del DBMS es el responsable de la recuperacin. Por ejemplo, si el


computador falla en medio de una transaccin compleja de actualizacin, el subsistema de recuperacin e.
re.ponsable de garantizar la re.tauracin de la base de datos al estado anterior a que comenzase la ejecucin
de la transaccin. Como alternativa, el subsistema de recuperacin podra asegurarse de retomar la transac
cin en el punto en que se interrumpi para que todo su efecto se grabe en la base de datos.

1.6.6

Suministro de varias interfaces de usuario

Como una base de datos la utilizan muchos tipos de usuarios con distintos niveles de conocimiento tcnico,
un DBMS debe proporcionar distintas interfaces de u.ruario, entre las que podemos citar los lenguajes de con
sulta para los u.ruarios casuale., las interfaces de lenguaje de programacin para Jos programadores de apli
caciones, formularios y cdigos de comando para Jos usuarios paramtricos, e interfaces por mens y en el
idioma nativo para Jos usuarios independientes. Tanto las interfaces al e.tilo de los formularios como las basa
das en mens se conocen normalmente como interfaces

grficas de usuario (GUJ, graphical 11ser nterfa


i

ces). Existen muchos entornos y lenguajes especializados para especificar las Gills. Tambin son muy comu
nes las capacidades de proporcionar interfaces GUJ web a una base de datos.

211

Captulo 1 Bases de datos y usuarios de bases de datos

nicacin y la cooperacin entre varios departamentos, proyectos y usuarios dentro de la empresa. Los estn
dares se pueden definir para Jos nombres y los tonnatos de Jos elementos de datos, los fonnatos de visualiza
cin, las estrucruras de Jos informes, la tennioologia, etctera. El DBA puede implementar Jos estitndare. en
un entorno de base de datos centralizado ms fcilmente que en un enton1o donde cada grupo de usuarios tiene

el control de sus propios archivos y software.

Tiempo de desarrollo de aplicacin reducido. Uno de Jos principales reclamos de venta de la meto
dologa de bases de datos es que se necesita muy poco tiempo para desarrollar una aplicacin nueva (como la
recuperacin de ciertos datos de la base de datos para imprimir un intonne nuevo). El diseo y la implemen
tacin de w1a base de datos nueva desde el principio puede llevar ms tiempo que e.cribir una aplicacin de
archivos especializada. No obstante, una vez que la base de datos est operativa y en ejecucin, por lo gene

ral se nece.ita mucho menos tiempo para crear aplicaciooe. nuevas utilizando Jos servicios del DBMS. Se
estima que el t
iempo de desarrollo utilizando un DBMS es de una sexta a una cuarta parte del necesario para
un sistema de archivos tradicional.

Flexibilidad. Puede ser necesario cambiar la estructura de w1a base de datos a medida que cambian Jos requi

'

sitos. Por ejemplo, puede surgir un nuevo grupo de usuarios que necesita iofonnacio que actualmente no hay
en la base de datos. En respuesta, puede que sea necesario aadir un archivo a la base de datos o extender Jos
elementos de datos de un archivo existente. Los DBMS modernos permiten ciertos tipos de cambios evoluti
vos en la estructura de la base de datos sin que ello afecte a los datos almacenados y a Jos programas de apli
cacin existentes.

Disponibilidad de la informacin actualizada. Un DBMS hace que la base de datos est disponible
para todos los usuarios. Tan pronto como se aplica la actualizacin de un usuario a la base de datos, todos los
dems usuarios pueden ver esa actualizacin inmediatamente. Esta disponibilidad de informacin actualizada
es e.eocial para muchas de las aplicacione. de proce.amiento de transacciones, como las bases de datos de
los sistemas de reservas o bancarios, y esto es posible a Jos subsistemas de control de la concurrencia y de
recuperacin de un DBMS.

Economias de escala. La metodologia DBMS permite la consolidacin de los datos y las aplicaciones, Jo
que reduce el derroche de superposicin entre las actividades del personal de procesamiento de datos en dife
rente. proyectos o departamentos, as como las redw1dancias entre las aplicaciones. Esto permite que toda la
organizacin invierta en procesadores ms potentes, dispositivos de almacenamiento o aparatos de comunica
cin, en lugar de que cada departamento compre sus propios equipos (menos potentes). De este modo se redu
cen los coste. globales de funcionamiento y administracin.

1.7

Breve historia de las aplicaciones


de bases de datos

Esta seccin ofrece w1a breve historia de las aplicaciones que utilizan DBMSs y cmo estas aplicaciooe.
supusieron el impulso de nuevos tipos de sistemas de bases de datos.

1.7.1

Las primeras aplicaciones de bases de datos


que utilizaron sistemas jerrquicos y de red

Muchas de las primeras aplicacione. de bases de datos almacenaban registros en grandes organizaciones,
como corporacione., universidades, hospitale. y bancos. En muchas de esas aplicacione. haba muchos regis
tros de estructura parecida. Por ejemplo, en una aplicacin para wliversidade., era preciso mantener informa
cin parecida por cada estudiante, cada curso y cada e.pecialidad, etctera. Tambin haba muchos tipos de
registros y muchas interrelaciones entre ellos.

1.7 Breve historia de las aplicaciones

de bases de datos

Uno de los principales problemas con los primeros sistemas de bases de datos era la mezcla de relaciones con
cepmales con el almacenamiento tlsico y la ubicacin de los registros en el disco. Por ejemplo, los registros
de e.pecialidad de un estudiante en particular podian guardarse tlsicamente a continuacin del registro del
esmdiante. Aunque esto ofreca un acce.o muy eficaz para las consultas y las transacciones originales para las
que fue diseada la base de datos, no proporcionaba suficiente flexibilidad para acceder eficazmente a los
registros cuando se identificaban consultas y transacciones nuevas. En particular, era muy dificil implemen
tar con eficacia las consultas nuevas que requeran una organizacin diferente del almacenamiento para un

procesamiento eficaz. Tambin era muy laborioso reorganizar la base de datos cuando babia cambios en los
requisitos de la aplicacin.
Otro defecto de los primeros sistemas era que slo proporcionaban interface. de lenguaje de programacin.
ementacin de consultas y transacciooe. nuevas llevaba mucho tiempo y era costosa, pue. haba que
La mpl
i

escribir, probar y depurar programas nuevos. La mayora de esos sistemas de bases de datos se implantaron
en grande. y costosos computadores mainframe a mediados de la dcada de 1960, y a lo largo de las dcadas
de 1970 y 1980. Los principales tipos de esos sistemas estaban basados en tre. paradigmas pincipales: siste
mas jerrquicos, sistemas basados en Wl modelo de red y sistemas de archivos inversos.

1.7.2

Flexibilidad de aplicacin con las bases de datos relacionales

Las bases de datos relacionales se propusieron orig


inalmente para separar el almacenamiento tlsico de los
datos de su representacin coocepmal, asi como para proporcionar una base matemtica para el almacena
miento de contenidos. El modelo de datos relacional tambin introdujo lenguaje. de consulta de alto nivel que
proporcionaban una altemativa a las interfaces de lenguaje de programacin; por tanto, era mucho ms rpi
do e.cribir consultas nuevas. La repre.entacin relacional de los datos se parece al ejemplo presentado en la
Figura

1.2. Los sistemas relacionales estaban destinados

inicialmente a las mismas aplicaciones que los pri

mitivos sistemas, pero estaban pensados para ofrecer flexibilidad en el desarrollo de nuevas consultas y para
reorganizar la base de datos cuando cambiaran los requisitos.
Los sistemas relacionales experimentales desarrollados a f
male. de la dcada de 1970 y los sistemas de admi
nistracin de bases de datos relacionales

(RDBMS) comerciales que aparecieron a principios de la dcada de

1980 eran muy lentos, pues no utilizaban punteros de almacenamiento fsico o la ubicacin del registro para
acceder a los registros de datos relacionados. Su rendimiento mejor con el desarrollo de nuevas cnicas
t
de
almacenamiento e indexacin y unas tcnicas mejores de proce.amiento y optimizacin. Evenmalmente, las
bases de datos relacionale. se convirtieron en el tipo de sistema de bases de datos predominallte para las apli
caciones de bases de datos tradicionales. En casi todos los tipos de computadores, de.de los pequeos com
putadores personales basta los grande. servidore., existen bases de datos relacionales.

1.7.3

Aplicaciones orientadas a obj.etos y la necesidad


de bases de datos ms complejas

El surgimiento de los lenguajes de programacin orientados a objetos en la dcada de 1980 y la necesidad de


almacenar y compartir objetos estrucmrados complejos induce al desarrollo de las bases de datos orientadas
a objetos (OODB). Inicialmente, las OODB estaban cons
ideradas como competidoras de las bases de datos
relacionales, porque proporcionaban m
s estrucmras de datos generales. Tambin incorporaban muchos de los
tiles paradigmas de la orientacin a objetos, como los tipos de datos abstractos, la encapsulacin de opera
ciones, la herencia y la identidad de objeto. No obstante, la complejidad del modelo y la carencia de un estn
dar contribuy a su limitado uso. Ahora se utilizan principalmente en las aplicaciones especializadas (por
ejemplo, en ingeniera, publicacin multimedia y sistemas de fabricacin). A pesar de las expectativas de que
iban a provocar Wl gran impacto, lo cierto e. que su penetracin global en el mercado de productos de base.
de datos permanece an hoy por debajo del 50%.

21

22

Captulo 1 Bases de datos y usuarios de bases de datos

1.7.4

Intercambio de datos en la Web para el comercio electrnico

La World Wide Web proporciona Wla gran red de computadores interconectados. Los usuarios pueden crear
documentos utilizando Wl lenguaje de publicacin web, como HTML (Lenguaje de marcado de hipertexto,

HyperText Markup Langtmge), y almacenar esos docmnentos en servidores web desde los que otros usuarios
(clientes) pueden acceder a ellos. Los docmnentos se pueden enlazar mediante hipervlnculos, que son pun
teros a otros docmnentos. En la dcada de 1990 apareci el comercio electrnico (e-commerce) como una apli
cacin trascendental en la Web. Cada vez iba siendo ms evidente que parte de la informacin que apareca
en las pginas web de e-commerce a menudo eran datos que se extraan dinmicamente de unos DBMSs. Se

desarrollaron varias tcnicas que permitan el intercambio de datos en la Web. Actualmente, XML (Lenguaje

de marcado extendido, eXtended Marlcup Langttage) est considerado como el principal estndar para el inter
cambio de datos entre varios tipos de bases de datos y pginas web. XML combina conceptos de los modelos
utilizados en los sistemas de docmnentacin con conceptos de modelado de base. de datos. El Capitulo

27

est dedicado a la explicacin de XML.

1.7.5

Capacidades extendidas de las bases de datos


para las nuevas aplicaciones

El xito de los sistemas de base. de datos en las aplicaciones tradicionales anim a los desarrolladores de otros
tipos de aplicaciones a intentar utilizarlos. Dichas aplicaciones, de las que se ofrecen unos ejemplos a conti
nuacin, utilizaban tradicionalmente sus propias estructuras de archivos y datos especializadas:

Aplicaciones cientificas. Almacenan grandes cantidades de datos resultado de los experimentos cien
tficos en reas

como la tlsica o el mapa del genoma humano.

Almacenamiento y recuperacin de imgenes, de.de noticias e.caneadas y fotogratlas personales,


hasta imgene. de satlite o las procedentes de procedimientos mdicos, como los rayos X o el I\.1RI
(procesamiento de imgenes de resonancia magntica).

Almacenamiento y recuperacin de vdeos, como pelculas, o vdeoclips, procedentes de noticias o


cmaras digitales personales.

Aplicaciones de minado de datos, que analizan grandes cantidades de datos buscando ocurrencias de
patrone. e.pecficos o relaciones.

Aplicaciones espaciales, que almacenan las ubicaciones espaciales de datos como la informacin
meteorolgica o los mapas que se utilizan en los sistemas de informacin geogrfica.

Aplicaciones de series cronolgicas que almacenan informacin como datos econmicos a intervalos
regulare. de tiempo (por ejemplo, grficos de las ventas diarias o del producto nacional bruto men
sual).
Es evidente que los sistemas relacionales b
sicos no eran muy adecuados para muchas de estas aplicaciones,
normalmente por mla o ms de las siguiente. razones:

Se necesitaban estructuras de datos ms complejas para modelar la aplicacin que la simple represen
tacin relacional.

Se necesitaron nuevos tipos de datos, adems de los tipos numrico y de cadena de caracteres bsicos.
Para manipular los nuevos tipos de datos eran nece.arias operaciones y construcciones de lenguaje de
consulta nuevas.

Se necesitaban nuevas e.tructuras de almacenamiento e indexacin.


Esto llev a que los desarrolladores de DBMS aadieran funcionalidad a sus sistemas. Parte de esa funciona
lidad era de propsito general, como la incorporacin de conceptos de las bases de datos orientadas a objetos

1.8

Cundo no usar un DBMS

en los sistemas relacionales. Otra parte de esa funcionalidad era de propsito especial, en forma de mdulos
opcionales que se podian utilizar para aplicaciones especificas. Por ejemplo, los usuarios podran comprar un
mdulo de series cronolgicas para utilizarlo con su DBMS relacional para su aplicacin de series cronolgi

cas.

Actualmente, la mayoria de las organizaciones grandes utilizan distintos paquetes que funcionan en estrecha
de datos bacfv.ends. Una base de datos back-end representa una o ms hase. de datos,

colaboracin con bases

seguramente de distintos fabricante. y diferentes modelos de datos, encaminado todo ello a almacenar Jos
datos que esos paquete. manipulan para las transacciones, la generacin de informes y dar re.puesta a las con
sultas especificas. Uno de los sistemas que m
s se utiliza es ERP (Planificacin de recursos

i Resource Planning),
Enterprse

empresariales,

que se utiliza para consolidar diferentes reas funcionale. dentro de una

organizacin, como, por ejemplo, la produccin, las ven:as, la distribucin, el marketing, las finanzas, Jos

recursos humanos, etctera. Otro tipo muy conocido de sitema es el software CRM {Administracin de las

relaciones con

el cliente,

las funciones de

Customer Relatmsh.i
p Managemeni), que abarca el procesamiento de pedidos y
marketing y soporte de cliente.. Estas aplicaciones son compatibles con la Web para aque

llos usuarios intemos y extemos a Jos que se dota de diferentes interfaces de portal web para interactuar con
la base de datos

1 .7.6

back-end.

Bases de datos frente a recuperacin de informacin

Tradicionalmente, la tecnologia debases de datos se aplica a los datos estructurados y formateados que se ori
ginan en las aplicaciones rutinarias guhemamentales, comerciales e industriale.. Esta tecnologia se utiliza
mucho en la fabricacin, las ventas, la banca, los seguros, las f
manzas y la salud, donde los datos estructura
dos originan formularios como las facturas o los documentos de registro de pacientes. Ha habido Wl desarro
llo concurrente de un campo denominado recuperacin de informacin (IR,

ilifonna.tion. retrieva.[)

que t
iene

que ver con Jos libros, los manuscritos y distintos formularios de art.culos basados en bibliotecas. Los datos
se indexan, catalogan y anotan utilizando palabras clave. IR tiene que ver con la bsqueda de material basa

da en esas palabras clave, y con muchos de los problemas relacionados con el procesamiento de documentos
y el procesamiento de teX1o de forma libre. Se ha realizado w1a cantidad considerable de trabajo en buscar
texto basndose en palabras clave, buscar documentos y clasificarlos por su relevancia, clasificar el texto auto

mticamente, clasificar el texto por temas, etctera. Con la llegada de la Web y la proliferacin de las pginas

HTML ejecutndose por mile. de millone., es necesario aplicar muchas de las tcnicas de IR para procesar
los datos en la Web. Los datos de las pginas web son normalmente imgenes, texto y objetos que se activan

y modifican dinmicamente. La recuperacin de

intbrmacin en la Web es un problema nuevo que requiere

la aplicacin de tcnicas de hase. de datos e IR en variedad de nuevas combinaciones.

También podría gustarte