PREFACIO, XVII
CAPÍTULO 1: INTRODUCCIÓN
1.1. APLICACIONES DE LOS SISTEMAS DE BASES DE DATOS, 1
1.2. SISTEMAS DE BASES DE DATOS FRENTE A SISTEMAS DE ARCHIVOS, 2
1.3. VISIÓN DE LOS DATOS, 3
1.4. MODELOS DE LOS DATOS, 5
1.5 LENGUAJES DE BASES DE DATOS, 7
1.6. USUARIOS Y ADMINISTRADORES DE LA BASE DE DATOS, 8
1.7. GESTIÓN DE TRANSACCIONES, 10
1.8. ESTRUCTURA DE UN SISTEMA DE BASES DE DATOS, 10
1.9. ARQUITECTURAS DE APLICACIONES, 12
1.10. HISTORIA DE LOS SISTEMAS DE BASES DE DATOS, 13
1.11. RESUMEN, 14
TÉRMINOS DE REPASO, 15
EJERCICIOS, 15
NOTAS BIBLIOGRÁFICAS, 16
HERRAMIENTAS, 16
PARTE PRIMERA: MODELOS DE DATOS
CAPÍTULO 2: MODELO ENTIDAD-RELACIÓN
2.1. CONCEPTOS BÁSICOS, 19
2.2. RESTRICCIONES, 23
2.3. CLAVES, 24
2.4. CUESTIONES DE DISEÑO, 25
2.5. DIAGRAMA ENTIDAD-RELACIÓN, 28
2.6. CONJUNTOS DE ENTIDADES DÉBILES, 32
2.7. CARACTERÍSTICAS DEL MODELO E-R EXTENDIDO, 33
2.8. DISEÑO DE UN ESQUEMA DE BASE DE DATOS E-R, 39
2.9. REDUCCIÓN DE UN ESQUEMA E-R A TABLAS, 43
2.10. EL LENGUAJE DE MODELADO UNIFICADO UML, 46
2.11. RESUMEN, 48
TÉRMINOS DE REPASO, 49
EJERCICIOS, 49
NOTAS BIBLIOGRÁFICAS, 52
HERRAMIENTAS, 52
CAPÍTULO 3: EL MODELO RELACIONAL
3.1. LA ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES, 53
3.2. EL ÁLGEBRA RELACIONAL, 59
3.3. OPERACIONES DEL ÁLGEBRA RELACIONAL EXTENDIDA, 67
3.4. MODIFICACIÓN DE LA BASE DE DATOS, 71
3.5. VISTAS, 73
3.6. EL CÁLCULO RELACIONAL DE TUPLAS, 75
CONTENIDO
X
3.7. EL CÁLCULO RELACIONAL DE DOMINIOS, 78
3.8. RESUMEN, 80
TÉRMINOS DE REPASO, 81
EJERCICIOS, 81
NOTAS BIBLIOGRÁFICAS, 83
PARTE SEGUNDA: BASES DE DATOS RELACIONALES
CAPÍTULO 4: SQL
4.1. INTRODUCCIÓN, 87
4.2. ESTRUCTURA BÁSICA, 88
4.3. OPERACIONES SOBRE CONJUNTOS, 92
4.4. FUNCIONES DE AGREGACIÓN, 93
4.5. VALORES NULOS, 95
4.6. SUBCONSULTAS ANIDADAS, 95
4.7. VISTAS, 98
4.8. CONSULTAS COMPLEJAS, 99
4.9. MODIFICACIÓN DE LA BASE DE DATOS, 100
4.10. REUNIÓN DE RELACIONES, 103
4.11. LENGUAJE DE DEFINICIÓN DE DATOS, 106
4.12. SQL INCORPORADO, 109
4.13. SQL DINÁMICO, 111
4.14. OTRAS CARACTERÍSTICAS DE SQL, 114
4.15. RESUMEN, 115
TÉRMINOS DE REPASO, 115
EJERCICIOS, 116
NOTAS BIBLIOGRÁFICAS, 117
CAPÍTULO 5: OTROS LENGUAJES RELACIONALES
5.1. QUERY-BY-EXAMPLE, 119
5.2. DATALOG, 127
5.3. INTERFACES DE USUARIO Y HERRAMIENTAS, 135
5.4. RESUMEN, 137
TÉRMINOS DE REPASO, 137
EJERCICIOS, 137
NOTAS BIBLIOGRÁFICAS, 139
HERRAMIENTAS, 139
CAPÍTULO 6: INTEGRIDAD Y SEGURIDAD
6.1. RESTRICCIONES DE LOS DOMINIOS, 141
6.2. INTEGRIDAD REFERENCIAL, 142
6.3. ASERTOS, 145
6.4. DISPARADORES, 146
6.5. SEGURIDAD Y AUTORIZACIÓN, 149
6.6. AUTORIZACIÓN EN SQL, 153
6.7. CIFRADO Y AUTENTICACIÓN, 155
6.8. RESUMEN, 156
TÉRMINOS DE REPASO, 157
EJERCICIOS, 157
NOTAS BIBLIOGRÁFICAS, 159
CONTENIDO
XI
CAPÍTULO 7: DISEÑO DE BASES DE DATOS RELACIONALES
7.1. PRIMERA FORMA NORMAL, 161
7.2. DIFICULTADES EN EL DISEÑO DE BASES DE DATOS RELACIONALES, 162
7.3. DEPENDENCIAS FUNCIONALES, 163
7.4. DESCOMPOSICIÓN, 169
7.5. PROPIEDADES DESEABLES DE LA DESCOMPOSICIÓN, 171
7.6. FORMA NORMAL DE BOYCE-CODD, 174
7.7. TERCERA FORMA NORMAL, 177
7.8. CUARTA FORMA NORMAL, 180
7.9. OTRAS FORMAS NORMALES, 182
7.10. PROCESO GENERAL DEL DISEÑO DE BASES DE DATOS, 183
7.11. RESUMEN, 185
TÉRMINOS DE REPASO, 186
EJERCICIOS, 186
NOTAS BIBLIOGRÁFICAS, 188
PARTE TERCERA: BASES DE DATOS BASADAS EN OBJETOS Y XML
CAPÍTULO 8: BASES DE DATOS ORIENTADAS A OBJETOS
8.1. NECESIDADES DE LOS DE TIPOS DE DATOS COMPLEJOS, 193
8.2. EL MODELO DE DATOS ORIENTADO A OBJETOS, 194
8.3. LENGUAJES ORIENTADOS A OBJETOS, 200
8.4. LENGUAJES DE PROGRAMACIÓN PERSISTENTE, 200
8.5. SISTEMAS C++ PERSISTENTES, 203
8.6. SISTEMAS JAVA PERSISTENTES, 207
8.7. RESUMEN, 208
TÉRMINOS DE REPASO, 208
EJERCICIOS, 209
NOTAS BIBLIOGRÁFICAS, 209
CAPÍTULO 9: BASES DE DATOS RELACIONALES ORIENTADAS A OBJETOS
9.1. RELACIONES ANIDADAS, 211
9.2. TIPOS COMPLEJOS, 212
9.3. HERENCIA, 215
9.4. TIPOS DE REFERENCIA, 217
9.5. CONSULTAS CON TIPOS COMPLEJOS, 218
9.6. FUNCIONES Y PROCEDIMIENTOS, 220
9.7. COMPARACIÓN ENTRE LAS BASES DE DATOS ORIENTADAS A OBJETOS Y LAS BASES
DE DATOS RELACIONALES ORIENTADAS A OBJETOS, 223
9.8. RESUMEN, 223
TÉRMINOS DE REPASO, 224
EJERCICIOS, 224
NOTAS BIBLIOGRÁFICAS, 225
HERRAMIENTAS, 226
CAPÍTULO 10: XML
10.1. ANTECEDENTES, 227
10.2. ESTRUCTURA DE LOS DATOS XML, 228
10.3. ESQUEMA DE LOS DOCUMENTOS XML, 230
10.4. CONSULTA Y TRANSFORMACIÓN, 233
CONTENIDO
XII
10.5. LA INTERFAZ DE PROGRAMACIÓN DE APLICACIONES, 238
10.6. ALMACENAMIENTO DE DATOS XML, 239
10.7. APLICACIONES XML, 240
10.8. RESUMEN, 242
TÉRMINOS DE REPASO, 243
EJERCICIOS, 244
NOTAS BIBLIOGRÁFICAS, 245
HERRMIENTAS, 245
PARTE CUARTA: ALMACENAMIENTO DE DATOS Y CONSULTAS
CAPÍTULO 11: ALMACENAMIENTO Y ESTRUCTURA DE ARCHIVOS
11.1. VISIÓN GENERAL DE LOS MEDIOS FÍSICOS DE ALMACENAMIENTO, 249
11.2. DISCOS MAGNÉTICOS, 251
11.3. RAID, 255
11.4. ALMACENAMIENTO TERCIARIO, 260
11.5. ACCESO AL ALMACENAMIENTO, 262
11.6. ORGANIZACIÓN DE LOS ARCHIVOS, 264
11.7. ORGANIZACIÓN DE LOS REGISTROS EN ARCHIVOS, 268
11.8. ALMACENAMIENTO CON DICCIONARIOS DE DATOS, 271
11.9. ALMACENAMIENTO PARA LAS BASES DE DATOS ORIENTADAS A OBJETOS, 271
11.10. RESUMEN, 278
TÉRMINOS DE REPASO, 279
EJERCICIOS, 280
NOTAS BIBLIOGRÁFICAS, 281
CAPÍTULO 12: INDEXACIÓN Y ASOCIACIÓN
12.1. CONCEPTOS BÁSICOS, 283
12.2. ÍNDICES ORDENADOS, 284
12.3. ARCHIVOS DE ÍNDICES DE ÁRBOL B+, 289
12.4. ARCHIVOS CON ÍNDICES DE ÁRBOL B, 297
12.5. ASOCIACIÓN ESTÁTICA, 298
12.6. ASOCIACIÓN DINÁMICA, 302
12.7. COMPARACIÓN DE LA INDEXACIÓN ORDENADA Y LA ASOCIACIÓN, 308
12.8. DEFINICIÓN DE ÍNDICES EN SQL, 309
12.9. ACCESOS MULTICLAVE, 309
12.10. RESUMEN, 314
TÉRMINOS DE REPASO, 315
EJERCICIOS, 316
NOTAS BIBLIOGRÁFICAS, 317
CAPÍTULO 13: PROCESAMIENTO DE CONSULTAS
13.1. VISIÓN GENERAL, 319
13.2. MEDIDAS DEL COSTE DE UNA CONSULTA, 321
13.3. OPERACIÓN SELECCIÓN, 321
13.4. ORDENACIÓN, 324
13.5. OPERACIÓN REUNIÓN, 326
13.6. OTRAS OPERACIONES, 333
13.7. EVALUACIÓN DE EXPRESIONES, 335
13.8. RESUMEN, 339
CONTENIDO
XIII
TÉRMINOS DE REPASO, 339
EJERCICIOS, 340
NOTAS BIBLIOGRÁFICAS, 341
CAPÍTULO 14: OPTIMIZACIÓN DE CONSULTAS
14.1. VISIÓN GENERAL, 343
14.2. ESTIMACIÓN DE LAS ESTADÍSTICAS DE LOS RESULTADOS DE LAS EXPRESIONES, 344
14.3. TRANSFORMACIÓN DE EXPRESIONES RELACIONALES, 348
14.4. ELECCIÓN DE LOS PLANES DE EVALUACIÓN, 352
14.5. VISTAS MATERIALIZADAS, 358
14.6. RESUMEN, 361
TÉRMINOS DE REPASO, 362
EJERCICIOS, 362
NOTAS BIBLIOGRÁFICAS, 363
PARTE QUINTA: GESTIÓN DE TRANSACIONES
CAPÍTULO 15: TRANSACCIONES
15.1. CONCEPTO DE TRANSACCIÓN, 367
15.2. ESTADOS DE UNA TRANSACCIÓN, 369
15.3. IMPLEMENTACIÓN DE LA ATOMICIDAD Y LA DURABILIDAD, 371
15.4. EJECUCIONES CONCURRENTES, 372
15.5. SECUENCIALIDAD, 374
15.6. RECUPERABILIDAD, 377
15.7. IMPLEMENTACIÓN DEL AISLAMIENTO, 378
15.8. DEFINICIÓN DE TRANSACCIONES EN SQL, 378
15.9. COMPROBACIÓN DE LA SECUENCIALIDAD, 379
15.10. RESUMEN, 380
TÉRMINOS DE REPASO, 381
EJERCICIOS, 381
NOTAS BIBLIOGRÁFICAS, 382
CAPÍTULO 16: CONTROL DE CONCURRENCIA
16.1. PROTOCOLOS BASADOS EN EL BLOQUEO, 383
16.2. PROTOCOLOS BASADOS EN MARCAS TEMPORALES, 390
16.3. PROTOCOLOS BASADOS EN VALIDACIÓN, 393
16.4. GRANULARIDAD MÚLTIPLE, 394
16.5. ESQUEMAS MULTIVERSIÓN, 396
16.6. TRATAMIENTO DE INTERBLOQUEOS, 398
16.7. OPERACIONES PARA INSERTAR Y BORRAR, 401
16.8. NIVELES DÉBILES DE CONSISTENCIA, 403
16.9. CONCURRENCIA EN ESTRUCTURAS DE ÍNDICE, 404
16.10. RESUMEN, 406
TÉRMINOS DE REPASO, 408
EJERCICIOS, 409
NOTAS BIBLIOGRÁFICAS, 411
CAPÍTULO 17: SISTEMA DE RECUPERACIÓN
17.1. CLASIFICACIÓN DE LOS FALLOS, 413
17.2. ESTRUCTURA DEL ALMACENAMIENTO, 414
17.3. RECUPERACIÓN Y ATOMICIDAD, 416
CONTENIDO
XIV
17.4. RECUPERACIÓN BASADA EN EL REGISTRO HISTÓRICO, 417
17.5. PAGINACIÓN EN LA SOMBRA, 422
17.6. TRANSACCIONES CONCURRENTES Y RECUPERACIÓN, 425
17.7. GESTIÓN DE LA MEMORIA INTERMEDIA, 427
17.8. FALLO CON PÉRDIDA DE ALMACENAMIENTO NO VOLÁTIL, 430
17.9. TÉCNICAS AVANZADAS DE RECUPERACIÓN, 430
17.10. SISTEMAS REMOTOS DE COPIAS DE SEGURIDAD, 435
17.11. RESUMEN, 437
TÉRMINOS DE REPASO, 439
EJERCICIOS, 440
NOTAS BIBLIOGRÁFICAS, 441
PARTE SEXTA: ARQUITECTURA DE LOS SISTEMAS DE BASES DE DATOS
CAPÍTULO 18: ARQUITECTURAS DE LOS SISTEMAS DE BASES DE DATOS
18.1. ARQUITECTURAS CENTRALIZADAS Y CLIENTE-SERVIDOR, 445
18.2. ARQUITECTURAS DE SISTEMAS SERVIDORES, 448
18.3. SISTEMAS PARALELOS, 451
18.4. SISTEMAS DISTRIBUIDOS, 455
18.5. TIPOS DE REDES, 458
18.6. RESUMEN, 459
TÉRMINOS DE REPASO, 460
EJERCICIOS, 461
NOTAS BIBLIOGRÁFICAS, 461
CAPÍTULO 19: BASES DE DATOS DISTRIBUIDAS
19.1. BASES DE DATOS HOMOGÉNEAS Y HETEROGÉNEAS, 463
19.2. ALMACENAMIENTO DISTRIBUIDO DE DATOS, 464
19.3. TRANSACCIONES DISTRIBUIDAS, 466
19.4. PROTOCOLOS DE COMPROMISO, 467
19.5. CONTROL DE LA CONCURRENCIA EN LAS BASES DE DATOS DISTRIBUIDAS, 472
19.6. DISPONIBILIDAD, 477
19.7. PROCESAMIENTO DISTRIBUIDO DE CONSULTAS, 480
19.8. BASES DE DATOS DISTRIBUIDAS HETEROGÉNEAS, 482
19.9. SISTEMAS DE DIRECTORIO, 484
19.10. RESUMEN, 487
TÉRMINOS DE REPASO, 488
EJERCICIOS, 489
NOTAS BIBLIOGRÁFICAS, 491
CAPÍTULO 20: BASES DE DATOS PARALELAS
20.1. INTRODUCCIÓN, 493
20.2. PARALELISMO DE E/S, 493
20.3. PARALELISMO ENTRE CONSULTAS, 496
20.4. PARALELISMO EN CONSULTAS, 497
20.5. PARALELISMO EN OPERACIONES, 497
20.6. PARALELISMO ENTRE OPERACIONES, 502
20.7. DISEÑO DE SISTEMAS PARALELOS, 504
20.8. RESUMEN, 505
TÉRMINOS DE REPASO, 505
CONTENIDO
XV
EJERCICIOS, 506
NOTAS BIBLIOGRÁFICAS, 507
PARTE SÉPTIMA: OTROS TEMAS
CAPÍTULO 21: DESARROLLO DE APLICACIONES Y ADMINISTRACIÓN
21.1. INTERFACES WEB PARA BASES DE DATOS, 511
21.2. AJUSTE DEL RENDIMIENTO, 517
21.3. PRUEBAS DE RENDIMIENTO, 523
21.4. NORMALIZACIÓN, 525
21.5. COMERCIO ELECTRÓNICO, 528
21.6. SISTEMAS HEREDADOS, 530
21.7. RESUMEN, 531
TÉRMINOS DE REPASO, 531
EJERCICIOS, 532
SUGERENCIAS DE PROYECTOS, 533
NOTAS BIBLIOGRÁFICAS, 534
HERRAMIENTAS, 535
CAPÍTULO 22: CONSULTAS AVANZADAS Y RECUPERACIÓN DE INFORMACIÓN
22.1. SISTEMAS DE AYUDA A LA TOMA DE DECISIONES, 537
22.2. ANÁLISIS DE DATOS Y OLAP, 538
22.3. RECOPILACIÓN DE DATOS, 546
22.4. ALMACENAMIENTO DE DATOS, 554
22.5. SISTEMAS DE RECUPERACIÓN DE LA INFORMACIÓN, 556
22.6. RESUMEN, 563
TÉRMINOS DE REPASO, 564
EJERCICIOS, 566
NOTAS BIBLIOGRÁFICAS, 567
HERRAMIENTAS, 567
CAPÍTULO 23: TIPOS DE DATOS AUTOMÁTICOS Y NUEVAS APLICACIONES
23.1. MOTIVACIÓN, 569
23.2. EL TIEMPO EN LAS BASES DE DATOS, 570
23.3. DATOS ESPACIALES Y GEOGRÁFICOS, 571
23.4. BASES DE DATOS MULTIMEDIA, 579
23.5. COMPUTADORAS PORTÁTILES Y BASES DE DATOS PERSONALES, 581
23.6. RESUMEN, 584
TÉRMINOS DE REPASO, 585
EJERCICIOS, 586
NOTAS BIBLIOGRÁFICAS, 587
CAPÍTULO 24: PROCESAMIENTO AVANZADO DE TRANSACCIONES
24.1. MONITORES DE PROCESAMIENTO DE TRANSACCIONES, 589
24.2. FLUJOS DE TRABAJO DE TRANSACCIONES, 592
24.3. BASES DE DATOS EN MEMORIA PRINCIPAL, 596
24.4. SISTEMAS DE TRANSACCIONES DE TIEMPO REAL, 598
24.5. TRANSACCIONES DE LARGA DURACIÓN, 599
24.6. GESTIÓN DE TRANSACCIONES EN VARIAS BASES DE DATOS, 603
24.7. RESUMEN, 605
TÉRMINOS DE REPASO, 606
EJERCICIOS, 607
NOTAS BIBLIOGRÁFICAS, 608
XVI
PARTE OCTAVA: ESTUDIO DE CASOS
CAPÍTULO 25: ORACLE
25.1. HERRAMIENTAS PARA EL DISEÑO DE BASES DE DATOS Y LA CONSULTA, 611
25.2. VARIACIONES Y EXTENSIONES DE SQL, 612
25.3. ALMACENAMIENTO E INDEXACIÓN, 614
25.4. PROCESAMIENTO Y OPTIMIZACIÓN DE CONSULTAS, 619
25.5. CONTROL DE CONCURRENCIA Y RECUPERACIÓN, 623
25.6. ARQUITECTURA DEL SISTEMA, 625
25.7. RÉPLICAS, DISTRIBUCIÓN Y DATOS EXTERNOS, 626
25.8. HERRAMIENTAS DE GESTIÓN DE BASES DE DATOS, 627
NOTAS BIBLIOGRÁFICAS, 628
CAPÍTULO 26: DB2 DE IBM
26.1. HERRAMIENTAS PARA EL DISEÑO DE BASES DE DATOS Y LA CONSULTA, 630
26.2. VARIACIONES Y EXTENSIONES DE SQL, 630
26.3. ALMACENAMIENTO E INDEXACIÓN, 631
26.4. PROCESAMIENTO Y OPTIMIZACIÓN DE CONSULTAS, 634
26.5. CONTROL DE CONCURRENCIA Y RECUPERACIÓN, 637
26.6. ARQUITECTURA DEL SISTEMA, 639
26.7. RÉPLICAS, DISTRIBUCIÓN Y DATOS EXTERNOS, 641
26.8. HERRAMIENTAS DE ADMINISTRACIÓN DE BASES DE DATOS, 641
26.9. RESUMEN, 642
NOTAS BIBLIOGRÁFICAS, 643
CAPÍTULO 27: SQL SERVER DE MICROSOFT
27.1. HERRAMIENTAS PARA EL DISEÑO Y CONSULTA DE BASES DE DATOS, 645
27.2. VARIACIONES Y EXTENSIONES DE SQL, 650
27.3. ALMACENAMIENTO E INDEXACIÓN, 652
27.4. PROCESAMIENTO Y OPTIMIZACIÓN DE CONSULTAS, 654
27.5. CONCURRENCIA Y RECUPERACIÓN, 657
27.6. ARQUITECTURA DEL SISTEMA, 660
27.7. ACCESO A DATOS, 661
27.8. DISTRIBUCIÓN Y RÉPLICAS, 662
27.9. CONSULTAS DE TEXTO COMPLETO SOBRE DATOS RELACIONALES, 665
27.10. ALMACENES DE DATOS Y SERVICIOS DE ANÁLISIS, 666
27.11. XML Y SOPORTE DE WEB, 667
27.12. RESUMEN, 670
NOTAS BIBLIOGRÁFICAS, 670