Está en la página 1de 23

1F

.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.

Esta edicin en espaol es la nica autorizada.

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.

1993 por Addison Wesley Iberoamericana S.A.

D.R.O 1998 por Addison Wesley Longman de Mxico S.A. de C.V.

Calle 4 N 25-2 piso Fracc. Ind. Alce Blanco,


Naucalpan de Jurez. Edo. de Mxico,
C.P. 53370

CNIEM 1031

Reservados todos los derechos. Ni la totalidad ni parte de esta


publicacin pueden reproducirse, registrarse o transmitirse, por un
sistema de recuperacin de informacin, de ninguna forma, ni por
ningn medio, sea electrnico, mecnico, fotoqumico, magntico o
electroptico, por fotocopa, grabacin o cualquier otro, sin permiso
previo por escrito del editor. El prstamo, alquiler o cualquier otra
forma de cesin de uso de este ejemplar requerir tambin la
autorizacin del editor o de sus representates.

ISBN 968 444 220 3

I mpreso en Mxico. Printed in Mexico

Esta obra se termino de


imprimir en septiembre de 1 998 en
Repro-Flo, S.A. de C.V.
Calle Chipiona No. 115
Col. Cerro de la Estrella
Delegacin Iztapalapa
09880 Mxico, D.F.

Se tiraron 4,000 ejemplares


Para Lindy
Prefacio

El campo de la programacin de sistemas surgi primordialmente de los esfuerzos de muchos


programadores y administradores que encauzaron su energa creativa a la produccin de
programas de sistemas prcticos y utilitarios, imprescindibles para una industria de la
computacin en rpido crecimiento. La programacin se practicaba como un arte en el cual
cada programador inventaba sus propias soluciones a los problemas, sin ms gua que la
ayuda de sus compaeros inmediatos. En 1968, el ahora fallecido Ascher Opler, quien
entonces trabajaba en IBM, se dio cuenta de la necesidad de reunir los conocimientos de
programacin de tal modo que resultaran accesibles a todos los Programadores de sistemas.
Haciendo un examen de lo ltimo en el campo, decidi que exista suficiente material til para
justificar un esfuerzo de codificacin importante. Siguiendo su recomendacin, IBM decidi
patrocinar una serie de libros sobre programacin de sistemas ('I1ie Systems Prograniming
Series) como un proyecto a largo plazo para reunir, organizar y publicar aquellos principios y
tcnicas que tuvieran valor duradero en toda la industria Desde 1968, Addison-Wesley ha
publicado dieciocho ttulos en la serie, de los cuales seis siguen disponibles en ingls, y se ha
traducido al espaol slo el presente volumen.
La serie consiste en un conjunto sin lmite fijo de libros de texto y referencia. El
contenido de cada libro representa el punto de vista del autor individual respecto al rea
del tema y no refleja necesariamente el punto de vista de IBM Corporation. Todos estn
organizados para emplearse en el campo docente pero son lo bastante detallados como
para servir de referencia.
Entre los temas y reas representativos ya publicados, o que se piensa incluir en
la serie, podemos mencionar: los sistemas de bases de datos, los de comunicaciones, de
grficos, sistemas expertos, y la administracin del proceso de programacin. Se inclui-
rn otros temas conforme evolucione y crezca la disciplina de la programacin de
sistemas.

Los editores

VII
Acerca del autor

C. J. Date es un escritor, conferencista y asesor independiente, especializado en sistemas


de bases de datos relacionales. Radica actualmente en California.
El seor Date se uni a IBM en 1967 en Inglaterra, donde trabaj en la integracin de
funciones de bases de datos dentro de P111. Ms adelante (1974) se traslad al IBM Systeins
Development Cerner en California, donde estuvo encargado del diseo de un lenguaje de
bases de datos llamado IJDL (Unified Database Language, lenguaje de bases de datos
unificado). Ms adelante particip en la planificacin tcnica y diseo externo de los
productos relacionales de IBM SQIJI)S (anunciado en 1981 para VSl y en 1983 para VM) y
DB2 (anunciado en 1983 para MVS). Se separ de IBM en mayo de 1983.
El seor Date ha estado activo en el campo de las bases de datos durante casi veinte aos.
Fue una de las primeras personas en todo el mundo en darse cuenta de la importancia de los
trabajos pioneros de Codd sobre el modelo relacional. 1Ia dictado un gran nmero de
conferencias sobre temas tcnicos --principalmente sobre temas de bases de datos, y en
especial sobre bases de datos relacionales en Estados Unidos y tambin en Europa,
Australia, Amrica Latina y el Lejano Oriente. Adems del presente libro, sus publicaciones
incluyen An Introduction to Database Systenis: Volunie 11 (1983), el cual cubre varios
aspectos m ts avanzados del terna;1)atabase: A Primer (1983), el cual trata los sistemas de ba-
ses de datos (desde micros hasta macrocomputadores) desde el punto de vista especfico de
quienes no son especialistas; Relational Database: Selectecl Writings (1986) y Relational
Database Writings 1985-1989 (1990), los cuales tratan a fondo varios aspectos de la
tecnologa relacional; y una serie de libros sobre sistemas y lenguajes especficos: A Guille to
DB2 (tercera edicin, 1989), A Guide to SQL/DS (1988), A Guide to INGRES (1987) y A
Guide to the SQL Standard ( segunda edicin, 1989). Tambin ha producido mltiples
artculos tcnicos y ha hecho varias aportaciones a la teora de las bases de datos. Actualmente
conduce una serie de seminarios profesionales sobre tecnologa de bases de datos relacio-
nales, en Estados Unidos y en otros pases.

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:

ACM Transactions on Database Systems (TODS), publicada trimestralmente; cerca


de 500 pginas por ao
ACM SIGMOD Record, publicada trimestralmente; cerca de 250 pginas por ao
Actas de Annual ACM SIGMOD International Conference on Management of Data;
cerca de 450 pginas por ao
Actas de Annual ACM SIGACT-SIGMOD Symposium on Principies of Database
Systems; cerca de 350 pginas por ao
Actas de Annual International Conference on Very Large Data Bases; cerca de 450
pginas por ao

Adanse a lo anterior las diversas conferencias ms especializadas sobre (por


ejemplo) sistemas distribuidos de bases de datos, o bases de datos para CAD/CAM, o
sistemas expertos de bases de datos, o sistemas orientados a objetos (etctera); digamos
ocho o diez conferencias al ao, con actas que suelen abarcar de 300 a 350 pginas...;
adase tambin el nmero enorme de informes tcnicos de universidades y laboratorios
de investigacin industriales...; adanse los artculos ocasionales que aparecen en las
publicaciones de disciplinas afines, como la automatizacin de oficinas, inteligencia
artificial y lenguajes de programacin...; adanse las revistas del ramo como Database
Newsletter, Database Review, InfoDB, Database Programming and Design, etctera,

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

La parte II (siete captulos) consiste en un tratamiento didctico de los conceptos


principales de los sistemas relacionales, empleando el producto DB2 de IBM y el
lenguaje de consulta estructurada SQL como vehculos para ilustrar dichos
conceptos. Se incluye tambin un captulo acerca del sistema INGRES, el cual (al
igual que DB2) ha tenido una influencia considerable dentro del campo, aunque
difiere de DB2 en varios aspectos importantes.
La parte III (cinco captulos) es la ms larga del libro (de hecho, es casi un libro
dentro de otro), y consiste en un examen detallado y muy cuidadoso de las ideas,
tanto tericas corno prcticas, que son la base de los sistemas relacionales tales corno
DB2 e INGRIS.
La parte IV (cinco captulos) es en cierta forma un popurr: en ella se analizan
diversos aspectos, tanto internos corlo externos, de los sistemas de bases de datos:
recuperacin, concurrencia, seguridad, integridad, optiinizacin, administracin,
etctera.
A continuacin, en la parte V (dos captulos) se analizan dos enfoques complementarios
del problema (lel diseo de bases de datos.
Por ltimo, en la parte VI (cuatro captulos) se analizan las direcciones actuales de
las investigaciones en el campo (le las bases de datos.

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).

Por ltimo, los apndices A a C sustituyen a los captulos 21 a 23 de la edicin


anterior.
Algunos lectores quiz sepan que este libro tiene una secuela, An Introduction to
Database Systems: Volume 11 (primera edicin, Addison-Wesley, 1983), a la cual se hace
referencia en todo el presente texto simplemente como volumen II. Ese volumen ofrece
un tratamiento ms minucioso de algunos de los temas introducidos en las partes IV, V y
VI del presente libro, y analiza algunos aspectos (aunque casi todos de importancia
secundaria) que no se tratan en ste. La presente obra contiene unas cuantas referencias
no demasiadas al material del volumen II.

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.

Saratoga, California C. J. Date


ndice General

PARTE 1

CONCEPTOS BSICOS 1

1
Panorama general (le la administracin de bases de datos 3

1.1 u n ejemplo introdiuctorio 3


1.2 Qu es un sistema de bases de datos? 5
1.3 Qu es unas base de datos? 10
1.4 Por qu utilizar una base de datos? 14
1.5 Independencia de los datos 1
1.6 Sistemas relacionales y otros 23
Ejercicios 26
Referencias y bibliografa 27
Respuestas a ejercicios selectos 29

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

Panorama general de 1)132 112

4.1 Antecedentes 112


4.2 Bases (le datos relacionales 1 13
4.3 1:l lenguaje SQL 1 17
4.4 Principales componentes (id l sistema 125
Referencias y nihliograta 132
ndice general XIX

5
Definicin de datos 136

5.1 Introduccin 136


5.2 Tablas base 136
5.3 ndices 141
5.4 Comentarios finales 142
Ejercicios 143
Respuestas a ejercicios selectos 144

Manipulacin de datos 146

6.1 Introduccin 146


6.2 Consultas simples 147
6.3 Consultas de reunin 150
6.4 Funciones de agregados 154
6.5 Caractersticas avanzadas 157
6.6 Operaciones de actualizacin 164
6.7 Comentarios finales 167
Ejercicios 170
Respuestas a ejercicios selectos 174

':1
El catlogo del sistema 180

7.1 Introduccin 180


7.2 Consultas al catlogo 182
7.3 Puesta al da del catlogo 183
Ejercicios 184
Respuestas a ejercicios selectos 1x5
XX ndice general

Vistas 186

8.1 Introduccin 186


8.2 Definicin de vistas 188
8.3 Operaciones (le 1)M1. sobre vistas 190
8.4 Independencia lgica de los datos 195
8.5 Ventajas de las vistas 197
Ejercicios 199
Respuestas a ejercicios selectos 198

E
SQL embebido 200

9.1 Introduccin 200


9.2 Operaciones sin cursores 202
9.3 Operaciones con cursores 2(k1
9.4 Un ejemplo extenso 207
9.5 SQI. dinunico 210
9.6 Comentarios finales 21 1
Ejercicios 213
Respuestas a ejercicios selectos 213

lo

Panorama general de INGRES 217

10.1 Antecedentes 217


10.2 Definicin de datos 219
10.3 Manipulacin (le datos: operaciones de recuperacin 222
10.4 Manipulacin de datos: operaciones de actualizacin 228
10.5 Vistas 230
10.6 QUEL embebido 231
Ejercicios 235
Referencias y bibliografa 235
Respuestas a ejercicios selectos 236
ndice general XXI

PARTE III
EL MODELO RELACIONAL 241

11
Estructura de datos relaciona) 244

11.1 Un ejemplo introductorio 244


11.2 Dominios 246
11.3 Relaciones 252
11.4 Bases de datos relacionales 261
Referencias y bibliografa 262

12
Reglas de integridad relacional 269

12.1 Introduccin 269


12.2 Claves primarias 270
12.3 La regla de integridad de las entidades 273
12.4 Claves forneas 275
12.5 La regla de integridad referencial 278
12.6 Reglas para claves ajenas 279
12.7 Comentarios finales 282
Ejercicios 282
Referencias y bibliografa 283
Respuestas a ejercicios selectos 284

13
Algebra relaciona) 288

13.1 Introduccin 288


13.2 Una sintaxis para el lgebra relacional 291
13.3 Operaciones tradicionales de conjuntos 294
13.4 Operaciones relacionales especiales 299
13.5 Ejemplos 304
XXII ndice general

13.6 Para qu sirve el lgebra? 306


13.7 Operadores adicionales 308
13.8 Asignacin relaciona) 313
Ejercicios 314
Referencias y bibliografa 315
Respuestas a ejercicios selectos 318

14
Clculo relaciona) 327

14.1 Introduccin 327


14.2 Clculo relaciona) orientado hacia las tupas 329
14.3 Ejemplos 334
14.4 Clculo relaciona) y lgebra relaciona) 336
14.5 Clculo relaciona) orientado hacia los dominios 341
14.6 Query-By-Example 343
Ejercicios 347
Referencias y bibliografa 349
Respuestas a ejercicios selectos 350

15
Algunas ramificaciones del modelo 362

15.1 El modelo relacional: resumen 362


15.2 Esencialidad 364
15.3 Qu es un sistema relacional? 369
15.4 Atomicidad de los valores de los datos 371
15.5 Vistas 373
15.6 Informacin faltante 377
15.7 Hacia dnde va el modelo relaciona)? 381
Ejercicios 386
Referencias y bibliografa 387
Respuestas a ejercicios selectos 390
ndice general XXIII

PARTE I V
EL. AMBIENTE DE BASES DE DATOS 391

16
Recuperacin y concurrencia 393

16.1 Introduccin 393


16.2 Recuperacin de transacciones 393
16.3 Recuperacin del sistema y de los medios de almacenamiento 397
16.4 Compromiso en dos fases 399
16.5 Tres problemas de concurrencia 401
16.6 Bloqueo 403
16.7 Comentarios finales 409
Ejercicios 410
Referencias y bibliografa 411
Respuestas a ejercicios selectos 417

17
Seguridad e integridad 420

17.1 Introduccin 420


17.2 Seguridad: consideraciones generales 421
17.3 Seguridad en SQL 422
17.4 Otros aspectos de seguridad 426
17.5 Integricaid: consideraciones generales 427
17.6 Un lenguaje de integridad hipottico 428
17.7 Seguridad e integridad en QUI:L 433
17.8 Comentarios finales 435
Ejercicios 436
Referencias y bibliografa 437
Respuestas a ejercicios selectos 441
XXIV ndice general

Wb

Optimizacin de consultas 445

18.1 Introduccin 445


18.2 Un ejemplo sencillo 447
18.3 El proceso de optimizacin: un panorama general 448
18.4 Optimizacin en System R 454
18.5 Optimizacin en INGRES 457
18.6 Puesta en prctica de los operadores relacionales 461
Ejercicios 464
Referencias y bibliografa 465
Respuestas a ejercicios escogidos 478

19
Subsistemas de seccin frontal 481

19.1 Introduccin 481


19.2 Acceso a los datos 482
19.3 Presentacin de los datos 489
19.4 Generacin de aplicaciones 496
Ejercicios 501
Referencias y bibliografa 501

20
Recursos de administracin 503

20.1 Introduccin 503


20.2 Preparacin y ejecucin de aplicaciones 504
20.3 Utileras y mandatos del sistema 505
20.4 Administracin del desempeo 506
20.5 Conclusin 508
ndice general XXV

PARTE V

DISEO DE BASES DE DATOS 511

21
Normalizacin adicional 515

21.1 Introduccin 515


21.2 Dependencia funcional 519
21.3 Primera, segunda y tercera formas normales 522
21.4 Buenas y malas descomposiciones 530
21.5 Forma normal Boyce/Codd 533
21.6 Cuarta forma normal 539
21.7 Quinta forma normal 542
21.8 Comentarios finales 547
Ejercicios 551
Referencias y bibliografa 553
Respuestas a ejercicios selectos 559

22
Modelado semntico 568

22.1 Introduccin 568


22.2 El enfoque general 570
22.3 El modelo entidadlinterrelacin 572
22.4 Diagramas de entidades/interrelaciones 576
22.5 Diseo de bases de datos con el modelo de entidades/interrelaciones 578
22.6 El modelo relacional extendido RMI' 582
22.7 Diseo de bases de datos con RM/F 589
22.8 Anlisis y comparaciones 595
22.9 Comentarios finales 598
Ejercicios 598
Referencias y bibliografa 599
XXVI ndice general

PARTE VI
DIRECCIONES 603

23
Sistemas distribuidos 605

23.1 Introduccin 005


23.2 Las doce reglas 609
23.3 Problemas de los sistemas distribuidos 615
23.4 Compuertas 621
23.5 Comentarios finales 623
Ejercicios 624
Referencias y bibliografa 624

24
Sistemas basados en la lgica 629

24.1 Antecedentes 629


24.2 Panorama general 630
24.3 Clculo proposicional 632
24.4 Clculo de predicados 637
24.5 Las bases de datos desde la perspectiva de la teora de las
demostraciones 644
24.6 Sistemas de bases de datos deductivos 648
24.7 Procesamiento de consultas recursivas 653
24.8 Comentarios finales 659
Ejercicios 661
Referencias y bibliografa 662
Respuestas a ejercicios selectos 668

25
Sistemas orientados aobjetos 671

25.1 Introduccin 671


25.2 Lo que la tecnologa orientada a objetos no es 673
25.3 Conceptos de la orientacin a objetos 675
ndice general XXVII

25.4 Definicin de datos 679


25.5 Manipulacin de datos 683
25.6 Comentarios finales 688
Referencias y bibliografa 692

26
Otros temas de investigacin 695

26.1 Introduccin 695


26.2 Lenguajes de programacin de bases de datos 696
26.3 La relacin universal 700
26.4 Tiempo 703
26.5 Relaciones anidadas 707
26.6 Nuevas reas de aplicacin 710
26.7 Sistemas extensibles 714
26.8 El futuro 716

APNDICES 719

F1
Un sistema de lista invertida: DATACOMJDB 723

A.1 Antecedentes 723


A.2 El modelo de lista invertida 724
A.3 Panorama general de DATACOM/I)B 727
A.4 Definicin de datos 729
A.5 Manipulacin de datos 733
A..6 La funcin de seleccin booleana compuesta 736
Ejercicios 738

Un sistema jerrquico: IMS 739

B.1 Antecedentes 739


8.2 El modelo jerrquico 740
13.3 Panorama general de IMS 745
XXVIII ndice general

B.4 Definicin de datos 747


8.5 Manipulacin de datos 749
B.6 Estructura de almacenamiento 756
B.7 Bases de datos lgicas 760
B.8 ndices secundarios 765
B.9 Comentarios finales 769
Ejercicios 771
Referencias y bibliografa 772
Respuestas a ejercicios selectos 773

r^
Un sistema de red: IDMS 776

C.1 Antecedentes 776


C.2 El modelo de red 777
C.3 Panorama general de II)MS 783
C.4 Definicin de datos 784
C.5 Manipulacin de datos 787
C.6 Estructura de almacenamiento 797
C.7 El recurso de registro lgico 798
C.8 El recurso autom ti co del sistema 804
C.9 Comentarios finales 809
Ejercicios 813
Referencias y bibliografa 814
Respuestas a ejercicios selectos 815

Abreviaturas y acrnimos 819

ndice de materias 823


Vocabulario tcnico bilinge 843

También podría gustarte