Post on 19-Jan-2016
ThomasM. ConnollyCarolynE. Begg
PEARSON
AddisonWesley
SistemasdebasesdedatosUN ENFOQUE PRCTICO PARA DISEO, IMPLEMENTACIN y GESTIN
Cuartaedicin
THOMAS M. CONNOLLYCAROLYN E. BEGG
University01Paisley
Traduccin
Vuelapluma
MadrideMxicoe SantafdeBogoteBuenosAireseCaracaseLimaMontevideoeSanJuaneSanJoseSantiagoeSaoPaulo
ReadingeMassachusettseHarloweEngland
Datos de catalogacinbibliogrfica
SISTEMAS DE BASES DE DATOSConnolly, T. M.; Begg, C. E.
Pearson Educacin S.A., Madrid, 2005
ISBN: 84-7829-075-3
Materia: Informtica, 681.3
Formato: 195x 250mm. Pginas: 1320
Todoslos derechosreservados.Queda prohibida, salvo excepcin previstaen la Ley, cualquier forma de reproduccin,distribucin,comunicacin pblica y transformacinde esta obra sin contar conautorizacin de los titularesde propiedad intelectual.La infraccinde los derechosmencionados puede ser constitutivade delito contra la propiedad intelectual(arts. 270 y sgts. Cdigo Penal).
DERECHOS RESERVADOS
2005porPEARSON EDUCACIN S.A.RiberadelLoira, 2828042Madrid
SISTEMAS DE BASES DE DATOSConnolly,T. M.; Begg,C. E.
ISBN: 84-7829-075-3
DepsitoLegal:M-30.815-2005ADDISON WESLEY esun selloeditorialautorizadodePEARSON EDUCACIN S.A.
PearsonEducationLimited 1995,2005This translationofDATABASE SYSTEMS -APRACTICALAPPROACH TO DESIGN,IMPLEMENTATION AND MANAGEMENT 04Edition is publishedby arrangementwithPearsonEducationLimited,UnitedKingdom
EquipoeditorialEditor:Miguel Martn-RomoTcnicoeditorial:MartaCaicoya
EquipodeproduccinDirector:JosA. ClaresTcnico:TiniCardoso
Diseodecubierta:EquipodediseodePearsonEducacinS.A.
Impresopor:GrficasRgar
IMPRESO EN ESPAA - PRlNTED IN SPAIN
Estelibro ha sidoimpresoconpapely tintasecolgicos
\Prefacio .
Parte 1 Introduccin .
Contenido
XXXIII
1
Captulo 1 Introduccin a las bases de datos 3
1.1 Introduccin 4
1.2 Sistemas tradicionales basados en archivos 6
1.2.1 La tcnica basada en archivos .... 7
1.2.2 Limitaciones de la tcnica basada en archivos 11
1.3 Sistemas de bases de datos 13
1.3.1 La base de datos 14
1.3.2 Sistema de gestin de base de datos (SGBD) 15
1.3.3 Programa de aplicacin 16
1.3.4 Componentes de un entorno SGBD 17
1.3.5 Diseo de bases de datos: un cambio en el paradigma 19
1.4 Papeles en un entorno de base de datos 20
1.4.1 Administradores de datos y de la base de datos 20
1.4.2 Diseadores de bases de datos 20
1.4.3 Desarrolladores de aplicaciones 21
1.4.4 Usuarios finales 21
1.5 Historia de los sistemas de gestin de bases de datos 22
1.6 Ventajas y desventajas de los SGBD 24
Resumen 28
Cuestionesde repaso 29
Ejercicios 30
Captulo 2 El entorno de la base de datos 31
2.1 La arquitectura en tres niveles de ANSI-SPARC 32
2.1.1 Nivel externo 33
2.1.2 Nivel conceptual 33
2.1.3 Nivel interno 34
2.1.4 Esquemas, asignaciones e instancias 34
XII Sistemasde basesde datos
2.1.5 Independenciade los datos 36
2.2 Lenguajesde basede datos 37
2.2.1 El lenguajede definicinde datos (DDL) 37
2.2.2 El lenguajede manipulacinde datos (DML) 37
2.2.3 Lenguajesde cuartageneracin(4GL) -.-.- 39
2.3 Modelosde datosy modeladoconceptual 40
2.3.1 Modelosde datos basadosen objetos 41
2.3.2 Modelosde datos basadosen registros 41
2.3.3 Modelosde datosfsicos 43
2.3.4 Modeladoconceptual 43
2.4 Funcionesde un SGBD 44
2.5 Componentesde un SGBD 48
2.6 Arquitecturasde SGBD multiusuario 51
2.6.1 Teleprocesamiento 51
2.6.2 Arquitecturade servidorde archivos 51
2.6.3 Arquitecturacliente-servidortradicionalen dos niveles 52
2.6.4 Arquitecturacliente-servidoren tres niveles 55
2.6.5 Monitoresde procesamientode transacciones 56
Resumen 57
Cuestiones de repaso 59
Ejercicios 59
Parte 2 El modelo relacional y los lenguajesrelacionales 61Captulo 3 Introduccin a las bases de datos 63
3.1 Brevehistoriadel modelorelacional 64
3.2 Terminologa 65
3.2.1 Estructurasde datos relacionales 65
3.2.2 Relacionesmatemticas 68
3.2.3 Relacionesen unabasede datos 68
3.2.4 Propiedadesde las relaciones 69
3.2.5 Clavesrelacionales 70
3.2.6 Representacinde esquemasde basede datos relacional 72
3.3 Restriccionesde integridad 72
3.3.1 Valoresnulos 72
3.3.2 Integridadde entidad 74
3.3.3 Integridadreferencial 74
3.3.4 Restriccionesgenerales 753.4 Vistas 75
3.4.1 Terminologa 75
3.4.2 Propsitode las vistas 76
3.4.3 Actualizacinde las vistas 76
Contenido XIII
Resumen 77
Cuestiones de repaso 77
Ejercicios 78
Captulo 4 lgebra relacional y clculo relacional _._._ 794.1 El lgebra relacional 80
4.1 .1 Operaciones unarias 80
4.1.2 Operaciones de conjuntos 82
4.1.3 Operaciones de combinacin .. 86
4.1.4 Operacin de divisin 89
4.1.5 Operaciones de agregacin y de agrupamiento 90
4.1.6 Resumen de las operaciones de lgebra relacional 92
4.2 El clculo relacional 93
4.2.1 Clculo relacional de tuplas . 93
4.2.2 Clculo relacional de dominios 96
4.3 Otros lenguajes 98
Resumen 98
Cuestiones de repaso 99Ejercicios 99
Captulo 5 SQL: manipulacin de datos 101
5.1 Introduccin a SOL 102
5.1.1 Objetivos de SOL 102
5.1.2 Historia de SOL 103
5.1.3 Importancia de SOL 104
5.1.4 Terminologa 105
5.2 Escritura de comandos SOL 105
5.3 Manipulacin de datos 106
5.3.1 Consultas simples 107
5.3.2 Ordenacin de los resultados (clusula ORDER BY) 114
5.3.3 Utilizacin de las funciones de agregacin de SOL 116
5.3.4 Agrupacin de resultados (clusula GROUP BY) 118
5.3.5 Subconsultas 121
5.3.6 ANY Y ALL 123
5.3.7 Consultas multitabla 125
5.3.8 EXISTS y NOT EXISTS 130
5.3.9 Combinacin de tablas de resultados (UNION, INTERSECT,
EXCEPT) 131
5.3.10 Actualizaciones de la base de datos 134
Resumen 138
Cuestiones de repaso 139
Ejercicios 139
XIV Sistemasde basesde datos
6.4 Vistas
6.4.1 Creacin de una vista (CREA TE VIEW) .
6.4.2. Eliminacin de una vista (DROP VIEW)
6.4.3 Resolucin de vistas .
6.4.4 Restricciones de las vistas .
6.4.5 Actualizacin de vistas .
6.4.6 WITH CHECK OPTION .
6.4.7 Ventajas y desventajas de las vistas .
6.4.8 Materializacin de vistas .
6.5 Transacciones .
6.5.1 Restricciones de integridad inmediatas e inferidas .
6.6 Control de acceso discrecional .
6.6.1 Concesin de privilegios a otros usuarios (GRANTI .
6.6.2 Revocacin de privilegios de los usuarios (REVOKE) .
Resumen .
Cuestiones de repaso .
Ejercicios .
Captulo 6 SOL: definicin de datos ~.
6.1 Tipos de datos SOL de ISO .
6.1.1 Identificadores SOL .
6.1.2 Tipos de datos SOL escalares .
6.1.3 Datos numricos exactos .
6.2 Caractersticas de mejora de la integridad .
6.2.1 Datos requeridos .
6.2.2 Restricciones de dominio .
6.2.3 Integridad de entidades .
6.2.4 Integridad referencial .
6.2.5 Restricciones generales .
6.3 Definicin de datos .
6.3.1 Creacin de una base de datos .
6.3.2 Creacin de una tabla (CREATE TABLE) .
6.3.3 Modificacin de la definicin de una tabla (ALTER TABLE) .
6.3.4 Eliminacin de una tabla (DROP TABLE) .
6.3.5 Creacin de un ndice (CREATE INDEX) .
6.3.6 Eliminacin de un ndice (DROP INDEX) .
Captulo 7
7.1
7.2
OSE
Introduccin a las consultas en Microsoft Of?ce Access .
Diseo de consultas de seleccin mediante OBE .
7.2.1 Especificacin de criterios .
7.2.2 Creacin de consultas multitabla .
141142
142
143
144
147
147
147
149
149
150
151
151
152
155
156
157
158
158
158
161
161
162
163
164
165
167
168
169
169
171
172
174
175
175
179
180
182
182
186
Contenido
7.2.3 Clculo de totales .
7.3 Utilizacin de consultas avanzadas
7.3.1 Consultas paramtricas
7.3.2 Consulta matricial ...
7.3.3 Consultas de localizacin de duplicados
7.3.4 Consulta de localizacin de no correspondencias
7.3.5 Consultas de autobsqueda .
7.4 Modificacin del contenido de las tablas mediante consultas de accin
7.4.1 Consultas de accin para creacin de tablas
7.4.2 Consulta de accin de borrado .
7.4.3 Consulta de accin de actualizacin
7.4.4 Consulta de accin de adicin .
Ejercicios " .
Captulo 8 Bases de datos comerciales: Office Access y Oracle .8.1 Microsoft Office Access 2003
8.1.1 Objetos .
8.1.2 Arquitectura de Microsoft Of?ce Access
8.1.3 Definicin de tablas .
8.1.4 Definicin de relaciones y de integridad referencial .
8.1.5 Definicin de restricciones generales .
8.1.6 Formularios .
8.1.7 Informes .
8.1.8 Macros .
8.1 .9 Dependencias entre objetos .
8.2 Oracle9i .
8.2.1 Objetos .
8.2.2 Arquitectura de Oracle
8.2.3 Definicin de tablas ....
8.2.4 Definicin de restricciones generales
8.2.5 PL/SQL .
8.2.6 Subprogramas, procedimientos almacenados, funciones y paquetes
8.2.7 Disparadores .
8.2.8 Oracle Internet Developer Suite
8.2.9 Otras funcionalidades de Oracle
8.2.10 Oracle10g .
Resumen .
Cuestionesde repaso .
Parte 3 Tcnicas de anlisis y diseo de bases de datos ....
Captulo 9 Planificacin, diseo y administracin de bases de datos .
xv
186
188
189
190
192
194
195
195
195
199
199
199
202
205205
206
206
208
213
213
215
217
218
221
221
223
224
230
233
233
239
240
244
248
248
252
253
255
257
Contenido XVII
10.4 Ejemplode utilizacinde tcnicasde determinacinde hechos 293
10.4.1 El caso de estudiode DreamHome: panormica 293
10.4.2 El caso de estudiode DreamHome: planificacinde la basede datos 298
10.4.3 El caso de estudiode DreamHome: definicindel sistema 302
10.4.4 El caso de estudiode DreamHome: recopilaciny anlisisderequisitos 303
10.4.5 El caso de estudiode DreamHome: diseode la basede datos .. 311
Resumen 311
Cuestiones de repaso 311
Ejercicios 312
Captulo 11 Modelado entidad-relacin 313
11.1 Tipos de entidad 314
11.2 Tipos de relacin 316
11.2.1 Gradode un tipo de relacin 318
11.2.2 Relacinrecursiva 318
11.3 Atributos 319
11.3.1 Atributossimplesy compuestos 320
11.3.2 Atributosunivaluadosy multivaluados 321
11.3.3 Atributosderivados 321
11.3.4 Claves 322
11.4 Tipos de entidadfuertesy dbiles 323
11.5 Atributo~delas relaciones 32411.6 Restriccionesestructurales 324
11.6.1 Relacionesuno a uno (1:1) 325
11.6.2 Relacionesuno a muchos(1:*) 326
11.6.3 Relacionesmuchosa muchos(*:*) 328
11.6.4 Multiplicidadpararelacionescomplejas 329
.11.6.5 Restriccionesde cardinalidady de participacin 330
11.7 Problemascon los modelosER 331
11.7.1 Trampasmultiplicativas 331
11.7.2 Trampasde corte 333
Resumen 334
Cuestiones de repaso 336
Ejercicios 336
Captulo 12 Modelado entidad-relacin avanzado 339
12.1 Especializacin/Generalizacin 340
12.1.1 Superclasesy subclases 340
12.1.2 Relacionessuperclasey subclase 340
12.1.3 Herenciade atributo 341
XVIII Sistemasde basesde datos
12.1.4 Proceso de especializacin 342
12.1.5 Proceso de generalizacin 342
12.1.6 Restricciones a la especializacin/generalizacin 344
12.1.7 Utilizacin de las tcnicas de especializacin/generalizacin paramodelar la vista Branch del caso de estudio DreamHome 346
12.2 Agregacin 350
12.3 Composicin 350
Resumen 352
Cuestiones de repaso 352
Ejercicios 352
Captulo 1313.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9
Normalizacin .
El propsito de la normalizacin .
Cmo ayuda la normalizacin al diseo de bases de datos
Redundancia de los datos y anomalas de actualizacin
13.3.1 Anomalas de insercin
13.3.2 Anomalas de borrado .
13.3.3 Anomalas de modificacin .
Dependencias funcionales .
13.4.1 Caractersticas de las dependencias funcionales.
13.4.2 Identificacin de dependencias funcionales ....
13.4.3 Identificacin de la clave primaria de una relacin utilizando
las dependencias funcionales
El proceso de normalizaclPn .
Primera forma normal (1NF) .
Segunda forma normal (2NF)
Tercera forma normal (3NF) .
Definiciones generales de las formas 2NF y 3NF .
Resumen .
Cuestiones de r@paso .
Ejercicios .
353354
354
355
356
357
357
358
358
362
364
365
367
370
372
374
375
376
376
Captulo 14 Normalizacin avanzada .
14.1 Ms aspectos relativos a las dependencias funcionales
14.1.1 Reglas de inferencia para dependencias funcionales
14.1.2 Conjuntos mnimos de dependencias funcionales
14.2 Forma normal de Boyce-Codd (BCNF) .
14.2.1 Definicin de la forma normal de Boyce-Codd
14.3 Revisin del proceso de normalizacin hasta BCNF
14.4 Cuarta forma normal (4NF) .
14.4.1 Dependencia multivaluada .
14.4.2 Definicin de cuarta forma normal .
379
380
380
382
383
383
385
391
391
392
Contenido XIX
14.5 Quinta forma normal (5NF) 393
14.5.1 Dependencia de combinacin sin prdidas 393
14.5.2 Definicin de quinta forma normal 393
Resumen 395
Cuestiones de repaso 395
Ejercicios _.. 395
Parte 4 Metodologa . 397
Captulo 15 Metodologa: diseo conceptual de la base de datos 399
15.1 Introduccin a la metodologa de diseo de bases de datos 400
15.1.1 Qu es una metodologa de diseo? 400
15.1.2 Diseo conceptual, lgico y fsico de una base datos 400
15.1.3 Factores crticos en el diseo de una base de datos 401
15.2 Panormica de la metodologa de diseo de la base de datos 401
15.3 Metodologa de diseo conceptual de la base de datos 404
Resumen 41 7
Cuestiones de repaso 418
Ejercicios 4 19
Captulo 16 Metodologa: diseo lgico de bases de datos para elmodelo relacional . 421
16.1 Metodologa de diseo lgico de bases de datos para el modelorelacional 422
.".
Paso 2 Construir y validar el modelo lgico de datos 422
Resumen 447
Cuestiones de repaso 448Ejercicios 449
Captulo 17 Metodologa: diseo fsico de bases de datos relacionales 451
17.l Comparacin del diseo lgico y el diseo fsico de bases de datos 452
17.2 Panormica de la metodologa de diseo fsico de bases de datos 452
17.3 Metodologa de diseo fsico de bases de datos relacionales 454
Resumen 471
Cuestiones de repaso 471Ejercicios 472
Captulo 18 Metodologa: monitorizacin y optimizacin del sistema final 473
18.1 Desnormalizacin e introduccin de redundancia controlada 473
18.2 Monitorizacin del sistema para mejorar el rendimiento 485
Resumen 489
Cuestiones de repaso 489
Ejercicios 490
XX Sistemas de bases de datos
Parte 5 Problemas fundamentales en las bases de datos
Captulo 19 Seguridad .
19.1 Seguridad de la base de datos .
19.1.1 Amenazas .
19.2 Contramedidas: controles informatizados .
19.2.1 Autorizacin .
19.2.2 Controles de acceso .
19.2.3 Vistas .
19.2.4 Copia de seguridad y recuperacin .
19.2.5 Integridad .
19.2.6 Cifrado .
19.2.7 RAID (Redundant Array of Independent Disks) .
19.3 Seguridad en el SGBD de Microsoft Office Access .
19.4 Seguridad en el SGBD de Oracle .
19.5 Seguridad de un SGBD en entornos web .' .
19.5.1 Servidores proxy .
19.5.2 Cortafuegos .
19.5.3 Algoritmos de compendio de mensajes y firmas digitales .
19.5.4 Certificados digitales .
19.5.5 Kerberos .
19.5.6 Secure Sockets Layer y Secure HTTP .
19.5.7 Secure Electronic Transactions y Secure Transaction T echnology .
19.5.8 Seguridad Java .
19.5.9 Seguridad ActiveX .
Resumen .
Cuestiones de repaso .
Ejercicios .
Captulo 20 Gestin de transacciones .
20.1 Soporte de transacciones .
20.1.1 Propiedades de las transacciones
20.1.2 Arquitectura de la base de datos
20.2 Control de concurrencia .
20.2.1 La necesidad del control de concurrencia
20.2.2 Serializabilidad y recuperabilidad
20.2.3 Mtodos de bloqueo .
20.2.4 Interbloqueos .
20.2.5 Mtodos de marca temporal .
20.2.6 Ordenacin de marcas temporales multiversin
20.2.7 Tcnicas optimistas .
491
493494
495
495
497
499
501
501
502
502
503
504
508
512
512
513
514
514
514
515
515
516
518
518
519
520
521
522
524
524
525
525
528
535
541
544
547
548
Contenido XXI
20.2.8 Granularidad de los elementos de datos
20.3 Recuperacin de la base de datos .....
20.3.1 La necesidad de la recuperacin .
20.3.2 Transacciones y recuperacin .
20.3.3 Funcionalidades de recuperacin .
20.3.4 Tcnicas de recuperacin .
20.3.5 Recuperacin en un SGBD distribuida .20.4 Modelos avanzados de transacciones .
20.4.1 Modelo de transacciones anidadas .
20.4.2 Sagas .20.4.3 Modelo de transacciones multinivel ..
20.4.4 Reestructuracin dinmica .
20.4.5 Modelos de flujo de trabajo .
20.5 Control de concurrencia y recuperacin en Oracle20.5.1 Niveles de aislamiento en Oracle .
20.5.2 Coherencia de lectura multiversin .
20.5.3 Deteccin interbloqueos .
20.5.4 Copia de seguridad y recuperacin .Resumen .
Cuestiones de repaso .
Ejercicios .
549
552
552
553
555
558
560
561
562
564
564
565
566
567
567
568
569
569
570
571572
21.5 Numeracin de las estrategias de ejecucin alternativas .
21.5.1 Pipelining .21.5.2 rboles lineales .
21.5.3 Operadores fsicos y estrategias de ejecucin
21.5.4 Reduccin del espacio de bsqueda .
583588
589
589
590596
603
605
606
606
607
608
609
575
576
579
583
Procesamiento de consultas .
Panormica del procesamiento de consultas .
Descomposicin de consultas .
Mtodo heurstico de optimizacin de consultas .
21.3.1 Reglas de transformacin para las operaciones del lgebrarelacional .
21.3.2 Estrategias de procesamiento heurstico .
21.4 Estimacin de costes para las operaciones del lgebra relacional21.4.1 Estadsticas de la base de datos .
21.4.2 Operacin de seleccin (S =
XXII Sistemasde basesde datos
21.5.5 Enumeracin de rboles de profundidad izquierda. 610
21.5.6 Optimizacin semntica de consultas 611
21 .5.7 Tcnicas alternativas de optimizacin de consultas 612
21.5.8 Optimizacin distribuida de consultas 612
21.6 Optimizacin de consultas en Oracle 613
21.6.1 Optimizacin basada en reglas y basada en costes. 613
21.6.2 Histogramas 616
21.6.3 Visualizacin del plan de ejecucin 618
Resumen 619
Cuestiones de repaso 620
Ejercicios 621
Parte 6 Bases de datos distribuidas y replicacin . 623
Captulo 22 Bases de datos distribuidas: conceptos y diseo 625
22.1 Introduccin 626
22.1.1 Conceptos 626
22.1.2 Ventajas y desventajas de los SGBDD 630
22.1.3 Sistemas SGBDD homogneos y heterogneos 633
22.2 Panormica de la comunicacin por red 635
22.3 Funciones y arquitectura de un SGBDD 639
22.3.1 Funciones de un SGBDD 639
22.3.2 Arquitectura de referencia para un SGBDD 639
22.3.3 Arquitectura de re,f.erenciapara un MDBS federado 641
22.3.4 Componentes de un SGBDD 642
22.4 Diseo de bases de datos relacionales distribuidas 643
22.4.1 Asignacin de los datos 644
22.4.2 Fragmentacin 645
22.5 Transparencia en un SGBDD 653
22.5.1 Transparencia de distribucin 653
22.5.2 Transparencia de transaccin 655
22.5.3 Transparencia de rendimiento 658
22.5.4 Transparencia de SGBD 660
22.5.5 Resumen de los conceptos de transparencia en un SGBDD 661
22.6 Las doce reglas de Date para un SGBDD 661
Resumen 662
Cuestiones de repaso 664
Ejercicios 664
Captulo 23 Bases de datos distribuidas: conceptos avanzados 667
23.1 Gestin de transacciones distribuidas 668
23.2 Control de concurrencia distribuido 668
Contenido
23.2.1 Objetivos .
23.2.2 Serializabilidad distribuida .
23.2.3 Protocolos de bloqueo .
23.2.4 Protocolos de marcado temporal
23.3 Gestin distribuida de interbloqueos ....
23.4 Recuperacin de bases de datos distribuidas
23.4.1 Fallos en un entorno distribuido ....
23.4.2 Cmo afectan los fallos a la recuperacin ..
23.4.3 Confirmacin en dos fases (2PC)
23.4.4 Confirmacin en tres fases (3PC)
23.4.5 Particionamiento de la red .
23.5 El modelo X/Open de procesamiento distribuido de transacciones
23.6 Optimizacin de consultas distribuidas .
23.6.1 Localizacin de los datos
23.6.2 Combinaciones distribuidas
23.6.3 Optimizacin global .
23.7 Distribucin en Oracle .
23.7.1 Funcionalidad del SGBDD de Oracle
Resumen .
Cuestiones de repaso.
Ejercicios .
Captulo 24 Replicacin y bases de datos mviles .-24.1 Introduccin a la replicacin de bases de datos .
24.2 Beneficios de la replicacin de base de datos .
24.3 Aplicaciones de la replicacin .
24.4 Componentes bsicos de la replicacin de bases de datos
24.5 Entornos de replicacin de bases de datos .
24.5.1 Replicacin sncrona y asncrona
24.5.2 Propiedad de los datos .
24.6 Servidores de replicacin .
24.6.1 Funcionalidad del servidor de replicacin
24.6.2 Problemas de implementacin .
24.7 Introduccin a las bases de datos mviles
24.7.1 Sistemas SGBD mviles .
24.8 Replicacin en Oracle .
24.8.1 Funcionalidad de replicacin de Oracle
Resumen .
Cuestiones de repaso .
Ejercicios .
XXIII
669
669
670
672
673
676
676
677
678
683
687
688
691
692
695
696
700
700
705706
706
709
710
710
711
712
712
712
713
716
717
717
720
721
722
722
726
726
727
XXIV Sistemasde basesde datos
Parte 7 Bases de datos orientadasa objetos 729
Resumen .
Cuestiones de repaso .
Ejercicios .
Captulo 26 Bases de datos orientadas a objetos: conceptos .
26.1 Introduccin a los modelos de datos orientados a objetos y a los SGBDOO
26.1.1 Definicin de un SGBD orientado a objetos
26.1.2 Modelos de datos funcionales .
26.1.3 Lenguajes de programacin persistentes
26.1.4 El Manifiesto de los sistemas de base de datos orientados
a objetos .
26.1.5 Estrategias alternativas para el desarrollo de un SGBDOO .
26.2 Perspectivas de los SGBDOO .
26.2.1 Tcnicas de transformacin de punteros
755
755
758
759
760
777
780
780
782
731
732
736
740
740
741
742
744
745
746
748
749
749
750
750
752
753
754
765
766
767
768
769
770
770
771
776
Introduccin a los SGBD orientados a objetos
Aplicaciones avanzadas de bases de datos
Debilidades de los SGBDR .
Conceptos de orientacin a objetos .
25.3.1 Abstraccin, encapsulacin y ocultacin de la informacin .
25.3.2 Objetos y atributos .
25.3.3 Identidad de los objetos ..
25.3.4 Mtodos y mensajes
25.3.5 Clases .
25.3.6 Subclases, superclases y herencia
25.3.7 Anulacin y sobrecarga .
25.3.8 Polimorfismo y enlace dinmico .
25.3.9 Objetos complejos .
25.4 Almacenamiento de objetos en una base de datos relacional' .
25.4.1 Asignacin de las clases a relaciones .
25.4.2 Acceso a los objetos en la base de datos relacional
25.5 Sistemas de bases de datos de nueva generacin ..
25.6 Diseo de bases de datos orientadas a objetos ....
25.6.1 Comparacin del modelado de datos orientado a objetos
y del modelado de datos conceptual .
25.6.2 Relaciones e integridad referencial ..
25.6.3 Diseo comportamental .
25.7 Anlisis y diseo orientados a objetos con UML ..
25.7.1 Diagramas UML .
25.7.2 Utilizacin de UML en la metodologa de diseo de bases dedatos .
Captulo 25
25.1
25.2
25.3
Contenido
26.2.2 Acceso a un objeto .26.3 Persistencia .
26.3.1 Esquemasde persistencia .
26.3.2 Persistenciaortogonal .26.4 Cuestionesrelativasa los SGBDOO
26.4.1 Transacciones .
26.4.2 Versiones .
26.4.3 Evolucinde los esquemas .
26.4.4 Arquitectura .
26.4.5 Bancosde pruebas .
26.5 Ventajasy desventajasde los SGBDOO
26.5.1 Ventajas .
26.5.2 Desventajas .
Resumen .
Cuestiones de repaso .
Ejercicios : .
Captulo 27 Bases de datos orientadas a objetos: estndares ysistemas .
27.1 ObjectManagementGroup _ .27.1.1 Preliminares .
27.1.2 La arquitecturaCORBA .
27.1.3 Otrasespecificacionesde OMG .
27.1.4 Arquitecturabasadaen modelos ...
27.2 Estndarde objetosde datos ODMG 3.0, 1999 .
27.2.1 ObjectDataManagementGroup .
27.2.2 El modelode objetos .
27.2.3 El lenguajede definicinde objetos .
27.2.4 El lenguajede consultade objetos .
27.2.5 Otraspartesdel estndarODMG .
27.2.6 Correspondenciaentreel diseoconceptualy el diseolgico(orientadoa objetos) .
27.3 ObjectStore .
27.3.1 Arquitectura .
27.3.2 Desarrollode unaaplicacinObjectStore .
27.3.3 Definicinde datos en ObjectStore .
27.3.4 Manipulacinde datos en ObjectStore .Resumen .
Cuestiones de repaso .
Ejercicios .
Captulo 28 Bases de datos objeto-relacionales .
28.1 Introduccina los sistemasde basesde datos objeto-relacionales .
xxv
785
787
787
788
790
790
790
791
794
796
799
799
800
802803804
805806
806
809
810
812
813
815
815
823
826
832
834
835
835
837
839
842
845846
846
847
848
XXVI Sistemasde basesde datos
28.2 Los manifiestos de las bases de datos de tercera generacin .
28.2.1 El manifiesto de los sistemas de bases de datos de tercera
generacin .
28.2.2 El Tercer manifiesto .
28.3 Postgres: un SGBDOR pionero
28.3.1 Objetivos de Postgres .
28.3.2 Tipos abstractos de datos
28.3.3 Relaciones y herencia .....
28.3.4 Identidad de los objetos .
28.4 SQL: 1999 y SQL:2003 .
28.4.1 Tipos de filas .
28.4.2 Tipos definidos por el usuario .
28.4.3 Subtipos y supertipos .....
28.4.4 Rutinas definidas por el usuario
28.4.5 Polimorfismo .
28.4.6 Tipos de referencia e identidad de los objetos
28.4.7 Creacin de tablas
28.4.8 Consulta de datos .
28.4.9 Tipos de coleccin
28.4.10 Vistas tipadas .
28.4.11 Mdulos almacenados persistentes
28.4.12 Disparadores .
28.4.13 Objetos de gran tamao
28.4.14 Recursin ":" .
28.5 Procesamiento y optimizacin de consultas
28.5.1 Nuevos tipos de ndices .
28.6 Extensiones orientadas a objetos en Oracle ..
28.6.1 Tipos de datos definidos por el usuario
28.6.2 Manipulacin de tablas de objetos
28.6.3 Vistas de objetos ....
28.6.4 Privilegios .....
28.7 Comparacin de los SGBDOR y los SGBDOO
Resumen .
Cuestiones de repaso .
Ejercicios .
Parte 8 Las bases de datos y la World Wide Web .
Captulo 29 Tecnologa web y sistemas de gestin de bases de datos .
29.1 Introduccin a Internet y a la Web .
29.1 .1 Intranets y Extranets .
29.1.2 Comercio electrnico y e-Business .
851
851
852
854
854
854
855
856
856
857
858
861
863
864
865
865
868
869
872
873
874
877
879
880
883
884
884
889
890
891
891
892
893
893
895
897
898
899
900
Contenido
29.2 La Web .
29.2.1 HTTP .
29.2.2 HTML .
29.2.3 Direcciones URL .
29.2.4 Pginas web estticas y dinmicas .
29.2.5 Servicios web .
29.2.6 Requisitos para la integracin web-SGBD .
29.2.7 Ventajas y desventajas de la integracin web-SGBD .
29.2.8 Tcnicas para la integracin de los SGBD y la Web .
29.3 Lenguajes script .
29.3.1 JavaScript y JScript .
29.3.2 VBScript .
29.3.3 Perl y PHP .
29.4 Common Gateway Interface .
29.4.1 Paso de informacin al script CGI .
29.4.2 Ventajas y desventajas de CGI .
29.5 Cookies HTTP .
29.6 Extensiones del servidor web .
29.6.1 Comparacin de CGI y de las extensiones de servidor .
29.7 Java .
29.7.1 JDBC .
29.7.2 SQLJ .
29.7.3 Comparacin de JDBC y SQLJ .-29.7.4 Persistencia gestionada por el contenedor (CMP) .
29.7.5 Objetos de datos Java (JDO) .
29.7.6 Servlets Java .
29.7.7 Pginas JavaServer .
29.7.8 Servicios web Java .
29.8 Plataforma web de Microsoft .
29.8.1 Acceso universal a datos .
29.8.2 ASP y ADO .
29.8.3 Servicios de datos remotos .
29.8.4 Comparacin de ASP y JSP .
29.8.5 Microsoft .NET .
29.8.6 Servicios web de Microsoft .
29.8.7 Microsoft Office Access y generacin de pginas web .
29.9 Plataforma Internet de Oracle .
29.9.1 Oracle Application Server (OracleAS) .
Resumen .
Cuestiones de repaso .
Ejercicios .
XXVII
901
902
904
904
906
907
907
908
912
913
913
914
915
915
917
918
919
920
921
921
925930
930
931
935
939
940
940
941
943
943
946
947
948
951
951
952
953
958
960
960
XXVIII Sistemasde basesde datos
Captulo 30 Datos semiestructurados y XML 963
30.1 Datos semiestructurados 964
30.1.1 Modelo de intercambio de objetos (OEM) 966
30.1.2 Lore y Lorel 966
30.2 Introduccin a XML 970
30.2.1 Panormica de XML 972
30.2.2 Definiciones de tipos de documentos (DTD) 975
30.3 Tecnologas relacionadas con XML 978
30.3.1 Interfaces DOM y SAX 978
30.3.2 Namespaces 979
30.3.3 XSL y XSL T 979
30.3.4 XPath (XML Path Language) 980
30.3.5 XPointer (XML Pointer Language) 981
30.3.6 XLink (XML Linking Language) 981
30.3.7 XHTML 982
30.3.8 Simple Object Access Protocol (SOAP) 982
30.3.9 Web Services Description Language (WSDL) 983
30.3.10 Universal Discovery, Description y Integration (UDDI) 983
30.4 XML Schema 985
30.4.1 RDF (Resource Description Framework) 992
30.5 Lenguajes de consulta para XML 993
30.5.1 Extensin de Lore y Lorel para tratar datos XML 994...
30.5.2 XML Query Working Group 995
30.5.3 XQuery - un lenguaje de consulta para XML 996
30.5.4 XML Information Set 1006
30.5.5 XQuery 1.0 and XPath 2.0 Data Model 1007
30.5.6 Semntica formal 1012
30.6 Bases de datos y XML 1019
30.6.1 Almacenamiento de XML en bases de datos 1019
30.6.2 XML y SQL 1021
30.6.3 Bases de datos XML nativas 1027
30.7 XML en Oracle 1028
Resumen 1031
Cuestiones de repaso 1033
Ejercicios 1034
Parte 9 Inteligencia empresarial 1035
Captulo 31 Conceptos de almacenes de datos .
31.1 Introduccin a los almacenes de datos .
31.1.1 Evolucin de los almacenes de datos .
1037
1038
1038
Contenido
31.1.2 Conceptos de almacenes de datos .
31.1.3 Ventajas de los almacenes de datos
31.1.4 Comparacin de los sistemas Ol TP Y los almacenes de datos
31.1.5 Problemas de los almacenes de datos .
31.2 Arquitectura de un almacn de datos .
31.2.1 Datos operacionales .
31.2.2 Repositorio de datos operacionales ..
31.2.3 Gestordecarga .
31.2.4 Gestor del almacn de datos ..
31.2.5 Gestor de consultas .
31 .2.6 Datos detallados .
31.2.7 Datos poco resumidos y muy resumidos
31.2.8 Datos de archivo/copia de seguridad ...
31.2.9 Metadatos .
31.2.10 Herramientas de acceso para usarios finales
31 .3 Flujos de datos en un almacn de datos .
31.3.1 Flujo de entrada .
31 .3.2 Flujo ascendente
31 .3.3 Flujo descendente
31.3.4 Flujo de salida .
31.3.5 Metaflujo .
31.4 Herramientas y tecnologas de almacn de datos .
31.4.1 Herramientas de extraccin, limpieza y transformacin
31.4.2 Sistemas SGBD para almacenes de datos .
31.4.3 Metadatos de un almacn de datos ....
31.4.4 Herramientas de administracin y gestin
31 .5 Mercados de datos .
.31 .5.1 Razones para crear un mercado de datos .
31.5.2 Cuestiones fundamentales en los mercados de datos
31.6 Almacenes de datos en Oracle .
31.6.1 Oracle9i .
Resumen .
Cuestiones de repaso .
Ejercicios .
Captulo 32 Diseo de almacenes de datos .
32.1 Diseo de la base de datos para un almacn de datos .
32.2 Modelado de la dimensionalidad .
32.2.1 Comparacin de los modelos DM y ER
32.3 Metodologa de diseo de bases de datos para almacenes dedatos .
XXIX
1038
1040
1042
1043
1044
1044
1045
1045
1045
1045
1045
1046
1046
1046
1046
1048
1049
1049
1050
1050
1051
1051
1051
1052
1054
1056
1056
1058
1058
1060
1060
1062
1064
1065
10671067
1068
1071
1072
XXX Sistemasde basesde datos
32.4 Criterios para verificar la dimensionalidad de un almacn dedatos .
32.5 Diseo de almacenes de datos con Oracle .
32.5.1 Componentes de Oracle Warehouse Builder .
32.5.2 Utilizacin de Oracle Warehouse Builder .
Resumen .
Cuestiones de repaso.
Ejercicios .
Captulo 33 OlAP .33.1 Procesamiento analtico en lnea .
33.1 1 Bateras de prueba OlAP .
33.2 Aplicaciones OlAP .
33.2.1 Beneficios de OlAP .
33.3 Representacin de datos multidimensionales .
33.4 Herramientas OlAP .
33.4.1 Reglas de Codd para las herramientas OlAP .
33.4.2 Categoras de herramientas OlAP .
33.5 Extensiones OlAP al estndar SOL .
33.5.1 Capacidades de agrupacin ampliadas .
33.5.2 Operadores OlAP elementales .
33.6 Aplicaciones OlAP en Oracle .
33.6.1 Entorno OlAP de Oracle .-33.6.2 Plataforma para aplicaciones de inteligencia empresarial .
33.6.3 Base de datos Oracle9i .
33.6.4 Oracle OlAP .
33.6.5 Prestaciones .
33.6.6 Gestin del sistema .
33.6.7 Requisitqs del sistema .
Resumen .
Cuestiones de repaso .
Ejercicios .
Captulo 34 Minera de datos .
34.1 Minera de datos .
34.2 Tcnicas de minera de datos .
34.2.1 Modelado predictivo .
34.2.2 Segmentacin de la base de datos .
34.2.3 Anlisis de enlaces .
34.2.4 Deteccin de desviaciones .
34.3 El proceso de minera de datos .
34.3.1 El modelo CRISP-DM .
1081
1081
1081
1082
1086
1087
1087
1089
1090
1090
1091
1092
1093
1095
1095
1097
1100
1101
1105
1107
1107
1108
1108
1110
1111
1111
1112
1112
1112
1113
1115
1115
1117
1117
1119
1120
1120
1120
1121
Contenido XXXI
3404 Herramientas de minera de datos .
34.5 Minera de datos y almacenes de datos .
34.6 Oracle Data Mining (ODM) .
34.6.1 Capacidades de minera de datos .
34.6.2 Soporte para aplicaciones de minera de datos.
34.6.3 Predicciones y asociaciones ",'
34.604 Entorno de Oracle Data Mining .
Resumen .
Cuestionesde repaso , .
Ejercicios .
Apndices
A Especificacin de requisitos de usuario para el caso deestudio de DreamHome .
A.l Vistas de usuario Branch de DreamHome .
A.l .1 Requisitos de datos .
A.l.2 Requisitos de transacciones (ejemplos)
A.2 Vistas de usuario Staff para DreamHome
A.2.1 Requisitos de datos .
A.2.2 Requisitos de transacciones (ejemplo) .
B Otros casos de estudio .
B.l Caso de estudio UniversityAccommodationOrrice .
13.1.1 Requisitos de datos .
B.l.2 Transacciones de consulta (ejemplos)
B.2 Caso de estudio EasyDriveSchool or Motoring
B.2.1 Requisitos de datos .
B.2.2 Transacciones de consulta (ejemplos) .
B.3 El caso de estudio WellmeadowsHospital.
B.3.1 Requisitos de datos .
B.3.2 Requisitos de transacciones (ejemplo) .
e Organizaciones de archivos e ndices .C.l Conceptos bsicos .
C.2 Archivos desordenados .
C.3 Archivos ordenados " .
CA Archivos hash .
CA.l Hashdinmico .
CA.2 Limitaciones de las tcnicas hash .
C.5 ndices .
C.5.1 Tipos de ndices .
C.5.2 Archivos secuenciales indexados .
1123
1124
1124
1124
1125
1125
1125
1126
1127
1127
1129
1131
1131
1131
1132
1133
1133
1134
1137
1137
1137
1139
1140
1140
1140
1141
1141
1147
1149
1150
1151
1151
1153
1155
1156
1157
1157
1158
XXXII Sistemasde basesde datos
C.5.3 ndices secundarios .
C.5.4 ndices multinivel
C.5.5rbolesB+ .
C.5.6 ndices de mapa de bits
C.5.7 ndices de combinacin .....
C.6 Tablas agrupadas y no agrupadas ..
C.6.1 Clsteres indexados .
C.6.2 Clsteres hash .
C.7 Directrices para seleccionar la organizacin de los archivos
Resumen del Apndice .
O Cundo es relacional un SGBD?
E SOL procedimental .
E.1 SOL embebido .
E.1 .1 Instrucciones SOL embebidas simples ..
E.1.2 rea de comunicaciones de SOL
E.1.3 Variables del lenguaje host ....
E.1.4 Extraccin de datos mediante SOL embebido y cursores
E.1.5 Utilizacin de cursores para modificar los datos
E.1.6 Estndar ISO para el SOL embebido
E.2 SOL dinmico .
E.3 El estndar ODBC (Open Database Connectivity) .
E.3.1 La arquitectura ODBC .
E.3.2 Niveles de~umplimiento ODBC ..
Resumen del Apndice .
Cuestiones de repaso .
Ejercicios .
F Notaciones alternativas para modelado ER .
F.1 Modelad9 ER utilizando la notacin Chen .
F.2 Modelado ER utilizando la notacin en pie de cuervo .
G Resumen de la metodologa de diseo de bases de datosrelacionales .
1159
1160
1160
1162
1164
1165
1165
1166
1167
1170
1173
1177
1178
1178
1179
1182
1183
1186
1188
1189
1190
1191
1192
1195
1195
1196
1197
1197
1197
1203
Referencias 1209
Lecturas adicionales 1223
ndice 1237
Prefacio
Introduccin
La historiade investigacinensistemasdebasesdedatosen los ltimos30 aoses la deunainvestigacindeexcepcionalproductividad,quehahechoquelos sistemasdebasesdedatosseanprobablementeel des-arrollomsimportanteenel campodela ingenieradelsoftware.Las basesdedatosconstituyenahorael fun-damentode todos los sistemasde informaciny han cambiadode manerafundamentalla forma en quemuchasorganizacionesoperan.En particular,los desarrollosrelativosa estatecnologaen los ltimosaoshanproducidosistemasquesonmuchomspotentesy msintuitivosdeutilizar,lo queha hechoquehayasistemasdebasesdedatosa disposicindeun nmerocadavezmayordeusuarios.Desafortunadamente,laaparentesimplicidaddeestossistemashahechoquealgunosusuarioscreenbasesdedatosy aplicacionessinlos necesariosconocimientoscomoparaconstruirun sistemaefectivoy eficiente.De aquprovienela 'crisisdelsoftware'o, comoalgunasvecessela denomina,la 'depresindelsoftware'quepareceafectaratodoslosdesarrollosenestecampo.
El estmulooriginalparala escrituradeestelibroprovienedeltrabajode los autoresdentrodelsectordelastecnologasde la informacin,dondehanestadoproporcionandoserviciosdeconsultorasobreel diseodebasesdedatosparanuevossistemassoftwarey, enmuchasocasiones,resolviendolosproblemasdelossis-temasexistentes.Adems,el trabajoacadmicode los autoreslespermitientrarencontactoconproblemassimilaresexperimentadosporotrosusuariosdistintos,losestudiantes.Los objetivosdeestelibroson,porello,proporcionarun textoquepresentala teorarelativaa lasbasesdedatosde la formamsclaraposibley, enconcreto,proporcionarunametodologadeldiseodebasesdedatosquepuedaserutilizadaporlectorestantotcnicoscomono tcnicos.
La metodologapresentadaenestelibroparasistemasdegestindebasesdedatosrelacionales(SGBDR)(el sistemaactualmentepredominanteparalasaplicacionesdecarcterempresarial)hasidoprobadaa 10 largodelos aosenentornastantoempresarialescomoacadmicos.Estcompuestadetresfasesprincipales:dise-o conceptual,lgicoy fisico de la basededatos.La primerafasecomienzaconla produccindeun mode-lo conceptualde losdatosqueseaindependientedetodaslasconsideracionesfisicas.Estemodeloserefinaacontinuacinen la segundafase,paraobtenerunmodelolgico de los datosdondeseeliminenlasestructu-rasquenopuedanrepresentarseen lossistemasrelacionales.En la tercerafase,el modelolgicode los datossetraduceaun diseofisicoadecuadoal SGBD elegido.La fasedediseofisico consideralasestructurasdealmacenamientoy mtodosdeaccesorequeridosparaun accesoseguroy eficientea la basededatosconte-nidaenel almacenamientosecundario.
La metodologadecadaunadelasfasessepresentaenformadeunaseriedepasos.Parael diseadorinex-perto,recomendamosquelospasossesiganenel ordendescrito,proporcionndosedirectricesquele ayuda-rndurantetodoesteproceso.Parael diseadormsexperimentado,la metodologapuedesermenospres-criptiva,actuandomscomoun marcodetrabajoo listadecomprobacin.Paraayudara queel lectorpuedautilizarla metodologay comprenderlosaspectosmsimportantes,hemosdescritoestametodologautilizan-do un ejemplorealista,basadoenun casodeestudiointegrado,DreamHome.Adems,enel ApndiceB seproporcionancasosdeestudioadicionalesparaquelos lectorespuedanaplicarla metodologapor s mismos.
XXXIV Sistemasde basesde datos
UML (Unified Modeling Language)Cadavezms,lasempresasestnestandarizandola formademodelarlosdatos,seleccionandounatcnicademodeladodedatosconcretay utilizndolaentodossusproyectosdedesarrollodebasesdedatos.Un mode-lo dedatosdealtonivelmuypopularqueseutilizaenel diseoconceptual/lgicodebasesdedatos,y queesel queempleamosenestelibro,estbasadoen losconceptosdelmodeloentidad-relacin(ER). Actualmenteno hayningunanotacinestndarparalos modelosER, en la mayorade los libros dedicadosal diseodebasesdedatosparaservidoresSGBD relacionalestiendena usarunadedosnotacionesconvencionales:
lanotacinChen,compuestaporrectngulosquerepresentanentidadesy rombos querepresentanrela-ciones,conlneasqueenlazanlos rectngulosy los rombos;o
la notacinenpie decuervo,quedenuevoconstaderectngulosquerepresentanlasentidadesy l-neasentrelas entidadesquerepresentanrelaciones,con un smbolodepie de cuervoenuno de losextremosde la lneapararepresentarlasrelacionesunoamuchos.
Ambasnotacionessonsoportadaspor lasherramientasCASE actuales.Sin embargo,puedenresultarbastan-teengorrosasdeutilizary algodifcilesdeexplicar.Con anterioridada estaedicin,utilizbamosla notacinde Chen; sin embargo,despusde procesarun completocuestionarioque fue elaboradopor PearsonEducation,vimosquehabaun consensogeneralenquelanotacindeberacambiarse,parautilizarel ltimolenguajede modeladoorientadoa objetos,denominadoUML (Unified Modeling Language).UML esunanotacinquecombinaelementosde lastrestendenciasprincipalesdediseoorientadoa objetos:el modela-doOMT deRumbaugh,el anlisisy diseoorientadoaobjetosdeBoochy la tcnicaObjectorydeJacobson.
Hay tresrazonesprincipalesparaadoptarunanotacindistinta:(1)UML seestconvirtiendoenunestn-dardel sector;por ejemplo,OMG (ObjectManagementGroup)ha adoptadoUML comonotacinestndarparalosmtodosdelos objetos;(2)UML esmsclaroy fcil deutilizar;(3)UML estsiendoahoraadopta-doenel mundoacadmicoparaensearanlisisy diseoorientadosa objetos,y la utilizacindeUML en losmdulosdebasededatosproporcionaunamayorsinergia.Por tanto,enesteedicinhemosadoptadola nota-cindediagramasdeclasesdeUML. Estamosconvencidosdequeel lectorencontrarestanotacinmsfcildeentendery deutilizar.AntesdehacerestatransicinaUML, losautoreshemosdedicadounaconsiderablecantidaddetiempoaexperimentarconUML ya comprobarsuadecuacinal diseodebasesdedatos,habien-do concluidoestetrabajocon la publicacinde un libro a travsdePearsonEducationllamadoDatabaseSolutions:A Step-by-StepGuidetoBuildingDatabases.Dicho libroutilizalametodologadediseoy dedes-arrollodebasesdedatosendoscasosdeestudio,unoparael SGBD MicrosoftOfficeAccessy otroutilizan-do Oraclecomobasededatosobjetivo.Este libro contienetambinmuchosotroscasosdeestudioconsolu-cionesdeejemplo.
Novedades en la cuarta edicin
La cuartaedicindel librohasidorevisadaparamejorarla legibilidad,paraactualizaro ampliarel tratamien-
to dedeterminadostemasy paraincluirotrostemasnuevos.Los cambiosprincipalesenla cuartaedici~ Un tratamientomsampliodeltemadelanormalizacin(el captulooriginalhasidodivididoendos).
Una metodologasimplificadaparael diseodebasesdedatosutilizandola notacinUML paralosdiagramasER.
Una nuevaseccinsobreel usodeotraspartesdeUML dentrodelanlisisy el diseo,cubriendolostemasdelos casosdeuso,diagramasdesecuencia,diagramasdecolaboracin,diagramasdeestadosy diagramasdeactividad.
Una nuevaseccindedicadaa la enumeracindeestrategiasdeejecucindentrodelprocesodeopti-mizacindeconsultas,paraservidoresSGBD tantocentralizadoscomodistribuidos.
Tratamientode las especificacionesOMG, incluyendoCWM (CommonWarehouseMetamodel)yMDA (Model DrivenArchitecture).
Actualizacindel captulodebasesde datosobjeto-relacionales,paraincluir informacinacercadelnuevoestndarSQL:2003.
Prefacio XXXV
Un tratamientoampliadode la integracinde los SGBD con la Web, incluyendolos temasde CMP(Container-ManagedPersistence),IDO (JavaDataObjects)y ADO.NET.
Un tratamientoampliadode XML, SOAP, WSDL, UDDI, XQuery 1.0y XPath 2.0 (incluyendoelmodelodedatosrevisadoy la semnticaformal),el estndarSQL:2003SQL/XML, el almacenamien-to deinformacinXML enbasesdedatosrelacionalesy el temadelasbasesdedatosXML nativas.
Un tratamientoampliadodeOLAP y dela mineradedatos,incluyendolafuncionalidaddeSQL:2003y el modeloCRISP-DM.
Actualizacindel tratamientode Oracle9i(panormicade Oracle1Og) y deMicrosoft Office Access2003.
Recursoswebadicionales,incluyendoun captuloampliadodedicadoa la organizacindearchivosya las estructurasde almacenamiento,una implementacinweb completadel caso de estudiodeDreamHome,unaguadeusuarioparaOracley msejemplosparael apndicededicadoa la integra-cin desistemasSGBD y la Web.
Audiencia objetivo
Este libro estpensadocomotextoparaun cursodeunoa dossemestressobregestino diseodebasesdedatos,a nivel introductorio,normalo avanzado.Dichoscursossonnormalmenteincluidosen los currcularelacionadosconlos sistemasdeinformacin,conlastecnologasdela informacino con la informtica.
El librotambinpudeutilizarsecomotextodereferenciaporpartede losprofesionalesdelastecnologasde la informacincomoporejemploanalistasdesistemas,diseadores,programadoresdeaplicaciones,pro-gramadoresde sistemas,administradoresde basesde datosy personasinteresadasen general.Debido alampliousoactualdelos sistemasdebasesdedatos,estetipo deprofesionalesinteresadospuedeestartraba-jando encualquierempresadondesenecesiteemplearunabasededatos.
Resultaratil paralos estudiantesdisponerde ciertosconocimientossobreorganizacindearchivosyestructurasdedatos,por lo quehemosincluidodichainformacinenelApndiceC comopreparacinparael Captulo 17dedicadoal diseofsico de basesdedatosy el Captulo21, dedicadoal procesamientodeconsultas.Lo idealesqueestosconocimientoslos hubieraadquiridoel lectoren algncursoanterior,peroencasodeno serposible,elApndiceC puederepasarseal comienzodelcurso,inmediatamentedespusdelCaptulo l.
Tambinconvienetenerunosciertosconocimientossobrealgnlenguajedeprogramacindealtonivel,comoC, parapodercomprenderelApndiceE dedicadoal SQL embebidoy al SQL dinmico,y la Seccin27.3,dedicadaa ObjectStore.
Caractersticas distintivas
(1)Una metodologapasoa pasofcil deutilizarparael diseoconceptualy lgico de basesde datos,basadaenel ampliamenteaceptadomodeloentidad-relacin,utilizndosela normalizacintcnicade
validacin.Hay un casodeestudiointegradoquemuestracmoutilizarla metodologa.
(2) Unametodologapasoapasofcil deutilizarparael diseofsico debasededatos,quecubreeltta-blecimientode la correspondenciaentreel diseolgico y la implementacinfsica, la selecci'n deorganizacionesde archivoe ndicesapropiadospara las aplicacionesy la utilizacindetcnic deintroduccinderedundanciacontrolada.De nuevo,hayun casodeestudiointegradoquemuestrautilizarla metodologa.
(3) Hay captulosindependientesquemuestrancmoencajael diseodela basededatosdentrodelciclodedesarrollode lossistemasdebasededatos,cmopuedenutilizarselastcnicadedeterminacindehechosparaidentificarlosrequisitosdelsistemay cmoencajaUML dentrodeestametodologa.
(4)Unapresentacinclaray fcil deentender,condefinicionesclaramenteresaltadas,conunaexposicinpreliminarde los objetivosdelcaptuloy conun resumendecadacaptulo.Seproporcionanentodoslos captulosnumerososejemplosy diagramasparailustrarlos conceptos.A lo largodetodoel libro
XXXVI Sistemasde basesde datos
hayun casodeestudiorealistaintegrado,pudindoseutilizarotroscasosdeestudioadicionalescomoproyectosparalos estudiantes.
(5)Un tratamientocompletode los msrecientesestndaresformalesy deJacto: SQL (StructuredQueryLanguage),QBE (Query-By-Example)y el estndarODMG (ObjectDataManagementGroup)parabasesdedatosorientadasa objetos.
(6)Trescaptulosdetipotutorialsobreel estndarSQL, quecubrentantoel SQL interactivocomoel SQLembebido.
(7)Un captulodenivel introductorioquecubredosde los SGBD comercialesmspopulares:MicrosoftOffice Accessy Oracle.Muchos de los captulossubsiguientesproporcionaninformacinsobreelmodoenqueMicrosoftOfficeAccessy Oraclesoportanlos mecanismosanalizados.
(8)Un tratamientocompletodelos conceptosy problemasrelativosa los SGBD distribuidosy los servi-doresdereplicacin.
(9)Una introduccincompletaa los conceptosy cuestionesrelativosa los SGBD basadosen objetos,incluyendounarevisindelestndarODML y untutorialsobrelasfuncionalidadesdegestindeobje-tos incluidasenla ltimaversindel estndarSQL, SQL:2003.
(10) Un tratamientocompletode la utilizacinde la Web comoplataformaparaaplicacionesde basededatos,conmuchosejemplosdecdigoqueexplicancmoaccederabasesdedatosatravsdelaWeb.En particular,secubreel temadela persistenciapresentandotecnologastalescomoCMP (Container-ManagedPersistence),JDO (Java Data Objects),JDBC, SQLJ, ADO (ActiveX Data Objects),ADO.NET y PSP (OraclePL/SQL Pages).
(11) Una introduccina losdatossemiestructuradosy a surelacinconXML y untratamientocompletodeXML y sustecnologasrelacionadas.En particular,sepresentanXML Schema,XQuery y el modelodedatosy la semnticaformaldeXQuery.Tambinseanalizala integraci~ndeXML conlasbasesdedatosy seexaminanlasextensionesaadidasa SQL:2003parapermitirlapublicacindedatosXML.
(12) Una introduccincompletaal temade los almacenesde datos,el procesamientoanalticoen lnea(OLAP, OnlineAnalyticalProcessing)y la mineradedatos.
(13) Una introduccincompletaal modeladCMiedimensionalidadparael diseode basesde datosparaalmacenesde datos.Se utilizaun casode estudiointegradoparademostrarunametodologaparaeldiseodealmacenesdedatos.
(14) Un tratamientode los conceptosde implementacinde los sistemasSGBD, incluyendoel controldeconcurrenciay recuperacin,la seguridady el procesamientoy optimizacindeconsultas.
Pedagoga
Antesdecomenzara escribirel libro,unodelos objetivosquenosplanteamoseraqueel textofuerafcil deseguiry comprenderparalos profesores,independientementedesuformaciny experiencia.Segnla expe-rienciade los autoresen la utilizacinde librosdetexto,queerabastanteconsiderableantesdeacometerunproyectodeestetipo,y teniendotambinencuentala opininde los colegas,clientesy estudiantes,vimosquehabadistintascaractersticasquea los lectoreslesgustabano lesdisgustaban.Teniendoencuentaestoscomentarios,decidimosadoptarel siguienteestiloy la siguienteestructuraparael libro:
Un conjuntodeobjetivos,claramenteidentificadosal principiodecadacaptulo.
Cadaconceptoimportantequesepresentasedefiney seresaltaclaramente,utilizandoun tipode letradiferentea la delrestodel texto.
Seutilizandiagramaspor todoel textoparaampliary clarificarlos conceptos.
Sedecidiadoptarunaorientacinmuyprctica:conestefin, cadacaptulocontienemuchosejemplosresueltosqueilustranlos conceptospresentados.
Un resumenal finaldecadacaptulo,enel quesecubrenlosprincipalesconceptosquesehanpresen-
tadot7o:----
Prefacio XXXVII
~ Un conjuntodecuestionesderepaso,cuyasrespuestasseencuentradentrodelpropiotexto.
Un conjuntodeejerciciosquelosprofesorespuedenutilizarparaverificarquelosestudianteshancom-prendidoel captulo,pudiendoencontrarselasrespuestasenla Gua delProfesorqueacompaaaestelibro.
Gua del profesorUn suplementomuycompletoquecontienenumerososrecursosdeayudaparala imparticindelmaterialcon-tenidoenestelibro;estaguapuedesolicitarseaPearsonEducation.La gua incluye: .
Estructurasdecurso.Se incluyensugerenciasrelativasa los captulosquepuedenincluirseendiver-sostiposdecursos.
Sugerenciaspedaggicas.Incluyensugerenciassobrelecturasrecomendadas,consejospedaggicoseideassobreproyectosquelos estudiantespuedenacometery queestnrelacionadosconel contenidodedistintoscaptulos.
Soluciones.Seproporcionanrespuestasdeejemploparatodaslascuestionesderepasoy ejercicios.
Preguntasdeexamen.Preguntasde examensimilaresa las cuestionesy ejerciciosdel final de cadacaptulo,consuscorrespondientessoluciones.
Plantillasdetransparencia.Un conjuntodetransparenciaselectrnicasquecontienenlospuntosprin-cipalesde cadacaptulo,con ilustracionesmsgrandesy tablasextradasdel texto,queayudarnalprofesora ligar lasexplicacionesy lasdiscusionesde la claseconel materialcontenidoenel libro.
Una GuadelUsuarioparaMicrosoftOfficeAccess2003,parael trabajode losestudiantesenellabo-ratorio.
Una Gua delUsuarioparaOracle9i,parael trabajode los estudiantesenel laboratorio.
Un captuloampliadosobreorganizacionesdearchivosy estructurasdealmacenamiento.
Una implementacinwebdelcasodeestudiodeDreamHome.
El lectorinteresadopuedeencontrarinformacinadicionalsobrela GuadelProfesory el libroenel sitiowebdePearsonEducationen:
.".
http://www.booksites.net/connbegg
Organizacin del libro
Parte 1 IntroduccinLa Parte1del libro sirvecomointroduccinal temadelos sistemasdebasesdedatosy el diseodebasesdedatos.
El Captulo 1 introducelosconceptosde la gestindebasededatos,examinandolosproblemasquepresen-tabanlosprecursoresdelos sistemasdebasededatos,quesonlos sistemasbasadosenarchivos,y lasventa-jas ofrecidaspor la utilizacindeunabasededatos.El Captulo 2 examinael entornode unabasede datos,analizandolas ventajasqueofrecela arquitecturaANSI-SPARC entresniveles,introduciendolos modelosdedatosmspopularesy resaltandolas funcionesquedebeproporcionarunSGB multi-usuario.El captuloexaminatambinlaarquitecturasoftwaresubyacen-tedelosSGBD, pudiendoomitirseestaexposicinenloscursosintroductoriosdedicadosa lagestindebasesdedatos.
Parte 2 El modelo relacional y los lenguajes relacionalesLa Parte2 del librosirvecomointroduccinal modelorelacionaly a los lenguajesrelacionales,especialmen-te el lgebrarelacionaly el clculorelacional,QBE (Query-By-Example)y SQL (StructuredQuery Lan-
XXXVIII Sistemasde basesde datos
guage).Esta parteexaminatambindos sistemascomercialesmuy populares:Microsoft Office Access yOracle.
El Captulo 3 introducelos conceptossubyacentesal modelorelacional,queeselmodelodedatosmspopu-lar en la actualidady el que msa menudose elige paraaplicacionesestndarde carcterempresaria!.Despusdepresentarlaterminologay mostrarlarelacinexistenteconlasrelacionesmatemticas,seexpli-cael temadelasreglasdeintegridadrelacionales,dela integridaddeentidadesy dela integridadreferencia!.El captuloconcluyecon unapanormicadel temade las vistas,del quesehablamsextensamenteen elCaptulo6.
El Captulo 4 presentael lgebrarelacionaly el clculorelacionalcon unaseriede ejemplosparailustrartodaslasoperaciones.Puedeomitirseenun cursointroductoriosobregestindebasesdedatos.Sin embar-go,el lgebrarelacionalesnecesariaparacomprenderlos temasdeprocesamientodeconsultasdel Captulo21 y de la fragmentacinen los SGBD distribuidosdelCaptulo22.Adems,los aspectoscomparativosdellgebraprocedimentaly el clculo no procedimentalresultande utilidadpara el estudiode SQL en losCaptulos5 y 6, aunqueno sonestrictamenteesenciales.El Captulo 5 presentalas instruccionesde manipulacinde datosdel estndarSQL: SELECT, INSERT,UPDATE y DELE TE. El captulosepresentacomountutorial,dandounaseriedeejemplosresueltosqueilus-tranlos conceptosprincipalesrelacionadosconestasinstrucciones.El Captulo 6 cubrelasprincipalesfuncionalidadesde definicindedatosdel estndarSQL. De nuevo,elcaptulosepresentaenformadetutoria!.El captuloanalizalostiposdedatosSQL y lasinstruccionesdedefi-nicindedatos,lascaractersticasdemejoradeintegridady lascaractersticasmsavanzadasenlas instruc-cionesde definicinde datos,incluyendolas instruccionesde control de accesoGRANT y REVOKE.Tambinseexaminanlasvistasy semuestracmopuedencrearseenSQL.
El Captulo 7 es otro captuloprcticoqueexaminael lenguajede consultainteractivoQBE (Query-By-Example),quetienela reputacindeserunadelasformasmssencillasmediantela quelos usuariosnotc-nicospuedenaccedera la informacincontenidaen unabasededatos.QBE se ilustrautilizandoMicrosoftOfficeAccess.
El Captulo 8 completala segundapartedellib!;9proporcionandounaintroduccina dosde los SGBD rela-cionalescomercialesmspopulares,MicrosoftOfficeAccessy Oracle.En los siguientescaptulosdel libroseexaminacmoimplementanestossistemasdiversasfuncionalidadesdebasededatos,comola seguridady el procesamientodeconsultas.
Parte 3 Tcnicas de anlisis y diseo de bases de datosLa Parte3 del libro explicalastcnicasprincipalesdelanlisisy el diseodebasesdedatosy cmopuedenaplicarsedeunaformaprctica.
El Captulo 9 presentaunapanormicade lasetapasprincipalesdel ciclo de desarrollodeaplicacionesdebasededatos.En particular,enfatizala importanciadeldiseodebasededatosy muestracmopuededes-componerseel procesoentresfases:diseoconceptual,lgicoy fsico dela basededatos.Tambindescribecmoafectael diseode la aplicacin(el enfoquefuncional) al diseode la basede datos(el enfoquededatos).Una etapacrucialenel ciclo dedesarrollode lasaplicacionesdebasededatoses la seleccindeunSGBD apropiado.Estecaptuloexplicael procesodeseleccindeun SGBD y proporcionaalgunasdirectri-cesy recomendaciones.El captuloconcluyeconun anlisisdela importanciadela administracindedatosy de la administracindebasesdedatos.
El Captulo 10explicacundopuedeutilizarel desarrolladorlastcnicasdedeterminacindehechosy qutiposdehechosdebecapturarse.El captulodescribelastcnicasmscomnmenteutilizadasparala determi-nacindehechose identificalasventajasy desventajasdecadauna.El captulotambinilustrael modoenquepuedenusarseestastcnicasdurantelas etapasinicialesdel desarrollodeaplicacionesdebasededatos,utilizandocomoilustracinel casodeestudiodeDreamHome.
Los Captulos 11y 12cubrenlos conceptosdelmodeloentidad-relacin(ER) y delmodeloentidad-relacinavanzado(EER), quepermiteun modeladodedatosmsavanzadoutilizandosubclasesy superclasesy tc-
Prefacio XXXIX
nicasdecategorizacin.El modeloEER esun modelodedatosconceptualdealtonivelmuypopulary cons-tituyeunatcnicafundamentaldela metodologadeldiseobasesdedatosqueaqusepresenta.Tambinseintroduceel temadela utilizacindeUML parala representacindediagramasER.Los Captulos 13y 14examinanlos conceptossubyacentesa la normalizacin,queesotratcnicaimportan-teutilizadaen la metodologadediseolgicodebasesdedatos.Empleandounaseriedeejemplosresueltosextradosdelcasodeestudiointegrado,seilustracmopasarundiseodeunaformanormalaotray semues-tranlasventajasdedisponerdeundiseolgicodela basededatosqueseadapteadeterminadasformasnor-males,hastala quintaformanorma!.
Parte 4 MetodologaEstapartedel libro cubreunametodologaparael diseodebasesdedatos.La metodologaestdivididaentrespartes,quecubrenel diseoconceptual,lgicoy fisico dela basededatos.Cadapartedela metodologaseilustrautilizandoel casodeestudiodeDreamHome.
El Captulo 15presentaunametodologapasoa pasoparael diseoconceptualdebasesdedatos.Muestracmodescomponerel diseoenreasmsmanejablesbasadasenlasvistasindividualesy proporcionaacon-tinuacindirectricesparala identificacindeentidades,atributos,relacionesy claves.El Captulo 16presentaunametodologapasoa pasoparael diseolgicodebasesdedatosbasadasenelmodelolgicorelaciona!.Semuestracmoestablecerla correspondenciaentreun modeloconceptualdelosdatosy unmodelolgicode losdatosy comovalidarel modelodeacuerdoconlastransaccionesrequeridas,utilizandola tcnicadela normalizacin.Paralasaplicacionesdebasededatosconmltiplesvistasdeusua-rio, estecaptulomuestracmocombinarlosmodelosdedatosresultantesenun modelodedatosglobalquerepresentetodaslasvistasdela partede la organizacinqueseestmodelando.Los Captulos 17y 18presentanunametodologapasoa pasoparael diseofsico debasesdedatosrela-cionales.Muestracmotraducirel modelolgico de los datosobtenidoduranteel diseolgico de la basede datosa un diseofisico basadoenun sistemarelaciona!.La metodologacontemplala cuestinde lasprestacionesdela implementacinresultante,proporcionandodirectricesparala seleccindeorganizacionesde archivosy estructurasde>'almacenamiento,y explicandocuandodebeintroducirseredundanciacontro-lada.
Parte 5 Problemas fundamentales en las bases de datos
La Parte5 del libro examinacuatrotemasespecficosque los autoresconsiderannecesariosparacualquiercursomodernodedicadoa la gestindebasesdedatos.
El Captulo 19analizael temadela seguridaden lasbasesdedatos,no sloenel contextode la seguridaddel SGBD sinotambinenel dela seguridaddelentornodelSGBD. Se ilustracmoproporcionarseguridadconMicrosoftOfficeAccessy Oracle.El captuloexaminatambinlos problemasdeseguridadquepuedensurgirenun entornoweby presentaalgunastcnicasdedicadasa prevenirestosproblemas.El Captulo 20 seconcentraentresfuncionesquetodosistemadegestindebasesdedatosdebeproporcio-nar:la gestindetransacciones,el controldeconcurrenciay la recuperacin.Estasfuncionestratandegaran-tizar quela basededatosseaviabley permanezcaenun estadocoherentecuandomltiplesusuariosestnaccediendoa la basededatos,y enpresenciadefallostantode loscomponenteshardwarecomosoftware.Elcaptulotambinexplicalos modelosavanzadosdetransaccionesqueresultanmsapropiadosparalastrans-accionesde largaduracin.Se concluyeel captuloexaminandoel temade la gestinde transaccionesenOracle.
El Captulo 21 examinalascuestionesdelprocesamientoy optimizacindeconsultas.En el captulosepre-sentanlasdostcnicasprincipalesdeoptimizacindeconsultas:utilizacindereglasheursticasqueordenenlasoperacionesdela consulta,y otratcnicaquecomparadiferentesestrategiasbasndoseensuscostesrela-tivosy seleccionaaquellaqueminimizaelusoderecursos.El captuloconcluyeexaminandoelprocesamien~to deconsultasenOracle.
XL Sistemasde basesde datos
Parte 6 Bases de datos distribuidas y replicacin
La Parte6 dellibro examinalosSGBD distribuidosy losSGBD basadosenobjeto.La tecnologadesistemasdegestindebasesdedatosdistribuidas(SGBDD) constituyeunodelos desarrollosprincipalesen la actua-lidaddentrodelreade los sistemasdebasededatos.Los captulosanterioresdel libro secentranenlos sis-temasdebasesdedatoscentralizados,esdecir,sistemasconunanicabasededatoslgicaubicadaenunaplataformabajocontroldeunnicoSGBD.
El Captulo 22 explicalos conceptosy problemasde los SGBD distribuidos,en losquelos usuariospuedenaccedera la basededatossituadaensupropiaplataformay tambina los datosalmacenadosenotrossitiosremotos.
E! Captulo 23 examinavariosconceptosavanzadosasociadoscon los SGBD distribuidos.En particular,seconcentranlos protocolosasociadoscon la gestindetransaccionesdistribuidas,el controldeconcurrencia,la gestinde interbloqueosy la recuperacinde la basededatos.El captuloexaminatambinel protocoloDTP (DistributedTransactionProcessing)deX/Open.Se concluyeel captuloexaminandola cuestinde ladistribucindedatosenOracle.
El Captulo 24presentalos servidoresdereplicacincomoalternativaa los SGBD distribuidosy examinalos problemasasociadosconlasbasesdedatosmviles.En el captuloseanalizantambinlas funcionalida-desdereplicacindedatosdeOracle.
Parte 7 Bases de datos orientadas a objetos
Los captulosanterioresdel libro secentranenel modelorelacionaly en lossistemasrelacionales.La justifi-cacinesquetalessistemassonactualmenteel tipodeSGBD predominanteparalasaplicacionestradiciona-lesdebasededatosenel mbitoempresaria!.Sin embargo,los sistemasrelacionalesno carecendedesven-tajas,y losSGBD basadosenobjetosconstituyenunode losprincipalesdesarrollosenel readelos sistemasdebasededatos,tratandoprecisamentederesolverdichasdesventajas.Los Captulos25-28examinanestatecnologaconun ciertogradodedetalle.
El Captulo 25 sirvecomointroduccina los SGJ3Dbasadosenobjetosy examinaenprimerlugarlos tiposde aplicacionesavanzadasde basede datosqueestncomenzandoa surgir,explicandolas desventajasdelmodelodedatosrelacionalquehacenquestenoresulteadecuadoparadichostiposdeaplicaciones.El cap-tulopresentaa continuacinlos conceptosprincipalesde la orientacina objetosy analizalosproblemasdealmacenarobjetosenunabasededatosrelaciona!.
El Captulo 26 examinalos SGBD orientadosa objetos(SGBDOO) y comienzaproporcionandounaintro-duccina losmodelosdedatosorientadosaobjetosy a los lenguajesdeprogramacinpersistente.El captu-lo explicala diferenciaentreel modelodealmacenamientoendosnivelesutilizadopor los SGBD tradiciona-lesy elmodelodealmacenamientoenminiconivelutilizadopor losSGBDOO, explicandocmoafectaestoal accesoa los datos.Tambinseanalizanlasdistintastcnicasparaproporcionarpersistenciaenlos lengua-jes deprogramaciny lasdistintasalternativasparatransformacindepunteros,examinandolas cuestionesdela gestindeversiones,la evolucindelesquemay delasarquitecturasde los SGBDOO. El captulocon-cluyemostrandobrevementecmopuedeemplearsela metodologapresentadaenlaParte4 del libroparalasbasesdedatosorientadasa objetos.
El Captulo 27contemplaelmodelodeobjetospropuestoporODMG (ObjectDataManagementGroup),quese ha convertidoen un estndardeJacto paralos SGBDOO. El captulotambinexaminaObjectStore,unSGBDOO comercial
El Captulo 28analizalosSGBD objeto-relacionales,proporcionandounapanormicadetalladadelascarac-tersticasdegestindeobjetosquesehanaadidoa la nuevaversindel estndarSQL, SQL:2003.El cap-tulo tambinexplicacmoesnecesarioampliarel procesamientoy la optimizacindeconsultasparagestio-nardemaneraeficientela extensibilidadde los tiposdedatos.El captuloconcluyeexaminandoalgunasdelascaractersticasobjeto-relacionalesdeOracle.
Prefacio XLI
Parte 8 las bases de datos y la World Wide WebLa Parte8 dellibrotratadeltemadela integracindelosSGBD enlosentornosweb,ascomosobrelosdatossemiestructuradosy surelacinconXML, los lenguajesdeconsultaXML y la integracindeXML con lasbasesdedatos.
El Captulo 29examinala integracindelos SGBD enlosentornosweb.Despusdeproporcionarunabreveintroduccina Internety a la tecnologaweb,el captuloexaminala adecuacinde la Webcomoplataformadeaplicacindebasesdedatosy explicalasventajasy desventajasdeestatcnica.A continuacinsepresen-tandiversasalternativasparala integracinde los SGBD en los entornos web, incluyendolos lenguajesdescript,COI, lasextensionesdeservidor,Java,ADO y ADO.NET y la plataformaInternetdeOracle.
El Captulo 30examinaeltemadelosdatossemiestructuradosy explicael lenguajeXML y porquestelen-guajeseestconvirtiendoenun estndarcadavez msaceptadoparala representacinde datosy el inter-cambiodedatosa travsdela Web.El captuloexplicaa continuacinunaseriedetecnologasrelacionadasconXML, comolos espaciosdenombres,XSL, XPath, XPointer,XLink, SOAP, WSDL y UDDI. TambinexaminacmopuedeutilizarseXML Schemaparadefinirel modelodecontenidodeun documentoXML yel modoenqueRDF (ResourceDescriptionFramework)proporcionaun marcodetrabajoparael intercam-bio demetadatos.En el captuloseexaminanlos lenguajesdeconsultaparaXML, centrndoseenparticularenXQuery,propuestoporW3C. Tambinseexaminanlasextensionesaadidasa SQL:2003parapermitirlapublicacindedatosXML y, concarctermsgeneral,la integracindeXML con lasbasesdedatosconelfin dealmacenarenstasinformacinXML.
Parte 9 Inteligencia empresarialLa partefinaldel librotratael temadelos almacenesdedatos,el procesamientoanalticoen lnea(OLAP) yla mineradedatos.
El Captulo 31presentalos almacenesdedatos,lo queson,cmohanevolucionadoy culessonlos poten-cialesbeneficiosy problemasasociadosconestetipodesistemas.En el captuloseexaminanla arquitectura,los componentesprincipalesy lasherramientasy tecnologasasociadasconunalmacndedatos.El captuloexplicatambinlosmercados.,.dedatosy los problemasrelativosal desarrolloy gestindeestetipo desiste-mas.Se concluyeel captulodescribiendolas funcionalidadesde almacnde datosproporcionadaspor elSGBD deOracle.
El Captulo 32 proporcionaunatcnicaparael diseode la basededatosdeun almacn/mercadodedatosdiseadoparasoportarlosprocesosdetomadedecisiones.El captulodescribelos conceptosbsicosasocia-dosconel modeladodedimensionalidady comparaestatcnicacon el modeladoentidad-relacin(ER) tra-dicional.Tambindescribee ilustraunametodologapasoapasoparael diseodealmacenesdedatos,utili-zandoejemplosresueltostomadosde la versinampliadadel casode estudiodeDreamHome.El captuloconcluyedescribiendocmodisearun almacndedatosutilizandoOracleWarehouseBuilder.
El Captulo 33 describeel temadelprocesamientoanalticoen lnea(OLAP, OnlineAnalyticalProcessing).Explica lo queesOLAP y lasprincipalescaractersticasdelasaplicacionesOLAP. En el captulosseanalizacmopuedenrepresentarsedatosmultidimensionalesy las principalescategorasde herramientasOLAP.TambinseexplicanlasextensionesOLAP al estndarSQL y el modoenqueOraclesoportalastecnologasOLAP.
El Captulo 34 describeel temadela mineradedatos.Seexplicalo quesla mineradedatosy lasprinci-palescaractersticasdelasaplicacionesdemineradedatos.El captulodescribelascaractersticasfundamen-talesdelasoperacionesdemineradedatosy lastcnicasasociadas.Tambinsedescribeel procesodemine-ra dedatosy lasprincipalescaractersticasdelasherramientasdemineradedatos,y enespecialel soportequeOracleprestaa estetipodetecnologas.
ApndicesEl ApndiceA proporcionaunadescripcindeDreamHome,un casodeestudioqueseutilizaampliamenteentodoel libro.
XLII Sistemasde basesde datos
Parte 1
Parte 3
1 Introduccin a lasbases de datos
2 El entorno de lasbases de datos
9 Planificacin, diseoy administracin debases de datos
12 ModeladoEntidad-Relacinavanzado
10 Tcnicas dedeterminacinde hechos
Parte 4
18 Metodologia:monitorizacin yoptimizacin delsistema final
17 Metodologa: diseofisico de bases dedatos relaciona les
16 Metodologia: dseolgico de bases dedatos para el modelorelacional
14 Normalizacinavanzada
15 Metodologa: diseoconceptual de labase de datos
21 Procesamientode consultas
26 Bases de datos
orientadas a objetos:conceptos
32 Diseo de almacenesde datos
23 Bases de datos
distribuidas: conceptosavanzados
30 Datos semiestructurados
yXMl
24 Replicacin y basesde datos mviles
20 Gestin detransacciones
27 Bases de datos
orientadas a objetos:estndares y sistemas
330lAP
19 Seguridad
34 Mineria de datos
28 Bases de datos
objeto-relaciona les
Parte 5
Parte 6
Parte 7
Parte 8
Parte 9
Figura P.1. Organizacin lgica del libro y formas recomendadas de lectura/imparticin.
Prefacio XLIII
El ApndiceB proporcionatrescasosdeestudioadicionales,quepuedenutilizarsecomoproyectosde losestudiantes.
El Apndiceeproporcionainfonnacindereferenciasobreorganizacindearchivosy estructurasdealma-cenamiento,informacinqueesnecesariaparacomprenderla metodologadediseofisico debasesdedatospresentadaenel Captulo17y el temadelprocesamientodeconsultasdel Captulo21.El ApndiceD describelas 12reglasdeCoddparaun SGBD relacional,lascualesformanunacomparativacon la quepuedenidentificarselosproductosSGBD relacionales 'reales'.El ApndiceE examinala cuestindelSQL embebidoy el SQL dinmico,conprogramasdeejemploenlen-guajeC. El captulotambinexaminael estndarODBC (OpenDatabaseConnectivity),quesehaconsolida-docomounestndardeJacto del sectorparael accesoa basesdedatosSQL heterogneas.
El ApndiceF describedosnotacionesalternativasdemodeladodedatosquepuedenemplearseen lugardeUML, quesonla notacindeCheny la notacinenpie decuervo.El ApndiceG resumelospasosdela metodologapresentadaenlos Captulos15-18parael diseoconcep-tual,lgicoy fisico de la basededatos.El ApndiceH (vaseel sitio web deacompaamiento)explicacmoestimarlos requisitosde espaciodediscoparaunabasededatosOracIe.El Apndice1(vaseel sitiowebdeacompaamiento)proporcionaalgunasscriptwebparacomplementarelCaptulo29,dedicadoa la integracindelos SGBD y la Web.
En laFiguraP.1seilustrala organizacinlgicadel libroy lasformasdelecturae imparticinrecomendadas.
Correcciones y sugerenciasYa queun libro detextodeestetamaoestanvulnerablea los errores,desacuerdos,omisionesy confusio-nes,solicitamosal lectorsuopininparafuturasreimpresionesy ediciones.Los comentarios,las correccio-nesy lassugerenciasconstructivasdebenenviarsea PearsonEducationo por correoelectrnicoa:
thomas.connoUy@paisl~.ac.uk
XLIV Sistemasde basesde datos
AgradecimientosEstelibro esel resultadodemuchosaosdetrabajoporpartedelos autoresenempresas,en la investigaciny enel mundoacadmico.Resultapor tantodificil enumeraratodaslaspersonasquenoshanayudadodirec-tao indirectamenteennuestrosesfuerzos.Talo cualideapuedehaberparecidoinsignificanteenel momentoenquela omosporprimeravezy, sin embargo,habrtenidoun efectodegranimportanciaposteriormente.Pedimosdenuevodisculpasa todosaquellosa los queno mencionamosaqu.Sin embargo,nuestragratitudy nuestrasdisculpasvandirigidasenprimerlugaranuestrasfamilias,quea lo largodelos aoshansidorele-gadase inclusoignoradasdurantelaspocasdemayortrabajo.
A continuacin,parala primeraedicin,queremosdarlasgraciasanuestroseditoresDr SimonPlumtreey Nicky Jaeger,por su ayuda,apoyoy profesionalidaddurantela redaccindel libro; y a nuestroeditordeproduccindel libro Martin Tytlery al editordecopiaLionel Browne.Tambinqueremosdarlas graciasalosrevisoresdela primeraedicin,quecontribuyeronconsuscomentarios,sugerenciasy consejos.En parti-cular, queremosmencionara: William H. Gwinn, Instructor,TexasTech University;Adrian Lamer, DeMontfort University,Leicester;ProfesorAndrew McGettrick,Universityof Strathclyde;Dennis McLeod,ProfesordeInformtica,Universityof SouthernCalifornia;JosephineDeGuzmanMendoza,Profesorasocia-do,CaliforniaStateUniversity;JeffNaughton,ProfesorA. B. Schwarzkopf,UniversityofOklahoma;JunpingSun,Profesorayudante,Nova SoutheasternUniversity;DonovanYoung,Profesorasociado,GeorgiaTech;DrBarry Eaglestone,Catedrticoen Informtica,Universityof Bradford;John Wade,IBM. TambinqueremosdarlasgraciasaAnne Strachanporsu contribucina la primeraedicin.
Parala segundaedicin,queremosdarprimerolasgraciasa Sally Mortimore,nuestroeditor,y a MartinKlopstocky DylanReisenbergerdelequipodeproduccin.Tambinqueremosagradecera losrevisoresdelasegundaedicin,quecontribuyeroncon suscomentarios,sugerenciasy consejos.En particular,queremosmencionara:StephanoCeri,PolitecnicodiMilano; LarsGillberg,Mid SwedenUniversity,Oestersund;DawnJutIa,StMary'sUniversity,Halifax,Canad;Julie McCann,City University,Londres;MunindarSingh,NorthCarolina StateUniversity;Hugh Darwen,Hursely,Reino Unido; ClaudeDelobel,Pars, Francia;DennisMurray,Reading,ReinoUnido; y denuestropropiodepartamentoa John Kawalay al Dr PeterKnaggs.
Paralaterceray cuartaediciones,queremosdarprimerolasgraciasaKateBrewin,nuestroeditor,aStuartHay,Kay Holmany Mary Lince delequipodeproducciny a los editoresdecopia RobertChaundyy RuthFreestoneKing. Tambinqueremosagradecera los revisoresde la segundaedicin,quecontribuyeronconsuscomentarios,sugerenciasy consejos.En particular,queremosmencionara:RichardCooper,UniversityofGlasgow, Reino Unido; Emma Eliason, University of Orebro, Suecia; Sari Hakkarainen,StockholmUniversity y the Royal Instituteof Technology;Nenad Jukic, Loyola University Chicago, EE.UU; JanParedaens,Universityof Antwerp,Blgica; StephenPriest,Daniel WebsterCollege,EE.UU. Hay muchosotrosquesiguensiendoparanosotrosannimosy a los quequeremosdarlasgraciaspor el tiempoquehaninvertidoenla lecturadelmanuscrito..
Tambinqueremosdarlas graciasa MaIcolm Bronte-Stewartpor el conceptodeDreamHome,a MoiraO'Donnell por garantizarla precisindedel casodeestudioWellmeadowsHospital, aAlistair McMonnies,RichardBeebyy PaulineRobertsonpor suayudaconel materialparael sitioweby un agradecimientoespe-ciala la secretariadeThomas,LyndonneMacLeody a la secretariadeCarolyn,June Blackburn,por suayuday soportea lo largode los aos.
ThomasM. ConnollyCarolynE. Begg
Glasgow,Marzo de2004
Prefacio XLV
Agradecimientos del editorQueremosdarlasgraciasa lassiguientesorganizacionespor supermisoparareproducirmaterialincluidoenel libro:
TheMcGraw-Hill Companies,Inc.,New York por laFigura19.11,reproducidadeBYTE Magazine,Junio1997.Reproducidaconpermiso. by The McGraw-Hill Companies,Inc., New York, NY USA. Todos losderechosreservados;las Figuras27.4y 27.5 sondiagramasde CommonWarehouseMetamodel(CWM)Specification,Marzo 2003,Versin 1.1, Volumen 1, formaI/03-03-02.Reimpresocon permiso.ObjectManagement,Inc. OMG 2003;capturasdepantallareimpresasconpermisodeMicrosoftCorporation.
En algunoscasosnohemospodidodeterminarlospropietariosdedeterminadomaterial,y agradeceramoscualquierinformacinquenospermitahacerlo.
XLVI Caractersticasdel libro
Captulo
Cap;I\.I.' Inll'Oducciadoialalknocab:>oatb.enan:hi>'O
El Slg,urlCadodclltmullO'bucdelbl05'
F.Jsop1lflCadodd ltrnuno 'siSlemadc pio6ndebasc$dc-"(SGBD)
tufuncioncltipocu de un SGBO Los componcnlClpo-incipalcadel enlOrTlOSGBO
El personal,mphcadoen cl cntOflWlSGllD Lani,toriadcldesar",llodclosSGllD
La-'enlajasydesvenlajasdelosSGBD
L.ahJSlOI;adelalnv~":lCiocnli>lcm:os"'bases"'ulla.
La anlllilCc!UCddel scrv,""'dc atrh",,,,llCllC. 1"""lanr.1.'re. tlcsvelOlajasJ'rincip;11cs:
11)lby unagr.1Ocanlldadde u:lflCOde rctI.
21Sc n:qu~ una ropia compleradel SGBO en cadaCeo.np"nen'co.El dicnlc (nrvcl Il ~ pnnc'{IlIh\"oClltCre.lcm",dearehivo "",nu,1lconlos queto.xlosnosolrosesl:uno'Ol'Cf"IKL"lybuscamosentl.de pnnc'pio a fin. 1l:lSlae.\COIllrarla mfoonaciodeseada,Ahcmalivamc:me.rUOCe-siW'l1Of,esallD3lCCnarlo5oClllI3lCrIos.Sincmbarxo.Jossi$lL-masmanuaJesdearrlu>'OdejandeliCr~nlrsc-'dotenc:mosqueestablcccrrcfef'Cllciaor;~opn:a:sarlamfonnaci(lnCOOll"""''''lo6documcnoos.Por:eJCOllplo.UDlIagenciainmoblharialIpicapodadisp;lnerdearduvo..".,.sopancadaiNnucblcquedcsccvcnOe.-oiw. pan cadapo:ucial comJ'W1lCbo i'"l"ihno y pu;Ilcadamocmbrode supenonaI. P1CD5CeneleoormeesfPCIIDq""f>Crequcnapal1lrcspondcrala~"guimtcscuo:s.1OnC$
.Qut vi~iccndasde 1= domutoriO$haydisponiblespara la \'Cnt.:Ique .enganjan:liny ga"'Je1
".QuaraJ1amcmQ;e.iSle~paraalquilar. mel101de 5 km del ccmrode la eiuda.d?
eu"1 esel preciomedjode alquiler Ix"a un pi
Caractersticasdel libro XLVII
ClIpitulo1 Int,od CCinllIUb"sesdedlltos 29 C.pltulo21 PrOC:.llImie todeco ul1.s 621
nndice :ndario~el,,";bulOtype""Room.
Ejercicios
211j I)Q,cnlla cmo funOona el a1gonunode rrovarnaci6n dl'wl1lc~ del optimLZadorde consu!"'" deS) .onR
211.CaleuIc.ICOGI"lkwll'C.CSltll '!-;a,;euadasendEJC1Ilplo21.1.,1.l'Cla.cin_l .lOOOOmpllli.., _ uene.soo '''>las, 100.
(b) SELECTII~.g _
rHOMRaatn'._IlcnIol;sjg:";c"I~~,Id;oes
un fr>dice!'Q.,h sir;dcohvrdnmicP\{(]whre los.uibUlo.deduve ptinc'p;ll, roomNoIhotelNcen Room:
"" frldiccnismoo"'squridad."'lepidad.oooooIdc:CllI'Il:UlTl:n(qyC\lQlRJldcn.:upmlCin."'.--un~IC(d) prop3ffi3de3plltJl.la, p,-;ne,p~lcscar:\CJen'Micasdcl~nrnqlledc basedcdalo,;y MlllprclMCOllla 1cnicubasada cu archivos.
1.1. p,por~"'''~euMroeJC'''plosdesi'ICm"sdcba$er:o,dacoonal.y .jecu.", die.ro;U.gia """" e~lr.lC:flos d:Yll$llOl-
P\oc$IOl/I'C hay mucha..lrllnsform:lCioncsCllhade .Iu') lIi,"
XLVIII Caractersticas del libro
Cklpter 1- RebtionallVloflelTutora}
Whal kind of dala model is lhe relatonal.model?
(11.) Explain lhe followingtelIllSinlhecomextoflherelalionaldrdalTlOdel
Rtla.tion
Attnbute00""'"
T"p"DegretCardinality
(b) UsetheSuwliers-Pattsdalabt.Setoprovideexamp]sofe&:h(&eeAppendixloflhislulorisl)
(a) Explain lhe followin(; lenns in lhe COBen ofthe relatioMl. dala model
CandidaleKey
PrinwyKeyForeignKey
(b) UselheSuppliers-PMlsdalahasetoprovidee=plesofeach
Tutorialessobrecaptulosseleccionados
Aet;"!l.'PI-l
Practise using the Microsoft Access help facilities. Search [(Ir help or ask questions 00 the
following tapies: creatng tables, data types, primal)' key, referential integrity, data valdationand the web publsher wizard.
OneIJU! a Dntabase
A Microsoft Access database is a collecton of objects, not just a single table of data. Oue
dalabase fiJe contains the tables as well as queries, forros, reports and other objects that he!pyou use the information in the database
When you f1rstoad Access, theMicrosoft Access dia!og box is displayed, as shown in FigurePl~1
ManualdelaboratorioparaAccess
Parte
Introduccin
Captulo1 Introduccina lasbasesdedatos
Captulo2 El entornode la basededatos
Introduccin a las bases
de datos
Objetivos del captulo:
En estecaptuloaprender:
Algunosusoscomunesde los sstemasdebasesdedatos.
Las caracterstcasde los sistemasbasadosenarchivos.
Los problemasasociadosa la tcnicabasadaenarchivo.
El significadodeltrmino'basededatos'.
El significadodeltrmino'sistemadegestindebasesdedatos'(SGBD).
Las funcionestpicasdeun SGBD.
Los componentesprincipalesdelentornoSGBD.
El personalimplicadoenel entornoSGBD. La historiadel desarrollodelos SGBD.
Las ventajasy desventajasdelos SGBD.
La historiadela investigacinensistemasdebasesdedatosesdeunaexcepcionalproductividady hateni-do un impactoeconmicoextraordinario.Con apenas20 aosde antiguedadcomocampode investiga-cin cientfica,la investigacinenbasesdedatoshapermitidoel surgimientodeunaindustriade los ser-vicios de informacinqueslo en los EstadosUnidos facturaunos 10.000millonesdedlarespor ao.Los diversoslogrosenla investigacinrelativaa lasbasesdedatoshanpermitidorealizaravancesfunda-mentalesenlossistemasdecomunicaciones,transportey logstica,gestinfinanciera,sistemasdegestindel conocimiento,accesibilidada la literaturatcnicay unamiradade otrasaplicacionestantocivilescomomilitares.Tambinhanservidocomobaseparapermitirunprogresoconsiderableendiversoscam-posbsicosdela ciencia,desdela informticaa la biologa.
(Silberschatzel al., 1990,1996)
Esta citaesttomadade unaconferenciasobresistemasde basesde datoscelebradaa principiosde ladcadade 1990y quetuvosu continuacinen otraconferenciaposterioren 1996,y nossirvecomomoti-vacinparael estudiodel temadeestelibro: los sistemasde basesde datos.Desdela celebracindeestasconferencias,la importanciadelos sistemasdebasesdedatosseha incrementadotodavams,consignifica-tivos desarrollosen lo querespectaa la capacidaddel hardware,a la funcionalidaddestey a las comuni-caciones,incluyendola aparicinde Internet,del comercioelectrnico,de los sistemasde inteligenciaempresarial,delascomunicacionesmvilesy dela informticareticular.Los sistemasdebasesdedatosson,posiblemente,el desarrollomsimportanteenel campodela ingenieradel softwarey lasbasesdedatosfor-manahorael marcodetrabajofundamentalde los sistemasdeformacin,habiendocambiadodeformasig-
4 Sistemasde basesde datos
nificativalamaneraenquemuchasorganizacionesoperan.La tecnologadebasesdedatosconstituyeun readeenormeintersen la quetrabajay, desdesu aparicin,haactuadodecatalizadorparamuchosdesarrollosimportantesen ingenieradel software.La conferenciaa la quealudimospusodemanifiestoquelos desarro-llos ensistemasdebasesdedatosno habanterminado,al contrariodelo quealgunaspersonasopinaban.Dehecho,parafraseandounaantiguafrasepronunciadaporunpoltico,puedequesloestemosalfinal delprin-cipio delos desarrollos.Las aplicacionesqueserprecisosoportarenel futurotienenun gradodecompleji-dadtantomsaltoquenosveremosabocadosa rehacermuchosde los algoritmos queactualmenteseutili-zan,comoporejemplolos algoritmosparael almacenamientoy accesoa archivosy parala optimizacindeconsultas.El desarrollodeestosalgoritmos originaleshatenidosignificativasramificacionesenla ingenieradelsoftwarey el desarrollodenuevosalgoritmos tendr,sinningunaduda,efectossimilares.En esteprimercaptulovamosaproporcionarunaintroduccina los sistemasdebasesdedatos.
Estructura del captuloEn la Seccin1.1vamosa examinaralgunasdelasaplicacionesdelos sistemasdebasesdedatosquepode-mosencontrarennuestravidacotidiana,perodelasquequiznoseamosconscientes.En lasSecciones1.2y1.3 compararemosla antiguatcnicabasadaen archivospara la informatizacinde sistemasde archivosmanualesconla tcnicamoderna,muchomsadecuada,queseapoyaenlasbasesdedatos.En la SeccinlAhablaremosde los cuatrotiposdepapelesquejueganlaspersonasenun entornodebasesdedatos,esdecir:administradoresdedatosy debasesdedatos,diseadoresdebasesdedatos,desarrolladoresdeaplicacionesy usuariosfinales.En la Seccin1.5proporcionamosunabrevehistoriade los sistemasdebasesdedatos,lacualestseguida,enla Seccin1.6,porun anlisisde lasventajasy desventajasde los sistemasdebasesdedatos.
A lo largodel libro, ilustraremoslos conceptosutilizandoun casodeestudiobasadoenunaempresafic-ticia de gestininmobiliariadenominadaDreamHome.Proporcionamosuna descripcindetalladade estecasodeestudioen la Seccin1004Y enelApndiceA. En elApndiceB sepresentanotroscasosdeestudioquepretendenproporcionarmsproyectosdecarcterrealistaconlosquepuedapracticael lector.Al finaldemuchoscaptulosseincluyenejerciciosbasadosenestoscasosdeestudio.
1.1 Introduccin
Lasbasesdedatosformanhoyendaunaparteintegrantedenuestravidacotidiana,hastatalpuntoquemuchasvecesnosomosconscientesdeestarusandounabasededatos.Paracomenzarnuestrasexplicacionessobrelasbasesdedatos,vamosaexaminarenestase