Documentos de Académico
Documentos de Profesional
Documentos de Cultura
.r .
lt
Zg;;) .-
w
ft
k
fi ?
^^,.^
^i L
C. J. Date
INTRODUCCIN A LOS
Sistemas de bases
de datos
VOLUMEN 1
Quinta edicin
Versin en espaol de
Roberto Escalona Garca
Mxico
Con la colaboracin de
Amrico Vargas Villazn
Heuresis, S. R. L.
La Paz,Bolivia
y
Adoracin de Miguel Castao
Universidad Politcnica de Madrid
Espaa
Addison
Wesley Mxico Argentina Chile Colombia
Costa Rica Ecuador Espaa Estados Unidos
Longman Per Puerto Rico Uruguay Venezuela
Versin en espaol de la obra titulada An Introduction to Database Systems, Volume 1, Fifth
Edition, de C. J. Date, publicada originalmente en ingls por Addison- Wesley Puhlishing
Company, Inc., Reading. Massachusetts, E. U. A. 0 1990.
Los programas y aplicaciones que se presentan en este libro han sido incluidos por su valor
didctico. Aunque se han probado cuidadosamente, no se garantiza su uso para algn propsito en
particular. El editor no ofrece garanta ni representacin alguna, y no acepta responsabilidad legal
respecto a los programas y aplicaciones.
CNIEM 1031
Los editores
VII
Acerca del autor
IX
Prefacio a la quinta
edicin
El campo de la tecnologa de bases de datos est sufriendo una explosin de informacin (lo
cual resulta bastante irnico, pues el procesamiento de informacin es supuestamente el
objetivo de la tecnologa de bases de datos). Por ejemplo, he aqu una lista parcial de
publicaciones profesionales sobre el tema que aparecen de manera regular en Estados Unidos:
XI
XII Prefacio a la quinta edicin
etctera, las cuales en conjunto representan muchos miles de pginas por ao...; adanse
los manuales de referencia de los proveedores y otros documentos donde se describen
diversos productos comerciales, con (por lo regular) una nueva versin cada 18 meses en
promedio...; adase el gran nmero de libros de texto disponibles hoy da con las
palabras "bases de datos" en alguna parte del ttulo... y resulta evidente que se publican
(en una estimacin conservadora) algo ms de 100 000 pginas de material nuevo cada
ao. Por consiguiente, es obvia la imposibilidad de mantenerse al tanto de todo lo que
est sucediendo en el campo de las bases de datos.
De todo lo anterior se desprende que el presente libro slo puede ser (como lo indica el
ttulo) una introduccin al tema, no un tratamiento exhaustivo. Adems, por el crecimiento
explosivo del campo, aun lo que constituye "una buena introduccin" al tema cambia con
bastante rapidez; en consecuencia, esta nueva edicin (la quinta) del libro es una vez ms tan
diferente de su predecesora que es prcticamente un libro nuevo. (Por esta razn no se
reproduce aqu el prefacio de la edicin anterior.) Pero el objetivo general sigue siendo el
mismo, a saber, ofrecer una base para una instruccin slida en los aspectos fundamentales de
la tecnologa de bases de datos, y en particular preparar el camino para entender las
direcciones en las cuales se est desarrollando hoy da el campo y aquellas en las que proba-
blemente se desarrollar en el futuro. El propsito primordial del libro es servir CO()
m libro de
texto, no como obra de referencia, aunque hasta cierto punto espero que pueda servir tambin
para este ltimo propsito. La orientacin es hacia la comprensin, no hacia los algoritmos.
Se supone que el lector tiene un inters profesional en algn aspecto del procesamiento
de datos. Quiz sea, por ejemplo, analista o diseador de sistemas, programador de apli-
caciones, programador de sistemas, estudiante de un curso universitario o similar sobre
computacin, o profesor de un curso as. Es de esperar que el lector tenga una apreciacin
razonable de las posibilidades de un sistema de cmputo moderno, con referencia particular a
las caractersticas de manejo de archivos de tales sistemas; tambin deber tener algn cono-
cimiento de por lo menos un lenguaje de programacin de alto nivel. Pero como estos requisi-
tos no son demasiado severos, espero que el libro resulte adecuado como texto introductorio
para cualquier persona interesada en el uso o realizacin de un sistema de bases de datos, o para
aquella que slo desee ampliar sus conocimientos generales del campo de la computacin.
El libro se divide en seis partes principales, ms un grupo de apndices:
I. Conceptos bsicos
II. Sistemas relacionales
III. El modelo relaciona)
IV. El ambiente de bases de datos
V. Diseo de bases de datos
VI. Direcciones
Cada una de las partes se divide a su vez en varios captulos:
La parte I (tres captulos) ofrece una introduccin amplia a los conceptos de los sistemas
de bases de datos en general, y en particular distingue el enfoque relaciona) de los no
relacionales de esos sistemas. Este libro est fuertemente orientado hacia el enfoque
relacional, por razones que se explican al final del captulo 1.*
* Vale la pena hacer notar aqu que el desbordante inters comercial en el enfoque relaciona) ha
sido tan intenso durante los ltimos cinco aos, que los sistemas relacionales se estn convirtiendo
rpidamente en la norma del mercado (en el mundo acadmico, en cambio, han sido la norma por
Prefacio a la quinta edicin XIII
Adems, se incluyen tres apndices en los cuales se estudian los principales enfoques no
relacionales ((le lista invertida, jerrquico y de red) y se describe un grupo representativo (le
sistemas no relacionales (DATACOM/I)B, IMS e IUMS); se incluye as mismo otro apndice
en el cual se presenta una lista de algunas abreviaturas y acrnimos importantes.
Casi todos los captulos van seguidos de un grupo de ejercicios y (por lo regular)
tambin de respuestas; a menudo las respuestas proporcionan informacin adicional sobre
el terna del ejercicio. Casi todos los captulos van seguidos tambin (k una amplia lista de
referencias, en su mayor parte con notas. Las referencias se identifican en el texto con
nmeros encerrados entre corchetes. Por ejemplo, [11.1] se refiere a la primera de las
referencias listadas al final del captulo 11, a saber, un artculo de E. F. Codd publicado
en Cominunications of the ACM (CACM), volumen 13, nm. 6 (junio de 1970).
Para los lectores que pudieran estar familiarizados con la edicin anterior de este libro,
resumimos a continuacin las principales diferencias con respecto a esa edicin.
Parte 1: Esta parte cubre aproximadamente el mismo terreno que la antigua Parte I, pero
los captulos se reesc:ribieron, se ha mejorado y ampliado el tratamiento de algunos ternas
(por ejemplo, administracin de datos, administracin (le bases de datos, bases de datos
distribuidas), y se han revisado y ampliado las referencias (sobre todo las del captulo 3).
Parte II: Una vez ms, esta parte cubre ms o menos el mismo terreno que la antigua
parte II, excepto que se ha puesto al da en muchos aspectos detallados, y se ha
revisado el material sobre INGRES, pasndolo de la antigua parte III a esta parte.
muchos aos). En las ediciones anteriores de este libro, a los enfoques antiguos, no relacionales, como
el jerrquico, se les aluda como enfoques "convencionales"; pero ahora es el enfoque relacional el que,
cada vez ms, se considera "convencional", y los antiguos se estn volviendo obsoletos con rapidez.
XIV Prefacio a la quinta edicin
Parte III: Esta parte representa una versin reescrita por completo, bastante ampliada
y muy mejorada de los captulos 11 a 15 de la edicin anterior. Esta parte del libro en
particular se ha beneficiado por la amplia experiencia del autor en la enseanza de
este material en un gran nmero de seminarios durante los ltimos aos.
Parte IV. Esta parte consiste en una revisin y ampliacin importantes de los
captulos 16 y 18 a 20 de la edicin anterior, junto con un nuevo captulo (captulo
20) sobre recursos de administracin.
Parte V: Esta parte es nueva (aunque algunos de sus temas se incluyeron en otros
sitios de la edicin anterior). El captulo 21 es una versin revisada y ampliada del
antiguo captulo 17 sobre normalizacin adicional; el captulo 22 es una versin
tambin revisada y ampliada del antiguo captulo 25 sobre modelado semntico (o de
"entidades/interrclaciones").
Parte VI: Esta parte es nueva casi por completo. El captulo 23 es una versin
ampliada y muy modificada del antiguo captulo 24 sobre sistemas distribuidos de
bases de datos. Los dems captulos son completamente nuevos: el captulo 24 ofrece
una amplia introduccin a los sistemas de bases de datos basados en la lgica (en
particular, analiza el procesamiento de consultas recursivas); el captulo 25 presenta
una introduccin a las bases de datos orientadas a objetos, y en el captulo 26 se
examinan diversas direcciones de investigacin (lenguajes para programacin de
bases de datos, la relacin universal, el tiempo, las relaciones anidadas, nuevas reas
de aplicacin y sistemas extensibles).
RECONOCIMIENTOS
Una vez ms, es un placer reconocer mi deuda con las muchas personas que participaron,
de manera directa o indirecta, en la produccin de este libro. Primero, el texto se ha visto
sumamente beneficiado por los comentarios de muchos estudiantes de los seminarios que
he estado impartiendo durante los ltimos aos con base en este material. Tambin ha
mejorado gracias a los comentarios de un gran nmero de amigos y revisores: Nagraj
Alur, Charlcy Bontempo, Alexandros Biliris, 1-Iugh Darwcn (alias Andrew Wardcn),
Donald Faatz, Nat Goodman, Patrick Fischer, Wiebren de Jonge, Douglas Kerr, Frederick
Lochovsky, Ramn Mata-Toledo, David Stemple, Alan Tharp, Elizabeth Unger y Colin
White. Cada una de estas personas revis por lo menos alguna parte del manuscrito de
esta edicin o inc facilit material tcnico, o de alguna manera me ayud a encontrar
Prefacio a la quinta edicin XV
respuestas a mis numerosas preguntas tcnicas, y les estoy muy agradecido a todas ellas.
Tambin quisiera expresar ni reconocimiento a mi esposa Lindy por realizar el trabajo
artstico de la portada, tanto para esta edicin corno para la anterior. Por ltimo,
agradezco (como siempre) a todo el personal de Addison-Wesley sobre todo a mis
editores, Jim DeWolf y Peter Shepard su impulso y apoyo durante todo este proyecto,
y a mi editora Elydia Davis por su trabajo siempre sobresaliente.
PARTE 1
CONCEPTOS BSICOS 1
1
Panorama general (le la administracin de bases de datos 3
2
Una arquitectura para sistemas de bases (le datos 32
2.1 Objetivo 32
2.2 Los tres niveles (le la arquitectura 33
2.3 El nivel externo 35
2.4 El nivel conceptual 39
2.5 El nivel interno 40
XVII
XVIII ndice general
2.6 Correspondencias 41
2.7 El administrador de bases de datos 41
2.8 El sistema de administracin de bases de datos 43
2.9 El administrador de comunicacin de datos 46
2.10 Seccin posterior y secciones frontales 46
2.11 Utilcras 48
2.12 Procesamiento distribuido 49
Ejercicios 53
Referencias y bibliografa 54
3
El nivel interno 56
3.1 Introduccin 56
3.2 Acceso a bases de (latos: panorama general 58
3.3 Conjuntos de pginas y archivos 62
3.4 Indizacin 69
3.5 Dispersin 78
3.6 Cadenas de apuntadores 83
3.7 Tcnica, de compresin 86
3.8 Comentarios finales 91
Ejercicios 92
Referencias y bibliografa 94
Respuestas a ejercicios selectos 103
PARTE II
SISTEMAS RELACIONALES 109
5
Definicin de datos 136
':1
El catlogo del sistema 180
Vistas 186
E
SQL embebido 200
lo
PARTE III
EL MODELO RELACIONAL 241
11
Estructura de datos relaciona) 244
12
Reglas de integridad relacional 269
13
Algebra relaciona) 288
14
Clculo relaciona) 327
15
Algunas ramificaciones del modelo 362
PARTE I V
EL. AMBIENTE DE BASES DE DATOS 391
16
Recuperacin y concurrencia 393
17
Seguridad e integridad 420
Wb
19
Subsistemas de seccin frontal 481
20
Recursos de administracin 503
PARTE V
21
Normalizacin adicional 515
22
Modelado semntico 568
PARTE VI
DIRECCIONES 603
23
Sistemas distribuidos 605
24
Sistemas basados en la lgica 629
25
Sistemas orientados aobjetos 671
26
Otros temas de investigacin 695
APNDICES 719
F1
Un sistema de lista invertida: DATACOMJDB 723
r^
Un sistema de red: IDMS 776