1 portada e indice
TRANSCRIPT
Thomas M. Connolly
Carolyn E. Begg
PEARSON
AddisonWesley
Sistemas de bases de datosUN ENFOQUE PRÁCTICO PARA DISEÑO, IMPLEMENTACIÓN y GESTIÓN
Cuarta edición
THOMAS M. CONNOLLYCAROLYN E. BEGG
University 01Paisley
Traducción
Vuelapluma
Madrid e México e Santafé de Bogotá e Buenos Aires e Caracas e Lima
Montevideo e San Juan e San José e Santiago e Sao PauloReading e Massachusetts e Harlow e England
Datos de catalogación bibliográfica
SISTEMAS DE BASES DE DATOS
Connolly, T. M.; Begg, C. E.
Pearson Educación S.A., Madrid, 2005
ISBN: 84-7829-075-3
Materia: Informática, 681.3
Formato: 195 x 250 mm. Páginas: 1320
Todos los derechos reservados.
Queda prohibida, salvo excepción prevista en la Ley, cualquier forma de reproducción,distribución, comunicación pública y transformación de esta obra sin contar conautorización de los titulares de propiedad intelectual. La infracción de los derechosmencionados puede ser constitutiva de delito contra la propiedad intelectual(arts. 270 y sgts. Código Penal).
DERECHOS RESERVADOS
© 2005 por PEARSON EDUCACIÓN S.A.Ribera del Loira, 2828042 Madrid
SISTEMAS DE BASES DE DATOSConnolly, T. M.; Begg, C. E.
ISBN: 84-7829-075-3
Depósito Legal: M-30.815-2005ADDISON WESLEY es un sello editorial autorizado de PEARSON EDUCACIÓN S.A.
© Pearson Education Limited 1995,2005
This translation ofDATABASE SYSTEMS -APRACTICALAPPROACH TO DESIGN,IMPLEMENTATION AND MANAGEMENT 04 Edition is published by arrangement withPearson Education Limited, United Kingdom
Equipo editorialEditor: Miguel Martín-RomoTécnico editorial: Marta Caicoya
Equipo de producciónDirector: José A. ClaresTécnico:Tini Cardoso
Diseño de cubierta: Equipo de diseño de Pearson Educación S.A.
Impreso por: Gráficas Rógar
IMPRESO EN ESPAÑA - PRlNTED IN SPAIN
Este libro ha sido impreso con papel y tintas eco lógicos
\Prefacio .
Parte 1 Introducción .
Contenido
XXXIII
1
Capítulo 1 Introducción a las bases de datos 3
1.1 Introducción 4
1.2 Sistemas tradicionales basados en archivos 6
1.2.1 La técnica basada en archivos .... 7
1.2.2 Limitaciones de la técnica 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 gestión de base de datos (SGBD) 15
1.3.3 Programa de aplicación 16
1.3.4 Componentes de un entorno SGBD 17
1.3.5 Diseño 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 Diseñadores 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 gestión de bases de datos 22
1.6 Ventajas y desventajas de los SGBD 24
Resumen 28
Cuestiones de repaso 29
Ejercicios 30
Capítulo 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 Sistemas de bases de datos
2.1.5 Independencia de los datos 36
2.2 Lenguajes de base de datos 37
2.2.1 El lenguaje de definición de datos (DDL) 37
2.2.2 El lenguaje de manipulación de datos (DML) 37
2.2.3 Lenguajes de cuarta generación (4GL) -.-.- 39
2.3 Modelos de datos y modelado conceptual 40
2.3.1 Modelos de datos basados en objetos 41
2.3.2 Modelos de datos basados en registros 41
2.3.3 Modelos de datos físicos 43
2.3.4 Modelado conceptual 43
2.4 Funciones de un SGBD 44
2.5 Componentes de un SGBD 48
2.6 Arquitecturas de SGBD multiusuario 51
2.6.1 Teleprocesamiento 51
2.6.2 Arquitectura de servidor de archivos 51
2.6.3 Arquitectura cliente-servidor tradicional en dos niveles 52
2.6.4 Arquitectura cliente-servidor en tres niveles 55
2.6.5 Monitores de procesamiento de transacciones 56
Resumen 57
Cuestiones de repaso 59
Ejercicios 59
Parte 2 El modelo relacional y los lenguajes relacionales 61Capítulo 3 Introducción a las bases de datos 63
3.1 Breve historia del modelo relacional 64
3.2 Terminología 65
3.2.1 Estructuras de datos relacionales 65
3.2.2 Relaciones matemáticas 68
3.2.3 Relaciones en una base de datos 68
3.2.4 Propiedades de las relaciones 69
3.2.5 Claves relacionales 70
3.2.6 Representación de esquemas de base de datos relacional 72
3.3 Restricciones de integridad 72
3.3.1 Valores nulos 72
3.3.2 Integridad de entidad 74
3.3.3 Integridad referencial 74
3.3.4 Restricciones generales 753.4 Vistas 75
3.4.1 Terminología 75
3.4.2 Propósito de las vistas 76
3.4.3 Actualización de las vistas 76
Contenido XIII
Resumen 77
Cuestiones de repaso 77
Ejercicios 78
Capítulo 4 Álgebra relacional y cálculo 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 combinación .. 86
4.1.4 Operación de división 89
4.1.5 Operaciones de agregación y de agrupamiento 90
4.1.6 Resumen de las operaciones de álgebra relacional 92
4.2 El cálculo relacional 93
4.2.1 Cálculo relacional de tuplas . 93
4.2.2 Cálculo relacional de dominios 96
4.3 Otros lenguajes 98
Resumen 98
Cuestiones de repaso 99
Ejercicios 99
Capítulo 5 SQL: manipulación de datos 101
5.1 Introducción 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 Terminología 105
5.2 Escritura de comandos SOL 105
5.3 Manipulación de datos 106
5.3.1 Consultas simples 107
5.3.2 Ordenación de los resultados (cláusula ORDER BY) 114
5.3.3 Utilización de las funciones de agregación de SOL 116
5.3.4 Agrupación de resultados (cláusula 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 Combinación 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 Sistemas de bases de datos
6.4 Vistas
6.4.1 Creación de una vista (CREA TE VIEW) .
6.4.2. Eliminación de una vista (DROP VIEW)
6.4.3 Resolución de vistas .
6.4.4 Restricciones de las vistas .
6.4.5 Actualización de vistas .
6.4.6 WITH CHECK OPTION .
6.4.7 Ventajas y desventajas de las vistas .
6.4.8 Materialización de vistas .
6.5 Transacciones .
6.5.1 Restricciones de integridad inmediatas e inferidas .
6.6 Control de acceso discrecional .
6.6.1 Concesión de privilegios a otros usuarios (GRANTI .
6.6.2 Revocación de privilegios de los usuarios (REVOKE) .
Resumen .
Cuestiones de repaso .
Ejercicios .
Capítulo 6 SOL: definición 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 numéricos exactos .
6.2 Características 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 Definición de datos .
6.3.1 Creación de una base de datos .
6.3.2 Creación de una tabla (CREATE TABLE) .
6.3.3 Modificación de la definición de una tabla (ALTER TABLE) .
6.3.4 Eliminación de una tabla (DROP TABLE) .
6.3.5 Creación de un índice (CREATE INDEX) .
6.3.6 Eliminación de un índice (DROP INDEX) .
Capítulo 7
7.1
7.2
OSE
Introducción a las consultas en Microsoft Of?ce Access .
Diseño de consultas de selección mediante OBE .
7.2.1 Especificación de criterios .
7.2.2 Creación 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 Cálculo de totales .
7.3 Utilización de consultas avanzadas
7.3.1 Consultas paramétricas
7.3.2 Consulta matricial ...
7.3.3 Consultas de localización de duplicados
7.3.4 Consulta de localización de no correspondencias
7.3.5 Consultas de autobúsqueda .
7.4 Modificación del contenido de las tablas mediante consultas de acción
7.4.1 Consultas de acción para creación de tablas
7.4.2 Consulta de acción de borrado .
7.4.3 Consulta de acción de actualización
7.4.4 Consulta de acción de adición .
Ejercicios " .
Capítulo 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 Definición de tablas .
8.1.4 Definición de relaciones y de integridad referencial .
8.1.5 Definición 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 Definición de tablas ....
8.2.4 Definición 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 .
Cuestiones de repaso .
Parte 3 Técnicas de análisis y diseño de bases de datos ....
Capítulo 9 Planificación, diseño y administración de bases de datos .
xv
186
188
189
190
192
194
195
195
195
199
199
199
202
205
205
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 Ejemplo de utilización de técnicas de determinación de hechos 293
10.4.1 El caso de estudio de DreamHome: panorámica 293
10.4.2 El caso de estudio de DreamHome: planificación de la basede datos 298
10.4.3 El caso de estudio de DreamHome: definición del sistema 302
10.4.4 El caso de estudio de DreamHome: recopilación y análisis derequisitos 303
10.4.5 El caso de estudio de DreamHome: diseño de la base de datos .. 311
Resumen 311
Cuestiones de repaso 311
Ejercicios 312
Capítulo 11 Modelado entidad-relación 313
11.1 Tipos de entidad 314
11.2 Tipos de relación 316
11.2.1 Grado de un tipo de relación 318
11.2.2 Relación recursiva 318
11.3 Atributos 319
11.3.1 Atributos simples y compuestos 320
11.3.2 Atributos univaluados y multivaluados 321
11.3.3 Atributos derivados 321
11.3.4 Claves 322
11.4 Tipos de entidad fuertes y débiles 323
11.5 Atributo~de las relaciones 32411.6 Restricciones estructurales 324
11.6.1 Relaciones uno a uno (1: 1) 325
11.6.2 Relaciones uno a muchos (1: *) 326
11.6.3 Relaciones muchos a muchos (*:*) 328
11.6.4 Multiplicidad para relaciones complejas 329
.11.6.5 Restricciones de cardinalidad y de participación 330
11.7 Problemas con los modelos ER 331
11.7.1 Trampas multiplicativas 331
11.7.2 Trampas de corte 333
Resumen 334
Cuestiones de repaso 336
Ejercicios 336
Capítulo 12 Modelado entidad-relación avanzado 339
12.1 Especialización/Generalización 340
12.1.1 Superclases y subclases 340
12.1.2 Relaciones superclase y subclase 340
12.1.3 Herencia de atributo 341
XVIII Sistemas de bases de datos
12.1.4 Proceso de especialización 342
12.1.5 Proceso de generalización 342
12.1.6 Restricciones a la especialización/generalización 344
12.1.7 Utilización de las técnicas de especialización/generalización paramodelar la vista Branch del caso de estudio DreamHome 346
12.2 Agregación 350
12.3 Composición 350
Resumen 352
Cuestiones de repaso 352
Ejercicios 352
Capítulo 1313.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9
Normalización .
El propósito de la normalización .
Cómo ayuda la normalización al diseño de bases de datos
Redundancia de los datos y anomalías de actualización
13.3.1 Anomalías de inserción
13.3.2 Anomalías de borrado .
13.3.3 Anomalías de modificación .
Dependencias funcionales .
13.4.1 Características de las dependencias funcionales.
13.4.2 Identificación de dependencias funcionales ....
13.4.3 Identificación de la clave primaria de una relación 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
Capítulo 14 Normalización avanzada .
14.1 Más aspectos relativos a las dependencias funcionales
14.1.1 Reglas de inferencia para dependencias funcionales
14.1.2 Conjuntos mínimos de dependencias funcionales
14.2 Forma normal de Boyce-Codd (BCNF) .
14.2.1 Definición de la forma normal de Boyce-Codd
14.3 Revisión del proceso de normalización hasta BCNF
14.4 Cuarta forma normal (4NF) .
14.4.1 Dependencia multivaluada .
14.4.2 Definición 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 combinación sin pérdidas 393
14.5.2 Definición de quinta forma normal 393
Resumen 395
Cuestiones de repaso 395
Ejercicios _.. 395
Parte 4 Metodología . 397
Capítulo 15 Metodología: diseño conceptual de la base de datos 399
15.1 Introducción a la metodología de diseño de bases de datos 400
15.1.1 ¿Qué es una metodología de diseño? 400
15.1.2 Diseño conceptual, lógico y físico de una base datos 400
15.1.3 Factores críticos en el diseño de una base de datos 401
15.2 Panorámica de la metodología de diseño de la base de datos 401
15.3 Metodología de diseño conceptual de la base de datos 404
Resumen 41 7
Cuestiones de repaso 418
Ejercicios 4 19
Capítulo 16 Metodología: diseño lógico de bases de datos para elmodelo relacional . 421
16.1 Metodología de diseño lógico de bases de datos para el modelorelacional 422
.".
Paso 2 Construir y validar el modelo lógico de datos 422
Resumen 447
Cuestiones de repaso 448Ejercicios 449
Capítulo 17 Metodología: diseño físico de bases de datos relacionales 451
17.l Comparación del diseño lógico y el diseño físico de bases de datos 452
17.2 Panorámica de la metodología de diseño físico de bases de datos 452
17.3 Metodología de diseño físico de bases de datos relacionales 454
Resumen 471
Cuestiones de repaso 471Ejercicios 472
Capítulo 18 Metodología: monitorización y optimización del sistema final 473
18.1 Desnormalización e introducción de redundancia controlada 473
18.2 Monitorización 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
Capítulo 19 Seguridad .
19.1 Seguridad de la base de datos .
19.1.1 Amenazas .
19.2 Contramedidas: controles informatizados .
19.2.1 Autorización .
19.2.2 Controles de acceso .
19.2.3 Vistas .
19.2.4 Copia de seguridad y recuperación .
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 .
Capítulo 20 Gestión 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 Métodos de bloqueo .
20.2.4 Interbloqueos .
20.2.5 Métodos de marca temporal .
20.2.6 Ordenación de marcas temporales multiversión
20.2.7 Técnicas 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 Recuperación de la base de datos .....
20.3.1 La necesidad de la recuperación .
20.3.2 Transacciones y recuperación .
20.3.3 Funcionalidades de recuperación .
20.3.4 Técnicas de recuperación .
20.3.5 Recuperación 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 Reestructuración dinámica .
20.4.5 Modelos de flujo de trabajo .
20.5 Control de concurrencia y recuperación en Oracle
20.5.1 Niveles de aislamiento en Oracle .
20.5.2 Coherencia de lectura multiversión .
20.5.3 Detección interbloqueos .
20.5.4 Copia de seguridad y recuperación .
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 Numeración de las estrategias de ejecución alternativas .
21 .5. 1 Pipelining .
21 .5.2 Árboles lineales .
21.5.3 Operadores físicos y estrategias de ejecución
21.5.4 Reducción del espacio de búsqueda .
583588
589
589
590596
603
605
606
606
607
608
609
575
576
579
583
Procesamiento de consultas .
Panorámica del procesamiento de consultas .
Descomposición de consultas .
Método heurístico de optimización de consultas .
21.3.1 Reglas de transformación para las operaciones del álgebrarelacional .
21.3.2 Estrategias de procesamiento heurístico .
21.4 Estimación de costes para las operaciones del álgebra relacional
21.4.1 Estadísticas de la base de datos .
21.4.2 Operación de selección (S = <Jp(R)) .
21.4.3 Operación de combinación (T = (R F S)) .
21.4.4 Operación de proyección (S = I1A" Az' , Am(R)) .
21.4.5 Operaciones de conjuntos de álgebra relacional
(T = R u S, T = R n S, T = R - S) .
Capítulo 21
21.1
21.2
21.3
XXII Sistemas de bases de datos
21.5.5 Enumeración de árboles de profundidad izquierda. 610
21.5.6 Optimización semántica de consultas 611
21 .5.7 Técnicas alternativas de optimización de consultas 612
21.5.8 Optimización distribuida de consultas 612
21.6 Optimización de consultas en Oracle 613
21.6.1 Optimización basada en reglas y basada en costes. 613
21.6.2 Histogramas 616
21.6.3 Visualización del plan de ejecución 618
Resumen 619
Cuestiones de repaso 620
Ejercicios 621
Parte 6 Bases de datos distribuidas y replicación . 623
Capítulo 22 Bases de datos distribuidas: conceptos y diseño 625
22.1 Introducción 626
22.1.1 Conceptos 626
22.1.2 Ventajas y desventajas de los SGBDD 630
22.1.3 Sistemas SGBDD homogéneos y heterogéneos 633
22.2 Panorámica de la comunicación 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.erencia para un MDBS federado 641
22.3.4 Componentes de un SGBDD 642
22.4 Diseño de bases de datos relacionales distribuidas 643
22.4.1 Asignación de los datos 644
22.4.2 Fragmentación 645
22.5 Transparencia en un SGBDD 653
22.5.1 Transparencia de distribución 653
22.5.2 Transparencia de transacción 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
Capítulo 23 Bases de datos distribuidas: conceptos avanzados 667
23.1 Gestión 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 Gestión distribuida de interbloqueos ....
23.4 Recuperación de bases de datos distribuidas
23.4.1 Fallos en un entorno distribuido ....
23.4.2 Cómo afectan los fallos a la recuperación ..
23.4.3 Confirmación en dos fases (2PC)
23.4.4 Confirmación en tres fases (3PC)
23.4.5 Particionamiento de la red .
23.5 El modelo X/Open de procesamiento distribuido de transacciones
23.6 Optimización de consultas distribuidas .
23.6.1 Localización de los datos
23.6.2 Combinaciones distribuidas
23.6.3 Optimización global .
23.7 Distribución en Oracle .
23.7.1 Funcionalidad del SGBDD de Oracle
Resumen .
Cuestiones de repaso.
Ejercicios .
Capítulo 24 Replicación y bases de datos móviles .-24.1 Introducción a la replicación de bases de datos .
24.2 Beneficios de la replicación de base de datos .
24.3 Aplicaciones de la replicación .
24.4 Componentes básicos de la replicación de bases de datos
24.5 Entornos de replicación de bases de datos .
24.5.1 Replicación síncrona y asíncrona
24.5.2 Propiedad de los datos .
24.6 Servidores de replicación .
24.6.1 Funcionalidad del servidor de replicación
24.6.2 Problemas de implementación .
24.7 Introducción a las bases de datos móviles
24.7.1 Sistemas SGBD móviles .
24.8 Replicación en Oracle .
24.8.1 Funcionalidad de replicación 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
705
706
706
709
710
710
711
712
712
712
713
716
717
717
720
721
722
722
726
726
727
XXIV Sistemas de bases de datos
Parte 7 Bases de datos orientadas a objetos 729
Resumen .
Cuestiones de repaso .
Ejercicios .
Capítulo 26 Bases de datos orientadas a objetos: conceptos .
26.1 Introducción a los modelos de datos orientados a objetos y a los SGBDOO
26.1.1 Definición de un SGBD orientado a objetos
26.1.2 Modelos de datos funcionales .
26.1.3 Lenguajes de programación 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 Técnicas de transformación 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
Introducción a los SGBD orientados a objetos
Aplicaciones avanzadas de bases de datos
Debilidades de los SGBDR .
Conceptos de orientación a objetos .
25.3.1 Abstracción, encapsulación y ocultación de la información .
25.3.2 Objetos y atributos .
25.3.3 Identidad de los objetos ..
25.3.4 Métodos y mensajes
25.3.5 Clases .
25.3.6 Subclases, superclases y herencia
25.3.7 Anulación y sobrecarga .
25.3.8 Polimorfismo y enlace dinámico .
25.3.9 Objetos complejos .
25.4 Almacenamiento de objetos en una base de datos relacional' .
25.4.1 Asignación 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 generación ..
25.6 Diseño de bases de datos orientadas a objetos ....
25.6.1 Comparación del modelado de datos orientado a objetos
y del modelado de datos conceptual .
25.6.2 Relaciones e integridad referencial ..
25.6.3 Diseño comportamental .
25.7 Análisis y diseño orientados a objetos con UML ..
25.7.1 Diagramas UML .
25.7.2 Utilización de UML en la metodología de diseño de bases dedatos .
Capítulo 25
25.1
25.2
25.3
Contenido
26.2.2 Acceso a un objeto .26.3 Persistencia .
26.3.1 Esquemas de persistencia .
26.3.2 Persistencia ortogonal .26.4 Cuestiones relativas a los SGBDOO
26.4.1 Transacciones .
26.4.2 Versiones .
26.4.3 Evolución de los esquemas .
26.4.4 Arquitectura .
26.4.5 Bancos de pruebas .
26.5 Ventajas y desventajas de los SGBDOO
26.5.1 Ventajas .
26.5.2 Desventajas .
Resumen .
Cuestiones de repaso .
Ejercicios : .
Capítulo 27 Bases de datos orientadas a objetos: estándares ysistemas .
27.1 Object Management Group _ .27.1.1 Preliminares .
27.1.2 La arquitectura CORBA .
27.1.3 Otras especificaciones de OMG .
27.1.4 Arquitectura basada en modelos ...•
27.2 Estándar de objetos de datos ODMG 3.0, 1999 .
27.2.1 Object Data Management Group .
27.2.2 El modelo de objetos .
27.2.3 El lenguaje de definición de objetos .
27.2.4 El lenguaje de consulta de objetos .
27.2.5 Otras partes del estándar ODMG .
27.2.6 Correspondencia entre el diseño conceptual y el diseño lógico(orientado a objetos) .
27.3 ObjectStore .
27.3.1 Arquitectura .
27.3.2 Desarrollo de una aplicación ObjectStore .
27.3.3 Definición de datos en ObjectStore .
27.3.4 Manipulación de datos en ObjectStore .Resumen .
Cuestiones de repaso .
Ejercicios .
Capítulo 28 Bases de datos objeto-relacionales .
28.1 Introducción a los sistemas de bases de 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 Sistemas de bases de datos
28.2 Los manifiestos de las bases de datos de tercera generación .
28.2.1 El manifiesto de los sistemas de bases de datos de tercera
generación .
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 Creación de tablas
28.4.8 Consulta de datos .
28.4.9 Tipos de colección
28.4.10 Vistas tipadas .
28.4.11 Módulos almacenados persistentes
28.4.12 Disparadores .
28.4.13 Objetos de gran tamaño
28.4.14 Recursión ":" .
28.5 Procesamiento y optimización 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 Manipulación de tablas de objetos
28.6.3 Vistas de objetos ....
28.6.4 Privilegios .....
28.7 Comparación de los SGBDOR y los SGBDOO
Resumen .
Cuestiones de repaso .
Ejercicios .
Parte 8 Las bases de datos y la World Wide Web .
Capítulo 29 Tecnología web y sistemas de gestión de bases de datos .
29.1 Introducción a Internet y a la Web .
29.1 .1 Intranets y Extranets .
29.1.2 Comercio electrónico 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 Páginas web estáticas y dinámicas .
29.2.5 Servicios web .
29.2.6 Requisitos para la integración web-SGBD .
29.2.7 Ventajas y desventajas de la integración web-SGBD .
29.2.8 Técnicas para la integración 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 información al script CGI .
29.4.2 Ventajas y desventajas de CGI .
29.5 Cookies HTTP .
29.6 Extensiones del servidor web .
29.6.1 Comparación de CGI y de las extensiones de servidor .
29.7 Java .
29.7.1 JDBC .
29.7.2 SQLJ .
29.7.3 Comparación 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 Páginas 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 Comparación de ASP y JSP .
29.8.5 Microsoft .NET .
29.8.6 Servicios web de Microsoft .
29.8.7 Microsoft Office Access y generación de páginas 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
925
930
930
931
935
939
940
940
941
943
943
946
947
948
951
951
952
953
958
960
960
XXVIII Sistemas de bases de datos
Capítulo 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 Introducción a XML 970
30.2.1 Panorámica de XML 972
30.2.2 Definiciones de tipos de documentos (DTD) 975
30.3 Tecnologías 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 Extensión 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 Semántica formal 101 2
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
Capítulo 31 Conceptos de almacenes de datos .
31.1 Introducción a los almacenes de datos .
31.1.1 Evolución 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 Comparación de los sistemas Ol TP Y los almacenes de datos
31.1.5 Problemas de los almacenes de datos .
31.2 Arquitectura de un almacén de datos .
31.2.1 Datos operacionales .
31.2.2 Repositorio de datos operacionales ..
31.2.3 Gestordecarga .
31.2.4 Gestor del almacén 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 usúarios finales
31 .3 Flujos de datos en un almacén 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 tecnologías de almacén de datos .
31.4.1 Herramientas de extracción, limpieza y transformación
31.4.2 Sistemas SGBD para almacenes de datos .
31.4.3 Metadatos de un almacén de datos ....
31.4.4 Herramientas de administración y gestión
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 .
Capítulo 32 Diseño de almacenes de datos .
32.1 Diseño de la base de datos para un almacén de datos .
32.2 Modelado de la dimensionalidad .
32.2.1 Comparación de los modelos DM y ER
32.3 Metodología de diseño 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 Sistemas de bases de datos
32.4 Criterios para verificar la dimensionalidad de un almacén dedatos .
32.5 Diseño de almacenes de datos con Oracle .
32.5.1 Componentes de Oracle Warehouse Builder .
32.5.2 Utilización de Oracle Warehouse Builder .
Resumen .
Cuestiones de repaso.
Ejercicios .
Capítulo 33 OlAP .33.1 Procesamiento analítico en línea .
33.1 1 Baterías de prueba OlAP .
33.2 Aplicaciones OlAP .
33.2.1 Beneficios de OlAP .
33.3 Representación de datos multidimensionales .
33.4 Herramientas OlAP .
33.4.1 Reglas de Codd para las herramientas OlAP .
33.4.2 Categorías de herramientas OlAP .
33.5 Extensiones OlAP al estándar SOL .
33.5.1 Capacidades de agrupación 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 Gestión del sistema .
33.6.7 Requisitqs del sistema .
Resumen .
Cuestiones de repaso .
Ejercicios .
Capítulo 34 Minería de datos .
34.1 Minería de datos .
34.2 Técnicas de minería de datos .
34.2.1 Modelado predictivo .
34.2.2 Segmentación de la base de datos .
34.2.3 Análisis de enlaces .
34.2.4 Detección de desviaciones .
34.3 El proceso de minería 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 minería de datos .
34.5 Minería de datos y almacenes de datos .
34.6 Oracle Data Mining (ODM) .
34.6.1 Capacidades de minería de datos .
34.6.2 Soporte para aplicaciones de minería de datos.
34.6.3 Predicciones y asociaciones ",'
34.604 Entorno de Oracle Data Mining .
Resumen .
Cuestiones de repaso , .
Ejercicios .
Apéndices
A Especificación 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 University Accommodation Orrice .
13.1.1 Requisitos de datos .
B.l.2 Transacciones de consulta (ejemplos)
B.2 Caso de estudio EasyDrive School or Motoring
B.2.1 Requisitos de datos .
B.2.2 Transacciones de consulta (ejemplos) .
B.3 El caso de estudio Wellmeadows Hospital.
B.3.1 Requisitos de datos .
B.3.2 Requisitos de transacciones (ejemplo) .
e Organizaciones de archivos e índices .
C.l Conceptos básicos .
C.2 Archivos desordenados .
C.3 Archivos ordenados " .
CA Archivos hash .
CA.l Hash dinámico .
CA.2 Limitaciones de las técnicas 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 Sistemas de bases de datos
C.5.3 índices secundarios .
C.5.4 índices multinivel
C.5.5ÁrbolesB+ .
C.5.6 índices de mapa de bits
C.5.7 índices de combinación .....
C.6 Tablas agrupadas y no agrupadas ..
C.6.1 Clústeres indexados .
C.6.2 Clústeres hash .
C.7 Directrices para seleccionar la organización de los archivos
Resumen del Apéndice .
O ¿Cuándo 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 Extracción de datos mediante SOL embebido y cursores
E.1.5 Utilización de cursores para modificar los datos
E.1.6 Estándar ISO para el SOL embebido
E.2 SOL dinámico .
E.3 El estándar ODBC (Open Database Connectivity) .
E.3.1 La arquitectura ODBC .
E.3.2 Niveles de ~umplimiento ODBC ..
Resumen del Apéndice .
Cuestiones de repaso .
Ejercicios .
F Notaciones alternativas para modelado ER .
F.1 Modelad9 ER utilizando la notación Chen .
F.2 Modelado ER utilizando la notación en pie de cuervo .
G Resumen de la metodología de diseño 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
IntroducciónLa historia de investigación en sistemas de bases de datos en los últimos 30 años es la de una investigaciónde excepcional productividad, que ha hecho que los sistemas de bases de datos sean probablemente el desarrollo más importante en el campo de la ingeniería del software. Las bases de datos constituyen ahora el fundamento de todos los sistemas de información y han cambiado de manera fundamental la forma en quemuchas organizaciones operan. En particular, los desarrollos relativos a esta tecnología en los últimos añoshan producido sistemas que son mucho más potentes y más intuitivos de utilizar, lo que ha hecho que hayasistemas de bases de datos a disposición de un número cada vez mayor de usuarios. Desafortunadamente, laaparente simplicidad de estos sistemas ha hecho que algunos usuarios creen bases de datos y aplicaciones sinlos necesarios conocimientos como para construir un sistema efectivo y eficiente. De aquí proviene la 'crisisdel software' o, como algunas veces se la denomina, la 'depresión del software' que parece afectar a todos losdesarrollos en este campo.
El estímulo original para la escritura de este libro proviene del trabajo de los autores dentro del sector delas tecnologías de la información, donde han estado proporcionando servicios de consultoría sobre el diseñode bases de datos para nuevossistemas software y, en muchas ocasiones, resolviendo los problemas de los sistemas existentes. Además, el trabajo académico de los autores les permitió entrar en contacto con problemassimilares experimentados por otros usuarios distintos, los estudiantes. Los objetivos de este libro son, por ello,proporcionar un texto que presenta la teoría relativa a las bases de datos de la forma más clara posible y, enconcreto, proporcionar una metodología del diseño de bases de datos que pueda ser utilizada por lectores tantotécnicos como no técnicos.
La metodología presentada en este libro para sistemas de gestión de bases de datos relacionales (SGBDR)(el sistema actualmente predominante para las aplicaciones de carácter empresarial) ha sido probada a 10 largode los años en entornas tanto empresariales como académicos. Está compuesta de tres fases principales: diseño conceptual, lógico y fisico de la base de datos. La primera fase comienza con la producción de un modelo conceptual de los datos que sea independiente de todas las consideraciones fisicas. Este modelo se refina acontinuación en la segunda fase, para obtener un modelo lógico de los datos donde se eliminen las estructuras que no puedan representarse en los sistemas relacionales. En la tercera fase, el modelo lógico de los datosse traduce a un diseño fisico adecuado al SGBD elegido. La fase de diseño fisico considera las estructuras dealmacenamiento y métodos de acceso requeridos para un acceso seguro y eficiente a la base de datos contenida en el almacenamiento secundario.
La metodología de cada una de las fases se presenta en forma de una serie de pasos. Para el diseñador inexperto, recomendamos que los pasos se sigan en el orden descrito, proporcionándose directrices que le ayudarán durante todo este proceso. Para el diseñador más experimentado, la metodología puede ser menos prescriptiva, actuando más como un marco de trabajo o lista de comprobación. Para ayudar a que el lector puedautilizar la metodología y comprender los aspectos más importantes, hemos descrito esta metodología utilizando un ejemplo realista, basado en un caso de estudio integrado, DreamHome. Además, en el Apéndice B seproporcionan casos de estudio adicionales para que los lectores puedan aplicar la metodología por sí mismos.
XXXIV Sistemas de bases de datos
UML (Unified Modeling Language)Cada vez más, las empresas están estandarizando la forma de modelar los datos, seleccionando una técnica demodelado de datos concreta y utilizándola en todos sus proyectos de desarrollo de bases de datos. Un modelo de datos de alto nivel muy popular que se utiliza en el diseño conceptual/lógico de bases de datos, y que esel que empleamos en este libro, está basado en los conceptos del modelo entidad-relación (ER). Actualmenteno hay ninguna notación están dar para los modelos ER, en la mayoría de los libros dedicados al diseño debases de datos para servidores SGBD relacionales tienden a usar una de dos notaciones convencionales:
• la notación Chen, compuesta por rectángulos que representan entidades y rombo s que representan relaciones, con líneas que enlazan los rectángulos y los rombos; o
• la notación en pie de cuervo, que de nuevo consta de rectángulos que representan las entidades y líneas entre las entidades que representan relaciones, con un símbolo de pie de cuervo en uno de losextremos de la línea para representar las relaciones uno a muchos.
Ambas notaciones son soportadas por las herramientas CASE actuales. Sin embargo, pueden resultar bastante engorrosas de utilizar y algo difíciles de explicar. Con anterioridad a esta edición, utilizábamos la notaciónde Chen; sin embargo, después de procesar un completo cuestionario que fue elaborado por PearsonEducation, vimos que había un consenso general en que la notación debería cambiarse, para utilizar el últimolenguaje de modelado orientado a objetos, denominado UML (Unified Modeling Language). UML es unanotación que combina elementos de las tres tendencias principales de diseño orientado a objetos: el modelado OMT de Rumbaugh, el análisis y diseño orientado a objetos de Booch y la técnica Objectory de Jacobson.
Hay tres razones principales para adoptar una notación distinta: (1) UML se está convirtiendo en un estándar del sector; por ejemplo, OMG (Object Management Group) ha adoptado UML como notación estándarpara los métodos de los objetos; (2) UML es más claro y fácil de utilizar; (3) UML está siendo ahora adoptado en el mundo académico para enseñar análisis y diseño orientados a objetos, y la utilización de UML en losmódulos de base de datos proporciona una mayor sinergia. Por tanto, en este edición hemos adoptado la notación de diagramas de clases de UML. Estamos convencidos de que el lector encontrará esta notación más fácilde entender y de utilizar. Antes de hacer esta transición a UML, los autores hemos dedicado una considerablecantidad de tiempo a experimentar con UML ya comprobar su adecuación al diseño de bases de datos, habiendo concluido este trabajo con la publicación de un libro a través de Pearson Education llamado DatabaseSolutions: A Step-by-Step Guide to Building Databases. Dicho libro utiliza la metodología de diseño y de desarrollo de bases de datos en dos casos de estudio, uno para el SGBD Microsoft Office Access y otro utilizando Oracle como base de datos objetivo. Este libro contiene también muchos otros casos de estudio con soluciones de ejemplo.
Novedades en la cuarta edición
La cuarta edición del libro ha sido revisada para mejorar la legibilidad, para actualizar o ampliar el tratamien
to de determinados temas y para incluir otros temas nuevos. Los cambios principales en la cuarta edició~• Un tratamiento más amplio del tema de la normalización (el capítulo original ha sido dividido en dos).
• Una metodología simplificada para el diseño de bases de datos utilizando la notación UML para losdiagramas ER.
• Una nueva sección sobre el uso de otras partes de UML dentro del análisis y el diseño, cubriendo lostemas de los casos de uso, diagramas de secuencia, diagramas de colaboración, diagramas de estadosy diagramas de actividad.
• Una nueva sección dedicada a la enumeración de estrategias de ejecución dentro del proceso de optimización de consultas, para servidores SGBD tanto centralizados como distribuidos.
• Tratamiento de las especificaciones OMG, incluyendo CWM (Common Warehouse Metamodel) yMDA (Model Driven Architecture).
• Actualización del capítulo de bases de datos objeto-relacionales, para incluir información acerca delnuevo estándar SQL:2003.
Prefacio XXXV
• Un tratamiento ampliado de la integración de los SGBD con la Web, incluyendo los temas de CMP(Container-Managed Persistence), IDO (Java Data Objects) y ADO.NET.
• Un tratamiento ampliado de XML, SOAP, WSDL, UDDI, XQuery 1.0 y XPath 2.0 (incluyendo elmodelo de datos revisado y la semántica formal), el estándar SQL:2003 SQL/XML, el almacenamiento de información XML en bases de datos relacionales y el tema de las bases de datos XML nativas .
• Un tratamiento ampliado de OLAP y de la minería de datos, incluyendo la funcionalidad de SQL:2003y el modelo CRISP-DM.
• Actualización del tratamiento de Oracle9i (panorámica de Oracle 1Og) y de Microsoft Office Access2003.
• Recursos web adicionales, incluyendo un capítulo ampliado dedicado a la organización de archivos ya las estructuras de almacenamiento, una implementación web completa del caso de estudio deDreamHome, una guía de usuario para Oracle y más ejemplos para el apéndice dedicado a la integración de sistemas SGBD y la Web.
Audiencia objetivo
Este libro está pensado como texto para un curso de uno a dos semestres sobre gestión o diseño de bases dedatos, a nivel introductorio, normal o avanzado. Dichos cursos son normalmente incluidos en los currícularelacionados con los sistemas de información, con las tecnologías de la información o con la informática.
El libro también pude utilizarse como texto de referencia por parte de los profesionales de las tecnologíasde la información como por ejemplo analistas de sistemas, diseñadores, programadores de aplicaciones, programadores de sistemas, administradores de bases de datos y personas interesadas en general. Debido alamplio uso actual de los sistemas de bases de datos, este tipo de profesionales interesados puede estar trabajando en cualquier empresa donde se necesite emplear una base de datos.
Resultaría útil para los estudiantes disponer de ciertos conocimientos sobre organización de archivos yestructuras de datos, por lo que hemos incluido dicha información en el Apéndice C como preparación parael Capítulo 17 dedicado al diseño físico de bases de datos y el Capítulo 21, dedicado al procesamiento deconsultas. Lo ideal es que estos conocimientos los hubiera adquirido el lector en algún curso anterior, peroen caso de no ser posible, el Apéndice C puede repasarse al comienzo del curso, inmediatamente después delCapítulo l.
También conviene tener unos ciertos conocimientos sobre algún lenguaje de programación de alto nivel,como C, para poder comprender el Apéndice E dedicado al SQL embebido y al SQL dinámico, y la Sección27.3, dedicada a ObjectStore.
Características distintivas
(1) Una metodología paso a paso fácil de utilizar para el diseño conceptual y lógico de bases de datos,basada en el ampliamente aceptado modelo entidad-relación, utilizándose la normalización técnica de
validación. Hay un caso de estudio integrado que muestra cómo utilizar la metodología.
(2) Una metodología paso a paso fácil de utilizar para el diseño físico de base de datos, que cubre elttablecimiento de la correspondencia entre el diseño lógico y la implementación física, la selecci' n deorganizaciones de archivo e índices apropiados para las aplicaciones y la utilización de técnic deintroducción de redundancia controlada. De nuevo, hay un caso de estudio integrado que muestrautilizar la metodología.
(3) Hay capítulos independientes que muestran cómo encaja el diseño de la base de datos dentro del ciclode desarrollo de los sistemas de base de datos, cómo pueden utilizarse las técnica de determinación dehechos para identificar los requisitos del sistema y cómo encaja UML dentro de esta metodología.
(4) Una presentación clara y fácil de entender, con definiciones claramente resaltadas, con una exposiciónpreliminar de los objetivos del capítulo y con un resumen de cada capítulo. Se proporcionan en todoslos capítulos numerosos ejemplos y diagramas para ilustrar los conceptos. A lo largo de todo el libro
XXXVI Sistemas de bases de datos
hay un caso de estudio realista integrado, pudiéndose utilizar otros casos de estudio adicionales comoproyectos para los estudiantes.
(5) Un tratamiento completo de los más recientes estándares formales y de Jacto: SQL (Structured QueryLanguage), QBE (Query-By-Example) y el estándar ODMG (Object Data Management Group) parabases de datos orientadas a objetos.
(6) Tres capítulos de tipo tutorial sobre el estándar SQL, que cubren tanto el SQL interactivo como el SQLembebido.
(7) Un capítulo de nivel introductorio que cubre dos de los SGBD comerciales más populares: MicrosoftOffice Access y Oracle. Muchos de los capítulos subsiguientes proporcionan información sobre elmodo en que Microsoft Office Access y Oracle soportan los mecanismos analizados.
(8) Un tratamiento completo de los conceptos y problemas relativos a los SGBD distribuidos y los servidores de replicación.
(9) Una introducción completa a los conceptos y cuestiones relativos a los SGBD basados en objetos,incluyendo una revisión del estándar ODML y un tutorial sobre las funcionalidades de gestión de objetos incluidas en la última versión del estándar SQL, SQL:2003.
(10) Un tratamiento completo de la utilización de la Web como plataforma para aplicaciones de base dedatos, con muchos ejemplos de código que explican cómo acceder a bases de datos a través de la Web.En particular, se cubre el tema de la persistencia presentando tecnologías tales como CMP (ContainerManaged Persistence), JDO (Java Data Objects), JDBC, SQLJ, ADO (ActiveX Data Objects),ADO.NET y PSP (Oracle PL/SQL Pages).
(11) Una introducción a los datos semiestructurados y a su relación con XML y un tratamiento completo deXML y sus tecnologías relacionadas. En particular, se presentan XML Schema, XQuery y el modelode datos y la semántica formal de XQuery. También se analiza la integraci~n de XML con las bases dedatos y se examinan las extensiones añadidas a SQL:2003 para permitir la publicación de datos XML.
(12) Una introducción completa al tema de los almacenes de datos, el procesamiento analítico en línea(OLAP, Online Analytical Processing) y la minería de datos.
(13) Una introducción completa al modeladCMie dimensionalidad para el diseño de bases de datos paraalmacenes de datos. Se utiliza un caso de estudio integrado para demostrar una metodología para eldiseño de almacenes de datos.
(14) Un tratamiento de los conceptos de implementación de los sistemas SGBD, incluyendo el control deconcurrencia y recuperación, la seguridad y el procesamiento y optimización de consultas.
Pedagogía
Antes de comenzar a escribir el libro, uno de los objetivos que nos planteamos era que el texto fuera fácil deseguir y comprender para los profesores, independientemente de su formación y experiencia. Según la experiencia de los autores en la utilización de libros de texto, que era bastante considerable antes de acometer unproyecto de este tipo, y teniendo también en cuenta la opinión de los colegas, clientes y estudiantes, vimosque había distintas características que a los lectores les gustaban o les disgustaban. Teniendo en cuenta estoscomentarios, decidimos adoptar el siguiente estilo y la siguiente estructura para el libro:
• Un conjunto de objetivos, claramente identificados al principio de cada capítulo.
• Cada concepto importante que se presenta se define y se resalta claramente, utilizando un tipo de letradiferente a la del resto del texto.
• Se utilizan diagramas por todo el texto para ampliar y clarificar los conceptos.
• Se decidió adoptar una orientación muy práctica: con este fin, cada capítulo contiene muchos ejemplosresueltos que ilustran los conceptos presentados.
• Un resumen al final de cada capítulo, en el que se cubren los principales conceptos que se han presen
tado t7o:----
Prefacio XXXVII
~• Un conjunto de cuestiones de repaso, cuyas respuestas se encuentra dentro del propio texto.
• Un conjunto de ejercicios que los profesores pueden utilizar para verificar que los estudiantes han comprendido el capítulo, pudiendo encontrarse las respuestas en la Guía del Profesor que acompaña a estelibro.
Guía del profesorUn suplemento muy completo que contiene numerosos recursos de ayuda para la impartición del material con-tenido en este libro; esta guía puede solicitarse a Pearson Education. La guía incluye: .
• Estructuras de curso. Se incluyen sugerencias relativas a los capítulos que pueden incluirse en diversos tipos de cursos.
• Sugerencias pedagógicas. Incluyen sugerencias sobre lecturas recomendadas, consejos pedagógicos eideas sobre proyectos que los estudiantes pueden acometer y que están relacionados con el contenidode distintos capítulos.
• Soluciones. Se proporcionan respuestas de ejemplo para todas las cuestiones de repaso y ejercicios.
• Preguntas de examen. Preguntas de examen similares a las cuestiones y ejercicios del final de cadacapítulo, con sus correspondientes soluciones.
• Plantillas de transparencia. Un conjunto de transparencias electrónicas que contienen los puntos principales de cada capítulo, con ilustraciones más grandes y tablas extraídas del texto, que ayudarán alprofesor a ligar las explicaciones y las discusiones de la clase con el material contenido en el libro.
• Una Guía del Usuario para Microsoft Office Access 2003, para el trabajo de los estudiantes en ellabo-ratorio.
• Una Guía del Usuario para Oracle9i, para el trabajo de los estudiantes en el laboratorio.
• Un capítulo ampliado sobre organizaciones de archivos y estructuras de almacenamiento.
• Una implementación web del caso de estudio de DreamHome.
El lector interesado puede encontrar información adicional sobre la Guía del Profesor y el libro en el sitio webde Pearson Education en:
.".
http://www.booksites.net/connbegg
Organización del libro
Parte 1 IntroducciónLa Parte 1 del libro sirve como introducción al tema de los sistemas de bases de datos y el diseño de bases dedatos.
El Capítulo 1 introduce los conceptos de la gestión de base de datos, examinando los problemas que presentaban los precursores de los sistemas de base de datos, que son los sistemas basados en archivos, y las ventajas ofrecidas por la utilización de una base de datos.
El Capítulo 2 examina el entorno de una base de datos, analizando las ventajas que ofrece la arquitecturaANSI-SPARC en tres niveles, introduciendo los modelos de datos más populares y resaltando las funcionesque debe proporcionar un SGB multi-usuario. El capítulo examina también la arquitectura software subyacente de los SGBD, pudiendo omitirse esta exposición en los cursos introductorios dedicados a la gestión de basesde datos.
Parte 2 El modelo relacional y los lenguajes relacionalesLa Parte 2 del libro sirve como introducción al modelo relacional y a los lenguajes relacionales, especialmente el álgebra relacional y el cálculo relacional, QBE (Query-By-Example) y SQL (Structured Query Lan-
XXXVIII Sistemas de bases de datos
guage). Esta parte examina también dos sistemas comerciales muy populares: Microsoft Office Access yOracle.
El Capítulo 3 introduce los conceptos subyacentes al modelo relacional, que es el modelo de datos más popular en la actualidad y el que más a menudo se elige para aplicaciones estándar de carácter empresaria!.Después de presentar la terminología y mostrar la relación existente con las relaciones matemáticas, se explica el tema de las reglas de integridad relacionales, de la integridad de entidades y de la integridad referencia!.El capítulo concluye con una panorámica del tema de las vistas, del que se habla más extensamente en elCapítulo 6.
El Capítulo 4 presenta el álgebra relacional y el cálculo relacional con una serie de ejemplos para ilustrartodas las operaciones. Puede omitirse en un curso introductorio sobre gestión de bases de datos. Sin embargo, el álgebra relacional es necesaria para comprender los temas de procesamiento de consultas del Capítulo21 y de la fragmentación en los SGBD distribuidos del Capítulo 22. Además, los aspectos comparativos delálgebra procedimental y el cálculo no procedimental resultan de utilidad para el estudio de SQL en losCapítulos 5 y 6, aunque no son estrictamente esenciales.
El Capítulo 5 presenta las instrucciones de manipulación de datos del estándar SQL: SELECT, INSERT,UPDATE y DELE TE. El capítulo se presenta como un tutorial, dando una serie de ejemplos resueltos que ilustran los conceptos principales relacionados con estas instrucciones.
El Capítulo 6 cubre las principales funcionalidades de definición de datos del estándar SQL. De nuevo, elcapítulo se presenta en forma de tutoria!. El capítulo analiza los tipos de datos SQL y las instrucciones de definición de datos, las características de mejora de integridad y las características más avanzadas en las instrucciones de definición de datos, incluyendo las instrucciones de control de acceso GRANT y REVOKE.También se examinan las vistas y se muestra cómo pueden crearse en SQL.
El Capítulo 7 es otro capítulo práctico que examina el lenguaje de consulta interactivo QBE (Query-ByExample), que tiene la reputación de ser una de las formas más sencillas mediante la que los usuarios no técnicos pueden acceder a la información contenida en una base de datos. QBE se ilustra utilizando MicrosoftOffice Access.
El Capítulo 8 completa la segunda parte dellib!;9 proporcionando una introducción a dos de los SGBD relacionales comerciales más populares, Microsoft Office Access y Oracle. En los siguientes capítulos del librose examina cómo implementan estos sistemas diversas funcionalidades de base de datos, como la seguridady el procesamiento de consultas.
Parte 3 Técnicas de análisis y diseño de bases de datosLa Parte 3 del libro explica las técnicas principales del análisis y el diseño de bases de datos y cómo puedenaplicarse de una forma práctica.
El Capítulo 9 presenta una panorámica de las etapas principales del ciclo de desarrollo de aplicaciones debase de datos. En particular, enfatiza la importancia del diseño de base de datos y muestra cómo puede descomponerse el proceso en tres fases: diseño conceptual, lógico y físico de la base de datos. También describecómo afecta el diseño de la aplicación (el enfoque funcional) al diseño de la base de datos (el enfoque dedatos). Una etapa crucial en el ciclo de desarrollo de las aplicaciones de base de datos es la selección de unSGBD apropiado. Este capítulo explica el proceso de selección de un SGBD y proporciona algunas directrices y recomendaciones. El capítulo concluye con un análisis de la importancia de la administración de datosy de la administración de bases de datos.
El Capítulo 10 explica cuándo puede utilizar el desarrollador las técnicas de determinación de hechos y quétipos de hechos debe capturarse. El capítulo describe las técnicas más comúnmente utilizadas para la determinación de hechos e identifica las ventajas y desventajas de cada una. El capítulo también ilustra el modo enque pueden usarse estas técnicas durante las etapas iniciales del desarrollo de aplicaciones de base de datos,utilizando como ilustración el caso de estudio de DreamHome.
Los Capítulos 11 y 12 cubren los conceptos del modelo entidad-relación (ER) y del modelo entidad-relaciónavanzado (EER), que permite un modelado de datos más avanzado utilizando subclases y superclases y téc-
Prefacio XXXIX
nicas de categorización. El modelo EER es un modelo de datos conceptual de alto nivel muy popular y constituye una técnica fundamental de la metodología del diseño bases de datos que aquí se presenta. También seintroduce el tema de la utilización de UML para la representación de diagramas ER.
Los Capítulos 13 y 14 examinan los conceptos subyacentes a la normalización, que es otra técnica importante utilizada en la metodología de diseño lógico de bases de datos. Empleando una serie de ejemplos resueltosextraídos del caso de estudio integrado, se ilustra cómo pasar un diseño de una forma normal a otra y se muestran las ventajas de disponer de un diseño lógico de la base de datos que se adapte a determinadas formas normales, hasta la quinta forma norma!.
Parte 4 MetodologíaEsta parte del libro cubre una metodología para el diseño de bases de datos. La metodología está dividida entres partes, que cubren el diseño conceptual, lógico y fisico de la base de datos. Cada parte de la metodologíase ilustra utilizando el caso de estudio de DreamHome.
El Capítulo 15 presenta una metodología paso a paso para el diseño conceptual de bases de datos. Muestracómo descomponer el diseño en áreas más manejables basadas en las vistas individuales y proporciona a continuación directrices para la identificación de entidades, atributos, relaciones y claves.El Capítulo 16 presenta una metodología paso a paso para el diseño lógico de bases de datos basadas en elmodelo lógico relaciona!. Se muestra cómo establecer la correspondencia entre un modelo conceptual de losdatos y un modelo lógico de los datos y como validar el modelo de acuerdo con las transacciones requeridas,utilizando la técnica de la normalización. Para las aplicaciones de base de datos con múltiples vistas de usuario, este capítulo muestra cómo combinar los modelos de datos resultantes en un modelo de datos global querepresente todas las vistas de la parte de la organización que se esté modelando.
Los Capítulos 17 y 18 presentan una metodología paso a paso para el diseño físico de bases de datos relacionales. Muestra cómo traducir el modelo lógico de los datos obtenido durante el diseño lógico de la basede datos a un diseño fisico basado en un sistema relaciona!. La metodología contempla la cuestión de lasprestaciones de la implementación resultante, proporcionando directrices para la selección de organizacionesde archivos y estructuras de>'almacenamiento, y explicando cuando debe introducirse redundancia controlada.
Parte 5 Problemas fundamentales en las bases de datos
La Parte 5 del libro examina cuatro temas específicos que los autores consideran necesarios para cualquiercurso moderno dedicado a la gestión de bases de datos.
El Capítulo 19 analiza el tema de la seguridad en las bases de datos, no sólo en el contexto de la seguridaddel SGBD sino también en el de la seguridad del entorno del SGBD. Se ilustra cómo proporcionar seguridadcon Microsoft Office Access y Oracle. El capítulo examina también los problemas de seguridad que puedensurgir en un entorno web y presenta algunas técnicas dedicadas a prevenir estos problemas.
El Capítulo 20 se concentra en tres funciones que todo sistema de gestión de bases de datos debe proporcionar: la gestión de transacciones, el control de concurrencia y la recuperación. Estas funciones tratan de garantizar que la base de datos sea viable y permanezca en un estado coherente cuando múltiples usuarios esténaccediendo a la base de datos, y en presencia de fallos tanto de los componentes hardware como software. Elcapítulo también explica los modelos avanzados de transacciones que resultan más apropiados para las transacciones de larga duración. Se concluye el capítulo examinando el tema de la gestión de transacciones enOracle.
El Capítulo 21 examina las cuestiones del procesamiento y optimización de consultas. En el capítulo se presentan las dos técnicas principales de optimización de consultas: utilización de reglas heurísticas que ordenenlas operaciones de la consulta, y otra técnica que compara diferentes estrategias basándose en sus costes relativos y selecciona aquella que minimiza el uso de recursos. El capítulo concluye examinando el procesamien~to de consultas en Oracle.
XL Sistemas de bases de datos
Parte 6 Bases de datos distribuidas y replicación
La Parte 6 del libro examina los SGBD distribuidos y los SGBD basados en objeto. La tecnología de sistemasde gestión de bases de datos distribuidas (SGBDD) constituye uno de los desarrollos principales en la actualidad dentro del área de los sistemas de base de datos. Los capítulos anteriores del libro se centran en los sistemas de bases de datos centralizados, es decir, sistemas con una única base de datos lógica ubicada en unaplataforma bajo control de un único SGBD.
El Capítulo 22 explica los conceptos y problemas de los SGBD distribuidos, en los que los usuarios puedenacceder a la base de datos situada en su propia plataforma y también a los datos almacenados en otros sitiosremotos.
E! Capítulo 23 examina varios conceptos avanzados asociados con los SGBD distribuidos. En particular, seconcentran los protocolos asociados con la gestión de transacciones distribuidas, el control de concurrencia,la gestión de interbloqueos y la recuperación de la base de datos. El capítulo examina también el protocoloDTP (Distributed Transaction Processing) de X/Open. Se concluye el capítulo examinando la cuestión de ladistribución de datos en Oracle.
El Capítulo 24 presenta los servidores de replicación como alternativa a los SGBD distribuidos y examinalos problemas asociados con las bases de datos móviles. En el capítulo se analizan también las funcional idades de replicación de datos de Oracle.
Parte 7 Bases de datos orientadas a objetos
Los capítulos anteriores del libro se centran en el modelo relacional y en los sistemas relacionales. La justificación es que tales sistemas son actualmente el tipo de SGBD predominante para las aplicaciones tradicionales de base de datos en el ámbito empresaria!. Sin embargo, los sistemas relacionales no carecen de desventajas, y los SGBD basados en objetos constituyen uno de los principales desarrollos en el área de los sistemasde base de datos, tratando precisamente de resolver dichas desventajas. Los Capítulos 25-28 examinan estatecnología con un cierto grado de detalle.
El Capítulo 25 sirve como introducción a los SGJ3D basados en objetos y examina en primer lugar los tiposde aplicaciones avanzadas de base de datos que están comenzando a surgir, explicando las desventajas delmodelo de datos relacional que hacen que éste no resulte adecuado para dichos tipos de aplicaciones. El capítulo presenta a continuación los conceptos principales de la orientación a objetos y analiza los problemas dealmacenar objetos en una base de datos relaciona!.
El Capítulo 26 examina los SGBD orientados a objetos (SGBDOO) y comienza proporcionando una introducción a los modelos de datos orientados a objetos y a los lenguajes de programación persistente. El capítulo explica la diferencia entre el modelo de almacenamiento en dos niveles utilizado por los SGBD tradicionales y el modelo de almacenamiento en mi único nivel utilizado por los SGBDOO, explicando cómo afecta estoal acceso a los datos. También se analizan las distintas técnicas para proporcionar persistencia en los lenguajes de programación y las distintas alternativas para transformación de punteros, examinando las cuestionesde la gestión de versiones, la evolución del esquema y de las arquitecturas de los SGBDOO. El capítulo concluye mostrando brevemente cómo puede emplearse la metodología presentada en la Parte 4 del libro para lasbases de datos orientadas a objetos.
El Capítulo 27 contempla el modelo de objetos propuesto por ODMG (Object Data Management Group), quese ha convertido en un estándar de Jacto para los SGBDOO. El capítulo también examina ObjectStore, unSGBDOO comercial
El Capítulo 28 analiza los SGBD objeto-relacionales, proporcionando una panorámica detallada de las características de gestión de objetos que se han añadido a la nueva versión del estándar SQL, SQL:2003. El capítulo también explica cómo es necesario ampliar el procesamiento y la optimización de consultas para gestionar de manera eficiente la extensibilidad de los tipos de datos. El capítulo concluye examinando algunas delas características objeto-relacionales de Oracle.
Prefacio XLI
Parte 8 las bases de datos y la World Wide WebLa Parte 8 del libro trata del tema de la integración de los SGBD en los entornos web, así como sobre los datossemiestructurados y su relación con XML, los lenguajes de consulta XML y la integración de XML con lasbases de datos.
El Capítulo 29 examina la integración de los SGBD en los entorno s web. Después de proporcionar una breveintroducción a Internet y a la tecnología web, el capítulo examina la adecuación de la Web como plataformade aplicación de bases de datos y explica las ventajas y desventajas de esta técnica. A continuación se presentan diversas alternativas para la integración de los SGBD en los entorno s web, incluyendo los lenguajes descript, COI, las extensiones de servidor, Java, ADO y ADO.NET y la plataforma Internet de Oracle.
El Capítulo 30 examina el tema de los datos semiestructurados y explica el lenguaje XML y por qué este lenguaje se está convirtiendo en un estándar cada vez más aceptado para la representación de datos y el intercambio de datos a través de la Web. El capítulo explica a continuación una serie de tecnologías relacionadascon XML, como los espacios de nombres, XSL, XPath, XPointer, XLink, SOAP, WSDL y UDDI. Tambiénexamina cómo puede utilizarse XML Schema para definir el modelo de contenido de un documento XML yel modo en que RDF (Resource Description Framework) proporciona un marco de trabajo para el intercambio de metadatos. En el capítulo se examinan los lenguajes de consulta para XML, centrándose en particularen XQuery, propuesto por W3C. También se examinan las extensiones añadidas a SQL:2003 para permitir lapublicación de datos XML y, con carácter más general, la integración de XML con las bases de datos con elfin de almacenar en éstas información XML.
Parte 9 Inteligencia empresarialLa parte final del libro trata el tema de los almacenes de datos, el procesamiento analítico en línea (OLAP) yla minería de datos.
El Capítulo 31 presenta los almacenes de datos, lo que son, cómo han evolucionado y cuáles son los potenciales beneficios y problemas asociados con este tipo de sistemas. En el capítulo se examinan la arquitectura,los componentes principales y las herramientas y tecnologías asociadas con un almacén de datos. El capítuloexplica también los mercados.,.de datos y los problemas relativos al desarrollo y gestión de este tipo de sistemas. Se concluye el capítulo describiendo las funcionalidades de almacén de datos proporcionadas por elSGBD de Oracle.
El Capítulo 32 proporciona una técnica para el diseño de la base de datos de un almacén/mercado de datosdiseñado para soportar los procesos de toma de decisiones. El capítulo describe los conceptos básicos asociados con el modelado de dimensionalidad y compara esta técnica con el modelado entidad-relación (ER) tradicional. También describe e ilustra una metodología paso a paso para el diseño de almacenes de datos, utilizando ejemplos resueltos tomados de la versión ampliada del caso de estudio de DreamHome. El capítuloconcluye describiendo cómo diseñar un almacén de datos utilizando Oracle Warehouse Builder.
El Capítulo 33 describe el tema del procesamiento analítico en línea (OLAP, Online Analytical Processing).Explica lo que es OLAP y las principales características de las aplicaciones OLAP. En el capítulos se analizacómo pueden representarse datos multidimensionales y las principales categorías de herramientas OLAP.También se explican las extensiones OLAP al estándar SQL y el modo en que Oracle soporta las tecnologíasOLAP.
El Capítulo 34 describe el tema de la minería de datos. Se explica lo qué es la minería de datos y las principales características de las aplicaciones de minería de datos. El capítulo describe las características fundamentales de las operaciones de minería de datos y las técnicas asociadas. También se describe el proceso de minería de datos y las principales características de las herramientas de minería de datos, y en especial el soporteque Oracle presta a este tipo de tecnologías.
ApéndicesEl Apéndice A proporciona una descripción de DreamHome, un caso de estudio que se utiliza ampliamenteen todo el libro.
XLII Sistemas de bases de datos
Parte 1
Parte 3
1 Introducción a lasbases de datos
2 El entorno de lasbases de datos
9 Planificación, diseñoy administración debases de datos
12 ModeladoEntidad-Relaciónavanzado
10 Técnicas dedeterminaciónde hechos
Parte 4
18 Metodologia:monitorización yoptimización delsistema final
17 Metodología: diseñofisico de bases dedatos relaciona les
16 Metodologia: díseñológico de bases dedatos para el modelorelacional
14 Normalizaciónavanzada
15 Metodología: diseñoconceptual de labase de datos
21 Procesamientode consultas
26 Bases de datos
orientadas a objetos:conceptos
32 Diseño de almacenesde datos
23 Bases de datos
distribuidas: conceptosavanzados
30 Datos semiestructurados
yXMl
24 Replicación y basesde datos móviles
20 Gestión detransacciones
27 Bases de datos
orientadas a objetos:estándares 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. Organización lógica del libro y formas recomendadas de lectura/impartición.
Prefacio XLIII
El Apéndice B proporciona tres casos de estudio adicionales, que pueden utilizarse como proyectos de losestudiantes.
El Apéndice e proporciona infonnación de referencia sobre organización de archivos y estructuras de almacenamiento, información que es necesaria para comprender la metodología de diseño fisico de bases de datospresentada en el Capítulo 17 y el tema del procesamiento de consultas del Capítulo 21.
El Apéndice D describe las 12 reglas de Codd para un SGBD relacional, las cuales forman una comparativacon la que pueden identificarse los productos SGBD relaciona les 'reales'.
El Apéndice E examina la cuestión del SQL embebido y el SQL dinámico, con programas de ejemplo en lenguaje C. El capítulo también examina el estándar ODBC (Open Database Connectivity), que se ha consolidado como un estándar de Jacto del sector para el acceso a bases de datos SQL heterogéneas.
El Apéndice F describe dos notaciones alternativas de modelado de datos que pueden emplearse en lugar deUML, que son la notación de Chen y la notación en pie de cuervo.
El Apéndice G resume los pasos de la metodología presentada en los Capítulos 15-18 para el diseño conceptual, lógico y fisico de la base de datos.
El Apéndice H (véase el sitio web de acompañamiento) explica cómo estimar los requisitos de espacio dedisco para una base de datos OracIe.
El Apéndice 1 (véase el sitio web de acompañamiento) proporciona algunas script web para complementar elCapítulo 29, dedicado a la integración de los SGBD y la Web.
En la Figura P.1 se ilustra la organización lógica del libro y las formas de lectura e impartición recomendadas.
Correcciones y sugerenciasYa que un libro de texto de este tamaño es tan vulnerable a los errores, desacuerdos, omisiones y confusiones, solicitamos al lector su opinión para futuras reimpresiones y ediciones. Los comentarios, las correcciones y las sugerencias constructivas deben enviarse a Pearson Education o por correo electrónico a:
thomas.connoUy@paisl~.ac.uk
XLIV Sistemas de bases de datos
AgradecimientosEste libro es el resultado de muchos años de trabajo por parte de los autores en empresas, en la investigacióny en el mundo académico. Resulta por tanto dificil enumerar a todas las personas que nos han ayudado directa o indirectamente en nuestros esfuerzos. Talo cual idea puede haber parecido insignificante en el momentoen que la oímos por primera vez y, sin embargo, habrá tenido un efecto de gran importancia posteriormente.Pedimos de nuevo disculpas a todos aquellos a los que no mencionamos aquí. Sin embargo, nuestra gratitudy nuestras disculpas van dirigidas en primer lugar a nuestras familias, que a lo largo de los años han sido relegadas e incluso ignoradas durante las épocas de mayor trabajo.
A continuación, para la primera edición, queremos dar las gracias a nuestros editores Dr Simon Plumtreey Nicky Jaeger, por su ayuda, apoyo y profesionalidad durante la redacción del libro; y a nuestro editor deproducción del libro Martin Tytler y al editor de copia Lionel Browne. También queremos dar las gracias alos revisores de la primera edición, que contribuyeron con sus comentarios, sugerencias y consejos. En particular, queremos mencionar a: William H. Gwinn, Instructor, Texas Tech University; Adrian Lamer, DeMontfort University, Leicester; Profesor Andrew McGettrick, University of Strathclyde; Dennis McLeod,Profesor de Informática, University of Southern California; Josephine DeGuzman Mendoza, Profesor asociado, California State University; JeffNaughton, Profesor A. B. Schwarzkopf, University ofOklahoma; JunpingSun, Profesor ayudante, Nova Southeastern University; Donovan Young, Profesor asociado, Georgia Tech; DrBarry Eaglestone, Catedrático en Informática, University of Bradford; John Wade, IBM. También queremosdar las gracias a Anne Strachan por su contribución a la primera edición.
Para la segunda edición, queremos dar primero las gracias a Sally Mortimore, nuestro editor, y a MartinKlopstock y Dylan Reisenberger del equipo de producción. También queremos agradecer a los revisores de lasegunda edición, que contribuyeron con sus comentarios, sugerencias y consejos. En particular, queremosmencionar a: Stephano Ceri, Politecnico di Milano; Lars Gillberg, Mid Sweden University, Oestersund; DawnJutIa, St Mary's University, Halifax, Canadá; Julie McCann, City University, Londres; Munindar Singh, NorthCarolina State University; Hugh Darwen, Hursely, Reino Unido; Claude Delobel, París, Francia; DennisMurray, Reading, Reino Unido; y de nuestro propio departamento a John Kawala y al Dr Peter Knaggs.
Para la tercera y cuarta ediciones, queremos dar primero las gracias a Kate Brewin, nuestro editor, a StuartHay, Kay Holman y Mary Lince del equipo de producción y a los editores de copia Robert Chaundy y RuthFreestone King. También queremos agradecer a los revisores de la segunda edición, que contribuyeron consus comentarios, sugerencias y consejos. En particular, queremos mencionar a: Richard Cooper, University ofGlasgow, Reino Unido; Emma Eliason, University of Orebro, Suecia; Sari Hakkarainen, StockholmUniversity y the Royal Institute of Technology; Nenad Jukic, Loyola University Chicago, EE.UU; JanParedaens, University of Antwerp, Bélgica; Stephen Priest, Daniel Webster College, EE.UU. Hay muchosotros que siguen siendo para nosotros anónimos y a los que queremos dar las gracias por el tiempo que haninvertido en la lectura del manuscrito ..
También queremos dar las gracias a MaIcolm Bronte-Stewart por el concepto de DreamHome, a MoiraO'Donnell por garantizar la precisión de del caso de estudio Wellmeadows Hospital, a Alistair McMonnies,Richard Beeby y Pauline Robertson por su ayuda con el material para el sitio web y un agradecimiento especial a la secretaria de Thomas, Lyndonne MacLeod y a la secretaria de Carolyn, June Blackburn, por su ayuday soporte a lo largo de los años.
Thomas M. ConnollyCarolyn E. Begg
Glasgow, Marzo de 2004
Prefacio XLV
Agradecimientos del editorQueremos dar las gracias a las siguientes organizaciones por su permiso para reproducir material incluido enel libro:
The McGraw-Hill Companies, Inc., New York por la Figura 19.11, reproducida de BYTE Magazine, Junio1997. Reproducida con permiso. © by The McGraw-Hill Companies, Inc., New York, NY USA. Todos losderechos reservados; las Figuras 27.4 y 27.5 son diagramas de «Common Warehouse Metamodel (CWM)Specification», Marzo 2003, Versión 1.1, Volumen 1, formaI/03-03-02. Reimpreso con permiso. ObjectManagement, Inc. © OMG 2003; capturas de pantalla reimpresas con permiso de Microsoft Corporation.
En algunos casos no hemos podido determinar los propietarios de determinado material, y agradeceríamoscualquier información que nos permita hacerlo.
XLVI Características del libro
Capítulo
Cap;I\.I.' Inll'Oduc<:ió".I •••• bas •• d.dalos 7
1.2.1 Latécnica basada en archivos
Introducción a las bases
de datos
Objetivos del capitulo:
EnCSlccapilulo.prcndcnj
• AlgUllO:'lll_c"'llluncsdelos~iSlcmasdebascsded'IO!l
• LasearaocleñSlJcas de los SiSlCIlW basados en an:llOvoa.
• Losproblemaw:>ciadoialalknocab:>oatb.enan:hi>'O
• El Slg,urlCadodclltmullO'bucdelbl05'
• F.Jsop1lflCadodd ltrnuno 'siSlemadc pio6ndebasc$dc-"·(SGBD)
• tu funcioncltipocu de un SGBO
• Los componcnlCl po-incipalca del enlOrTlOSGBO
• El personal ,mphcado en cl cntOflWlSGllD
• Lani,toriadcldesar",llodclosSGllD
• La-•• 'enlajasydesvenlajasdelosSGBD
L.ahJSlOI;adelalnv~":lCióocnli>lcm:os"'bases"'<blosesdeunauccpcion:llpnduc"'od:odyhalCmdo un .mpxto económICO e>;("".,ru,!UOO. Con apmas 20 anos de ;IJIlICilabd como carJ1f!Ode: InVC>llp'
clÓnCl(nlíflCll.. III onvuupr:ióocnbuc:sdc:daoos hapcnnlt.oocl ~,mlt"'o'" LInll,nd\lWLlde Ios_·"1C_dc •••rOOtlllCOÓIIQIOCsólooCnIosEsudoosUnodosrllCt"'llIIO$IOOOOmlllQnQde~poo-oi'io_
Losdlvtl'SCJ$loposcnbin,'~ia:a<:o6n",blJvaa1asbasc::ldto:bloo.lurlpnmllodo.-eaI".aravanct:Sfunda.mcnlaIescnJos ••""ma<decomurucaclOllCS. ~'J Iocistica. gestIÓn financien. siSICIlW dege¡;¡ióndc:lconocimicnIO,aIX:'Oib1hdada13lotCf1ltur.lt«n..:a .,,,oamiriadadeouas.apheaclOflel;l2onlociviles
como milnares. Tamhl~n han "" •.••·'00 comO ~ "','" pc:nn,,,, un I""Ilresc>conSidc",ble en dl~CfWS cam·p<lSbá<k<:tS dc la CK:J\Cia,dcsdc la onfo,m'¡uca. lab,olosla
(Silbcrschatl""I., I')')(}. 1996)
1Os1acnae,látom,>dadeu<l'cQnfc",nclasohre<iSlcmasdebascsdedaloscelebradaapnoclpiosde lad6.:ao.Iade 1990 Y qllC lU"O su conli""""ióo en Olraeo"fcrcoc,a poSlcrioren 1996. Y nossi",e como rnoli·
vaciÓf! pIUJIel estudio del ",ma de es.e hbro; •••• sístcllll.$dt b;osesdcdal.-.s. DcsoIcl.celct><llci6ndeCSlalronf=ncw.la,mponancllldelossistemasdcbasesdeduosschamerementadouxbvia"w.rons'gniflCa·
"VOl dcsam:JIlosen lo que ~a laapcidad dcll'l;wdware. a la funcoon.alodad doble y a las comuno·caclOlll:S.""oCluyo:ndolaaparioco6ndclntcrnCt..delCOl'llCfl:ooelccuónoro.dclof~~dc'lllChge.:1ll
rnlprc:s.allal. de las<;Olt1l.lNCaCioncs 1nÓ\,1cs ydela infonnillCa 1ffiCU1.-. LollolSlemude ~deda1os ••.••.•,JIOSlblemcnle.elO:..arrollomisimpon.nlCcnclcampodela"'gellleri.delsof •••.~yW:!w($dcd'nosf..-·manahonlel marco de lrabajOfundamemal de los SlSlemasdc formación. llablCDdo cambtado de fonnasig·
Objetivos del capítulo claramente resaltados.
FIgura 2.11. ArqlUledu,adeaerw:lo<dearcniVos
rcd.k'quca"' •.••zpucdcJlffi""'X";lfprobk:mlllode......wnucnw.Por:cFmpIo.confidcreelca •.••dcunusuano
quesnloc •••:lo6nomllrt$de1OdosIosempkildoJsquclral»FncnlaoflCl~""""""" 163MaUlSl.1'oo.ierIlO1npKQf C$IlI ..:>Iicllud en SQL. 1''¡aR el CapilulQ 5} ok la fcnna so: •••••••c
SF.LECTINamo •.•_
}'KO\IBrarct1bSlolls
\\lll;REbllr-.t!o .lIrrd-HoA;\l)b'_··'6)M ••nSl
P\lcStO q"" el •• ¡"V,dor do arc~" ••• no lte,IC n",soín ,"OO<>;,mielllllde SQL. el SGBO l,ellC q,," solkilotr al
""rv,dordc archIVO< 1,,, :,rcblv", c"rrc'I",,,dlelll~<. la, ,d:"'I""cs Br.""" y Sla~."" lugar ,le .oheitaf ,imrle.">cntcl<.>:>nombrc.<dcl'''f·mple:klo:<'l'''''UHSfacclllo>nlu·" ••• dclacoo,>ulla.
La anlllilCc!UCd del scrv,""'dc atrh"·,,,, llCllC. 1"""lanr.1. 're. tlcsvelOlajasJ'rincip;11cs:
11) lby una gr.1Ocanlldad de u:lflCO de rctI.
¡21Sc n:qu~ una ropia complera del SGBO en cadaC<lación de uabap
131E1cnnuo1de~X1nCUfrl:nc •.•. der«"JlC<>"oCn)deUlOC'p1<bJ ••..•• _c""'plejOlo.)";l",,"pucdchabcr
onolh,plcs SOBO aoc<XIícndo a Iof, ""Snlf>'>""""'veo..
2.6.3 Arquitectura cliente-servidor tradicional en dos nivelesPara rey:,l"crla, <k:»'enla!"' de la. do~ I••.•",era' "rqu,!",'""" y adarlarile a k><cnm"",. emrrc<""alcoc. cre·cicnlf'mcme ccmrali,,,d,*. "" &""1'",116 1"al'q"ncclUra clicnlc·",,,'ioo,. El t6ml"" c1icmc-""v,d", hace refe·
re"cia a la forma erl 1" quc imeradoían 1<.>:>compOnCnlC' ",f1ware para ("'",ar el sistema. C(llllO el j)(Hnhrc
sllllic..,.h.yunpr<K·c,,'c1icntcquenccc,ilualgoín'"'ur ••••) un""nidorq'lCproporeionaclnx·llOl;().NoCloblipooio '1"" el c1",,"c)'c1 "",·idorre<.idallc"11 la ",¡.ma nláll"'na;en la pr:lc'ic3.'csul 'alxl>lanlcron,un.•nuucl\C •••odorL"11unadel('nll"'adllubocacióndcn'",tIcunaredolcá-c~localylo<clil:n",.cnla.ubic •••••..•.
neslC'r.>n<C>. La hgwa 2.12 iluwalalf'llU"CC1\1r.i1docnfC·.er.odúryla h¡Ur:lL13 n••.••••"'a1gu""'poI-Jbln<'Of1\btnacioncsdcbI<.lp.lloj!Cachc ••••,..,"odúr.
l..•••llpl~ ~cmprnarlabc""n:qu'''IOSUII. •.••••'·•.•.•dcdalosC>Un.-........sa.JlOI"cual1O~'OfDJ'OIICOIC<
p'''''iJ'Olb;lahascdedat •.•••lalóglcadelnlnsan:ionc •. blóJlCldcnego.: •••• y<JclaapllCac-lÓndc¡c>ltOndedalo.yla ,mcñ;a<Jcu.<uaoo<.Laan:¡U'lOClUrllUxl.'.IOI •• ldlCD"'-scrvKlo:.renlbsll""'lcsprop:l<CionaUl\ll
""p;>r:l<o6n muy I>!i~'cade CSfO>eo.np"nen'co. El dicnlc (nrvcl Il ~ pnnc'{IlIh\"oClltCre.<pon•• bIc de Iap~~u¡";I~,dcto.dato>.I"","llO.micnlra,qucclscr •.ió: •. (n,vcl ~lesJ'ri'lCil,"ln'cnICreSIX"'sablcde ••mÚni"ra'
Se utilizan diagramas por todo el libro paraclarificar y ampliar los conceptos.
S¡alMna Una eole<n6n de programas de aplicag6n que realiu d••••••••• seIVIcioa para los u• .,.·bando •••• rlOlfinales.comcpar.",mplolllproducdóndeinfe><mea.CadaPf09"'mallefineyg.es.archivo. llooaluapropioSdalOS
Los S,SIC"'"'Sb;¡•• <Ios en a•• hivoo f•••ron uno 00 Iosprillleros 'n'emos pa •..•inf""",,li= los si>lcm ",dearehi·
vo "",nu,1l con los que to.xlos nosolros esl:uno< familianzOOos. Por: ejemplo. pu«k c~ un areh,vo m:mualcnun;lQq:anÍ7.aciónpQr.lalbcrga.-lodala~nc'aclucrnacintc:rna~lilIivaaunproyttlo.aunpro.
dueto. a u ••• larc.a. a un el......, o a "" cmplc3do. Nonn;dlll('nu:. uislm mucho!. de dicbos an:tli,-os. los cv.a.1csC$¡nc •••• ctlqUCIaryalmaccnar ••• ...."ollÚr:<ca .•••OQUnlCncdorc:sporC\le$l>O<'lCSde..,pndad L.oo;lup·
res donde se a1_~"""'arcbi_¡u:dmdi~dc lbv<:.l3mboEn plWcur:ol_de qurid:ad.opuo<bI.,.¡orubicado>.cnirassegw2SddediflCio_EIInUO:fuapropaCa$3,probab!C'rnCnlcd,spongamosdcalg~nupodefisle1nlldean:hivoenelquedeposilarooslolnxibos.lasfxtufb.lalOfofmaciónbanc3l'i .•• 1os
••.••••ralosdcseguru&.t'lc.SiJ'ott(:Sj'al11Ofronsul.aralgo.vamosanUCSIroan:h,>'Ol'Cf"IKL"lybuscamosentl.
de pnnc'pio a fin. 1l:lSlae.\COIllrar la mfoonacióodeseada,Ahcmalivamc:me. rUO<leq""di<po ngamosdeunsiSlcmade indc.aciÓll quc "o<ayudcalocali,arm",rápida"'cnIC lo quc qucrcmos.Porejcmrlo.puedequetengamos subdivlsiones en el siSle",. ,le ",chivo o earpe"'s S"para.das r, ••a los diferenle, elcmCrllOli.quc est~n
rtlilCicnadaJ de alg'IIl(l manua lógIca en,re sI.UJss'Slemasdcareh,voman ••••lfunclO ••anbienc ••'mdoelnoímerodeeloemc:nlOSalmacenadosespequeilo.
Tambltn puede fllnclOnar de forma adccu:>da cuaodo hay un 11"" nolmcm dc elementos y lo únICO que JJO>Ce
siW'l1Of,esallD3lCCnarlo5oClllI3lCrIos.Sincmbarxo.Jossi$lL-masmanuaJesdearrlu>'OdejandeliCr~nlrsc-'·dotenc:mosqueestablcccrrcfef'Cllciaor;~opn:a:sarlamfonnaci(lnCOOll"""''''lo6documcnoos.Por:eJCOllplo.UDlIagenciainmoblharialIpicapodñadisp;lnerde ••• arduvo..".,.sopancadaiNnucblcquedcscc
vcnOe.-o •••• iw. pan cada po••:ucial comJ'W1lCb o i'"l"ihno y pu;Il cada mocmbro de su penonaI. P1CD5Cen
eleoormeesfPCIIDq""f>Crequcnñapal1lrcspondcrala~"guimtcscuo:s.1OnC$
• •.Qut vi~iccndas de 1= domutoriO$ hay disponibles para la \'Cnt.:Ique .engan jan:lin y ga"'Je1
• ¡".Qué araJ1amcmQ¡; e.iSle~ para alquilar. mel101 de 5 km del ccmro de la eiuda.d?
• ¿eu"1 es el precio medjo de alquiler Ix"a un pi<;ode dos dOJ1niH)rios'!
• ~Cuálcscl imporle 10la1dc l. TlÓnuna anual de 1lld¡)c1 persona!"!
.~Cuá.lcslacompanciÓf!enlrrkl$,~deloíh"nomrsyI0$'ngresosprcvUlOlSp:lf1\CSIe1
• ~~ ••.••.•b,~"""""",lesprc,-isI"'par.lclpról:'rooa/lo1
lloyo:n<b.Josdienles.los~dclas~yelpcnorialdelaslN<masqulCfl:ncada.'Q_'nfonnaci(ln.EIIa1g_lrc.as;.aiSlclaoblipci6aleplde~inf"""",,mensuales.ln_~y •••ua.
les deIaIladoi. Oar.lIncllle. b ii~.emu lTWIualcl no resulwl aodccuados para CSIC tipo de tarea. Los siSlnnalbasadosenarchivosf""mndesarrollado!;pal1l<br~aalallCCCSidadquelaseml'fCYSleni",,dcacce-
dcrdcf •.•••na~seflC'".Mc.lostlalos.S'nc"'bargo.enlu¡8ldcCSl.1bJccerun"'''cmaccnlI1lli'.adodegc.<li6nde los dal<lS operocionalcs de la~Ofg:ol1lzaci",,"s. 10 que se llil.O fue .dO¡llarUnenfoqucdc5ccm,...lizado.end
'lUC cada deparlamento. con la ayuda de pcr<Onal c~pce'ah~ado en proccs¡"nienlO de dato.~. almacenaba y,'onlrolabasu< prop,osdalos. Para complCnderl"" imptjcacioncsde esto. """lOS a ullli~arcl cjcmplodcO,.,(I",J1ome
El departamcntode venlaS(Sak-s)cs mponsable de la ,.••••.• y alq ••,lcr de bínmuebles. Por:cjemplo.
cao.bt , .• ¿que unchcmeCOlllactaroncldcpanamcmodc '"CDI2Scoob,nu:ncióndc vender ° alqu,lar un,nmueble.se rello:naun formu!ariof.lm,laral que se muesll'a en la Figura l.l(a). EsIoJl'09Of\'lOIladive~
dcuJlcsll<lbfc-cl,nmucblc.comnladiro:o:lÓlldelnolmctOdehobolaCiona.JIlIlfOCOO IamfUlllUCIÓn~accn:adelpmpóetario.Eldcpanamcnlodc~CIIlas~gcs.llon""consuhasdeloscloenlC$U'oICrCSIIdoscn
coolf'lW o alquil •.•. un ,nmueble. rellclW>dosc pan cada unoan formulaoo ••m,laral quefCmllCSUllcn
la Filura l.l(b). Con la I.S1Slcncia del dep:lIumemo de proccsosdedalos. el dcpaJ1amcn'ode vcnLncn:<>un $i$lcma de información paragcsloonar cl alquiler dc 101 inmuebles. El S,SlcmaCSl"oomp"CSlOporlll:l
Cada concepto importante está claramente definido y se ha resaltado con un tipo de letra diferente.
Capitulo 10 Tknieaa d. det ••••• i••ació" de h6choa 293
H•.y dos tip<><do JW'I'gunllSqu<'pucd. ..••h •.• r<tcnuncuesuonario:prc&un •••. deronna'oht.-c) dcfur'
nuuofijo.l •••• cul"Slion •.• dcformatotib"'tlan.l.pcrsoouq ••• cslllrellc""n"joelcuo::Sl,n""""una""') .•••.Iibcrl;od.lahoradees<;nblllare'J'UI'<la,Scha.ceuropI'CgU<llaylaperwOlauld,ea'uO:>llOCsl.ende.po·
cioproporcionndoacontmuneión.Comoejempl"",lceI1es!,oncsdeformn,olihrepodrbnlo<p.-mer: ' •.quéinf"mIC' recibe aclualmenle 'j ,'óm<1 <e u,jli' .• n?· y ·'.H.y .111,íllproblema C\lJ; e"os i"formcs? En caso .fir·
maH'·O. expt~luc'" rcS{>UC$la·. l..,s prohlcma' L"O/1la. c""-"ion ••••de fOl"m~l" libre son q~ 1", resp"csl"-'.x..cn,daspocdcn onuI13rdificilcsdeI300131'y.enalgunoscailOS.puc.dcn no correspondel)C Mdccu:Id,unen·
leeoolllcucs.tiónqueiCpo-eguma.l.a.<eubliooesdcf"'""3IofijorcqulCrcnrcspl>C:'la..e'pcc(f"",,,dcl"'~lfIICrcllctwlel~ ••.••
nario.lb.buaacu.:slilln.lapenonldebcc~ircnln:II.SIl:¡;pocsw;di>f'Oll,blcs.loquchattquebfC.Slll
tados\CalllDllCbonlÚUe.lrsdetalJul •. I'OI"OlroIado.>.IaJlCf'<OfUllC,,,,,mpofibihUldll]»faJl"Of'O'Cionarinf\lr'lllXiónadinoowollfllCpudicn."' .•••lw'";lhosa.U~eJC1Hrlodecuc:s ••6udcf"""atofiJOSoC11a;·E1forma
lO ••••ualdcl,orormclioObi"ealqtn~dclOmU<:bkse.>dcaly""debccamt>tarsc·.Lapc11iOllaqucrenc""e1<:ui:>l1On.:u1Opuc.dc lCIlC1la O(lCión de m.pondI:r 'S,' o 'No' aesta cuc.uón. o puede dá~1c I~ O(lCi6n de ck-·
gorcmrc:un3<c';cdcrcs¡lIICSlU>..L'QIOOporc;:mplo·Muyde'lCuerdo·. ·OcllCucrdo·. 'No lcng<1"l'lOión·.'Endes3~ue,,;!,)')"Mu'jcn,b,"c"ado'
10.4 Ejemplo de utilización de técnicasde determinación de hechos
EII CSla sección. van.x. ~tar Jlf11l"oCrouna paMIrimica del caso de CloluJoo de DU"",1IOfW y lucg<)1I111,,:an:..o.dichoc~ parallllSlnreómo ••••ablecct un ~"CC\ode base dcdalos.. En "..uclllar. ilu\ln·"'~cl ••IOdoC1lquep...:dcncmplcan.c:laslécnK:z¡dedctcnninaci6adehcchol;y'UCITIl)'I:ladocumen·
.ación'f'IC5CgcneracnlaspnInCJ'lll'C1apasdelriclodedcsarrollodcl ••sle" •• debascdedalOS .••. dcc".
e"ltielapasdcpla",n,':ocióodcbtoa""dedalos.dedcfin,c;óndcls •• 'cma)dcr\:COp,11lC.6nyanáh.isdcrequilllOS
10.4.1 Elcaso de estudio de DresmHome: panorámicaLa pnnICra s""""""l •.•• DUdmUome fue abic1ta en 1992 en Gla.<go>o·.Cn cl Re ••.•" Unido. Desde (:01'00<..••.. la
cmpruah •. crecidodcf","n'ronllOuayah.-n'icned,vt'lSllS"",,'"salesenlanlll)"OI"Íadewp".::ipale>.ci ••.dado:sdelhinoUnido.S.n~laemp<e!ólt:Saboolllan&randcquecada"':CI""rcqu,"fCm:\;s~
adm""SU:IlÚ-... pan ~ la cantidad cada •.• z ••.••)Vf de papdes e IDfurmC>. Ademh, la oom'blOCaco6n yeornp.vuci6nde i"f....-mación cnlre_W'SaIcs.. incl••••.•de••uo de Iamismae"Idad.t:SbastllnIedcfrientc La
rnJ'tC\Of:ldclacmpC$;l.Sall) MeU ••.cadovolo.crcequc>Cesl ••• <OI"""cndodcn •••• ..x...nrorC<yl.¡uCclh'lOtlclaC'~JlfCSllpuc:dcfC'mU)efimerosinofChacr:a1~par.lrcmnl""las'.UlCión.Sabcqucuna~dedat""
podna.)"Udarenpar1earcsolvr:rcl problema poclocu.IIL;¡¡,(IlieilaoJo'l,,"scdc<aorollc un "Slem~de ba""de dal'" {I"ra ."",,'rlar ,.1 OJICroc;oncs de Dr~{¡mll"m~ .•••• dIICC'or.\. ha propor.:iom"k. 'a >lgu,e ••" b";~e <Ie<.erip..-.ón ,le la {orm, ea ~"c Dredrllf/o/tlr auual",eme O¡lCnI
n",,,,,,Ht>mc "'Iá c.<llC,ÚJá.ada en l~ ~e.lión de i••mueble<. aClUal\l1ode imcrme<ljariO "n,r~ 1<><propicia·rio.' que 'luiefen .lqUfla, .us Úmluehlc. Y' amueblad ••••y los cliente< de Or,'(lmH/)",~ que """,,i,a •• alquilarcfO> inmuch"'" dur.,"le un pe.iodo f,JoOde '",mpo. Drr"",/J"",~ cucnla llC.""hncme con uoo.< 2000 emplea·
dos que lr.lbajan CIIcien wcun.ales. ~un nuevo rnlpl<.'lldo se incorpOr.ia lacml""$l-.lIC unl" .• el fOl"mubrio <Jc rcgiSlro de emrleado de 1)~H_ .• :.11la FlIura 10.1 <c muesrn. dICho forrnulano J"'fIlaemp&.o...laSu.aoBrand
Cada \llC\Ir'OallK'JlC IlSlpados una serio: ole cmpIe~ de Iof up;r. adoxuadoo;. 'n.:Iu)'Ctldo un ~e.SUJICl"«'Jn:Sya)-..dantCI.l:l,....meIM:lII\a,.,.-lesrcsponsabledrlaop:rxióndlMiadelalollCUrsalyca<b.SlIpcr.'_ C>o l<O>poflsahle de cono.ro/..-. un grupo de cmplc::>da¡qllC' 'ICOICla cafcgor;~ dc ayudalllC"(A>S'lilanli). En la J'-igura 10.2 <e mUC>lr. un ejc"'pIo de la J'rimcca página de un inforrnrdrmrlcsc iooocan
100<k1alle<dclpc"",",alquclr.lbajaenuna<ucurs<llub,eaJacnGla'gow.
Una orientación muy práctica. Cada capítulocontiene muchos ejemplos resueltos para ilustrar los distintos conceptos cubiertos.
Características del libro XLVII
ClIpitulo1 Int,od ••CCiÚnllIUb"sesdedlltos 29 C.pltulo21 PrOC:.llImie ••todeco ••• ul1.s 621
••• n¡ndice •••:••ndario~el,,";bulOtype""Room.
Ejercicios
211j I)Q,cnlla cómo funOona el a1gonuno de rrovarnaci6n dl'wl1lc~ del optimLZador de consu!"'" de
S) ••.•onR
211ó.CaleuIc.ICOGI"lkwll'C.CSltll ••'!-;a,;euadasendEJC1Ilplo21.1.,1.l'Cla.ción_l ••.••••lOOOOmpllli.
., _ uene.soo '''¡>las, <.ihay.soo emplc:tdo:s con caI.~O'U de M.nager (<In<>Px cada suc""",l) ys, hay 10sucuual.scnL;;lnd", •.
21.17. U¡il;,;>,>tIu el ""'lncmn II00el <1:><10al pri,>r;ipi"d.c lo.• cjcrcki""del Cnphul0 3, dclcmlL,1<;~ilas "i¡¡uie,,·leS eo",,,llas ",n "'nl~rIl;ca"'entc eorrec1a.
(a) SEI,ECTrlype.rpn.:.
rRO.'l/l00m'._~
WIIERE ' ~h.h"IIU .••nb••. ,\NI)~. __ "" ••••• 'Cn)I\wnorHOlel' ,\NI)rtype:> 100;
(bISF:U;Crll~lI_FRO~t_l<.~b._1I
WIIEREI<._.t>._,v"n...--. 'Grw~1t0lC1',
(el SEUCT'-'h_
t-RO~I_l<.lkIcIlJrIOb.Room,
\\II~:RE ~. b'-"¡" ANU ~hcMlNo' 'H21' ,,¡\U b._' ,__ ANO type."S'"Nllo_HG.·IU2·;
21.18 Ulili, .•mdo de n....,vo el c:;qucllla HOld. <IibujC un árbol <le lIgehra reloc;ornol parn e.1<it una <le la<,illuicnlcs,·ons.ullnl y 1l11lteelas regla, I>r;n,¡"icas dada, cn la &.:dÓn 2 1.3.2 p"'" '",nst'''"Mr 1,,, cons"llas en "n" rumm m~s etieiente. bl'liquc cada i"'w y enu"de la' regla. <le """,rorm,lCi6" u.",la.,
(tlc1pmceoo
(al SEU;cr,.~.,1)'pe.'~rRO~IRoom'.IooIun\IO._h
WIIERE •.I'OOff\No'b_ANUb_.~_ANl>
h __ ' 'Grosvenorl\OOeI'ANU,._:> 100.
(b) SELECTII~.g _
rHOMRaatn'._I<.ll<><D'l!o.Go..lg
\l"IIEREh_O· ••._Al\UII~·b_INoANOn_"a' __ .'M)n.-· ·G"".'CDOr HOlel' ANI)_,om_ '1-) ••••..(1.1'ANI)tla1eTo<a·31_[)ec-,O.\";
21.19 Ulili ••.•'loo el ""'I""n,,, HOlel. ,u[Xlflga q,," e~'>lcn Iol; sjg:";c"I~~ ¡,Id;oes
• un fr>dice !'Q.,h sir; dcohvrdnmicP\{(] whre los.uibUlo.deduve ptinc'p;ll, roomNoIhotelNc en Room:
• "" frldicc <leclll'lCrillll ""bre el atribul{>decl"vc c~lerna hOlO1NCen Room'
• \In;ndi.-eR·-uee~celalribul"""",enR""",;
bF3ICliJf(Room)
bFacK>«HoleI)
bf"acIOf(BookinC)
10_000
'"100000
'"'""'"
nTuplcs(Roornl
nTupIcs(lkllcl)
oTupIcs(BooI;.q)
nOi.sl""'-lR~1
"Oi.sli~Hoorn)
••Otsli~Room,
Cuestiones de repaso
• ElSG80~lII1IC4~cnntrol.1do.lah2scde(btoll..l'rop.lox_rntt:>nismoo¡"'squridad.
"'le¡pidad.oooooIdc:CllI'Il:UlTl:n(qyC\lQlRJldcn.:upmlCiún."'¡.--un~IC<:<:SIblcpord_no·'farnb;60prOpOrClOO;l •••• ~dc:ylSU>p>n.<.it1lrlifl(Vb •••••• ronloo;qucclllSUMiolicnc•..-
• fJ enl\llTlOSG8DC>.Ui~lodeh."hn •.•; (IaCOf11Jlllladon). Iktofl •••.•••.(el SGlm.cl-llSlMnJ.O(l<"'nui,""ylM';Slenw.dc."helCión).ded31_dl:f'l"<X>'dimicolOS)'depcnonas.Lu~<,quelereb-
~~::'I:'~~I~~:a~=~~:': ~:;~ de <IIlO$.'O$ di>eaadons de ba= de
• Ul~ rake$ d<;1", SGBD "ll.in erl 10'<'¡'lema, llasadi>< en archivo>. L<» s.i<le,nasjcrárqu~ y COI)ASYL
rcr",~enlnn la ptimera ~c'w':;¡ciórl de ,ble,,,o, <le geSlión de h""" de <1m",. El model(l j"r:ír<lule(l e"á
"'I>re,;cnl,ld" poorIMS \luform"l;oo Mon"~emenl SY"lem). mjentrn, (I~ el modelo ell red {>COUASYLeSl~ ~;':m[>lif",ad" por lDS (lnlcgr¡uc Dau St<>re). ambo::.<dcsarrolln..Jo¡¡, ,••."'iadosde 1, &!caJa'" 1960
Iil mooclo",l"donll. ~porli.~· COOden 1970. rcprc:senmlasegunl.logenern.lÓIldc$isll:masdeplÓlldc basesdcd:u01. f~ modelo luvo ul\ltl~ ;nn •••.."DCia"'*"'" l:I comunidad de I~SGIU) Y hoy
C1llha ui'1tn on1" de 100 501:10 rebciuoslcs. U 'eltttl. ft1'CI1OClÓIl<le,;sU:m2!' di: ce~tlÓll de boloscsded:tlc6 ••• .i reptCsenlada por "" SGBO objetn- •.••Iarional y los SGllO "ri.ntados. ohjetos.
• EnI",laovmujaodcla¡lalle.dcbasesde<blol;podclOO5citardroouoldelaralllndallcildeloodaios.
bCOlhcrenciadelos<blos, IaC1O'lm¡W1ici6ndcdMox) uoosmc,....,. mtcani •••••••••• "'11W1llId.,,~d:ld.. E••".., Wl$desvetUJUaobel'tloah.» la compleJidad •• 1 <'<lI5ili:.1araIuociúol de las [ln'SIaCio:lnci yd
""')'Ol"lrnp3<1OdcbllllM~.Isi$l= •.
1_2 bl'hqueead,ulloOOI"",siguicnlcswrmit><: ••.
(~) dato<
(b) baseded:uCl<!
le) 'lSl.madegc"liónlkl=csdcdaia<;
(d) prop3ffi3de3plltJl<:i6ndcbaseslkdalOlo
le) 'nJcpmdc •••••• dcbdalos
eO "'1l1lfi<bd
CI'lnl~
(bl ,,"¡a>;
1.3 Dc>cnNoelenroq""dctralamienlodelnsdal<>lladopla<loenIO:>~lU¡p""siSl:ema.,ha.~cllarchi-vo< Jl\d>qucl".<lrwell[aj~'deestcen{oquc
1.4 De""ri!>. la, p,-;ne,p~lcscar:\CJen'Micasdcl ~nrnqlle dc basedc dalo,; y MlllpárclMCOllla 1écnicu basada cu archivos.
1.1. p,<>por~"'''~euMroeJC'''plosdesi'ICm"sdcba$e<dcct-'losdl'"nln'dcloscnumcrnl!N;e,I],S<=iÓ.,"
l.j Oo:scrillalosci""v«llnpollcnle_.delcnMnoSCRDyc<llli'I\>ceÓmolO:relac;'-""'''ell!rc~r
lb bphquccll'X'l'<ldeead;¡u"adelas<,jgu,emespe""""'-'cJ\ ••nenlOO><ldc~dcdal<:>S:
I~) ~m,u¡Slr3doo-dclosd:u •••
(b¡ ad,.nnislt3dordeb.bawdedaoos
(e,OOtiIadorIói_dcb.basedeLblos
(dlOOcñadorfl$Ocodela'-edcdalco;
le) dcsarroll~dc.p~~(O u>U3I'>O<finald
Un conjunto de cuestiones de repaso, cuyasrespuestas pueden encontrarse en el texto.
Un conjunto de ejercicios que los profesorespueden utilizar para comprobar la comprensióndel capítulo por parte de los estudiantes,pudiendo encontrarse las respuestas en la Guíadel Profesor.
C.pítulo21 Proc ••• mi ••••tod.c:o ••••• l~a
Resumen del capítulo• lA$ot"..,'_dclprvcesa",ienlo~_I","!iOIllralll.romw-_rom.ul •• _rit:amuJ\lcngaajclka1to
,,¡."d • .......,QJ_SQl..munaC5tral(g •••de.J'OC'I'C16nCCllTl:CboyerlClCnIo(expresadaC1lWlknJuajcde
~=.-;:1. como. poreJCTllplo. clilgd>r:o ,dacoonal. y .jecu.", die ••.•• ro;U.gia """" e~lr.lC:f los d:Yll$llOl¡-
• P\oc$IOl/I'C hay mucha.. lrllnsform:lCioncs C<Jui.'~lem'" para una m"OlI~ rull>llha de .Iu') lIi,"<'I. el SGRD
llene (J"': elegir "'Iuell. que nlllllll""" el uso de n.'Cu<s<:••. &le es el Ohjclil'Q de la opli",17Mclón d,· ron·suh" •. Puesto QlICel I'roble"" e. ,nlr.uable llcSlle el ¡l<Jlllo rk v,sta <.'<lmpo.'l:ICiO<1alcuando h~y un ¡¡mil
n,ltll<·",<krelaciOllo,.la CSlralegjaadopl",las;;n:du""gc¡wr"bncnlca Uclcrmjn"'u,," soluci<ln oeread" ala <lpli",a
• Ilayd"'léenie"'pr;,lCil"'lcl; ••• opl'mi'''''ión, •••••.,on'"Illl<.''u'''lucl"'.,... ••• t8~g;" ••• "",lenco",I""",en b pr.iclic~. Lo p<imcrl¡ét ..nica ulllil~ rc¡1llS Mur"liclo, queordcllllll la."""nlCionc.d.: l~comulta. Lo.
otr'll ¡ten"", <."Omp;mllas dir=nte> cstm.flaS ba<Ando<c en •••~ C06ICSrelali,"" y ..,Iceaon~ oqucll~ quemlllunLl-"'cl",,-,de recuf'WI..
.'")pruce:um ••••••• lkcomullao.,...di,;..¡,neC1lel,laln)f:»c!.pnncl(llOb;~i6n(<XIn"Ifl"CSlade
aMI •••• !>lDlicticoy v••hd ••em¡.op.i ••••'.x>ón. ~ióadc códigoy.¡enonón. U;. pnmaas l=f:lr§(:S
pucdcnoal'l-"'""" ••• IICmp:>dccompiu<,lÓlIycn¡JemPOde.,.,....,iúoI.
• L.I de:<composieiúol de C'6I~¡"" tnmlonna u••• consulta dc al", nivel m •••••.C<lOSull.Ik ¡1,..1Ira rcl.·clOllal y ruln[JfUCl>;ll(llC dlC~ consulta ""'" "ndeuc. y SClWnue.mentc romx:ta. Los e1~<' líplCa' dc la
dclooon'p<IS"'ióndccon$1JIlal'SOIlci'n5:li •••. la'lOmlahtación.elanlil,." ••..m:iJ\lico.la"nll'htiC".lCiónyla"-'<:SUllClUrncióndcla<.'<lI1Sl,h •. PucdclllrhMI'liCU"lirb/llde;Ílg,·brarcla<:Oo"alparopmpnrciIInar"na
"'1''' ..••..''1:ociÓ'' inten,aJ., l. oon,ulla lrnn,ronll;ld'
• L:I ol'limilación de e,,"Sullm; ruede apli'a'rcglas de lransfQ"ua"ó" pOI1lC/lnven;,unauprc_,ión(leIllllehl1l rel:K:ioml en unacxl're,ióncquivalo'lle4"c."''''pa4''''e."rl.dícieme. E",,,, bSl'Cgla,dct•.~"sf"f!I",eión se jncluycnlaeonexiónen e:l.\l;oo.adeorc",eioolC.dc ",I<,<.."ión. l"eOlun"I'liv,dad <Ic1""
"""r.IC'on._,u"atias.laconmulal;yi<bJd.:laNlnt>'naci6nThcla(ydcll'rodUCIocan""iano).'aeoomul,.¡",(bdde la<opcraclOOoClounarias y dc la cOlllblllación-l1><:la (y dcl pr ••d ••..-cocanoiallo) y la:o.'lOCi.¡i
.><laddeb.co,ubm""iónThna(ydelpo-uduc;',",ean •••""""
.Enlrel3>~bcurist;cassciDclu)"."la=l'-laci6ndcla.<op;f\tlOOO(:!Ode •• lcc<;iúoI)pro)'(CCoúnloanIC<olO",Ne;larombonocióudcWlproduclO~"""""'&<:Ic«.~lCCtl)'<l~
~..-aCOOlbc:MlndclXMnbonaciónm""'op:r.ICiúoIdcODml>t,IIri6n.la";lilXi6ndcla:l.'iOC""'
,odaddc b.op<f>IClOIICSbonaoias 1"""'.--conJenulot< -.boo,~,x. modoqucaqudbquc¡""I3II1ao >elc<:
<.•••.••••~lllkrcslnC1'\;b,;eeJCClllCllprimcro.a<:
• La ~¡" ••••ióo d. eo,M"'penok de la inromlllClÓn es'-""'Í>lJCa rec<>ptlada",1 Cll:Uog<>del ~,••• rna_ F""re
l~s""aod;'lICa.lípica.&<:illC'u)'clacanl"'ahdaddccad3relaciónluo ••. clnúmcmdcbl<lqllCSl"C<lu.ridoiI"'rIlaln~""""vuu."'I""iótl.cln\¡rncro(lc'"ak>lcsd"!i"'<> .• l"'r.t,ad;'.I"hU!o.la'.ardmalodad,lcselccei6nJc,·adaalril>llloyclnllmcrudcniyejc.cnca(laín<licclllllllinivd.
• u,¡prlll<,palc''''lrJleg'asp:¡mirtll'lolllenl''rl'u¡>cr:ICión<ie.'''lcoci(ln ••m,I>'''que<lali'lCal(a,ehivono
ordcrl:l..lo Y 110;"0"'''001. húoq'K:d:t hinaria (.n:Il,voordcmMlu y "o;oo",xaJo).jgualtlaJllecla"eh",¡',«.>.ld'ClÓll<lciguaM:ldJcela'eprino::il"'l.rondici6ndcdc_<iguaklaoddceb.·eprincil"'l.cond,cióndcigllOl
daddc Inlli<-;:(sceulldario) de eltlsleti,,&. """,liei6n dc 'gualdaddeln<l'cc(>CClbtdariollll)dcclllSlCringyrondH."ióndedesJguald:od''''lIoíndic.sceundanodcllpoB'-lrtt
• u.<. prineip:tles CSlr.IlCI'''' par:¡ Iloplcmcnw la upención de •..•••n•.••"""io\n son: C<lfht>'1IaCIÓlImcdunlebuclcarudadlJporbloques.<:oml:w.naei6nmcdl'nlClou.;lc""KIado'r>dcudo.combonaeióon'lCdianlc:ordc-
_·iOO· ••••.'.:larCOOl'lbnlaciOO/orldI
• Cnn la tknic:o.de mattria.liud6oo la .ahdadc lbQO{l<:f1ICi6nle a1nll«NC1l """ relación lCnlpOfal pantl
••• po•••-""amicn ••.• po.-panedclaSl.gu>cnleopcr:toCiót.O""t6mJCa.lr ••.•••"".~cn~ren""dt1ta""'",.ulladoo.deu"'Q('Crac'6n."">oálI<k>,,,",abopcraclÓll •.•g"'cnl ••• nCTC3lu ••• n:I~OÓII'lcmpo-
W~N>_('~w ••/wt ••.t""'01o~~"I"
=r~::!:=~P?~~'tI~
bi..:..:.
~
~~~~!i.:r~~_.ll"""1. •••..-....~ .•.....,..-..••..•.•....~ •.......... _.
Un resumen al final de cada capítulo, donde secubren los principales conceptos presentados.
Un sitio web de acompañamiento en www.booksites.net/connbegg. En la página siguientese proporcionan detalles adicionales sobre sucontenido.
XLVIII Características del libro
Cklpter 1- RebtionallVloflelTutoría}
Whal kind of dala model is lhe relatíonal. 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
Tutoriales sobre capítulos seleccionados
Aet;"!l.' PI-l
Practise using the Microsoft Access help facilities. Search [(Ir help or ask questions 00 the
following tapies: creatíng tables, data types, primal)' key, referential integrity, data valídation
and the web publísher wizard.
OneIÚJU! a Dntabase
A Microsoft Access database is a collectíon 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!p
you use the information in the database
When you f1rst ¡oad Access, the Microsoft Access dia!og box is displayed, as shown in FigurePl~1
Manual de laboratorio para Access