Está en la página 1de 463
pice STEBERSCHATZel KORTH | SUDARSHAN Hill Fundamentos de bases de datos Quinta edicién ABRAHAM SILBERSCHATZ Universidad de Yale HENRY F. KORTH Universidad de Lehigh S. SUDARSHAN Instituto tecnolégico indio, Bombay Traduccién FERNANDO SAENZ PEREZ ANTONIO GARCIA CORDERO JESUS CORREAS FERNANDEZ Universidad Complutense de Madrid Revisién técnica LUIS GRAU FERNANDEZ Universidad Nacional de Educacién a Distancia Sel oe MADRID BOGOTA BUENOS AIRES CARACAS GUATEMALA LISBOA MEXICO NUEVA YORK PANAMA SAN JUAN SANTIAGO SAO PAULO AUCKLAND HAMBURGO LONDRES MILAN MONTREAL NUEVA DELHI PARIS SAN FRANCISCO SIDNEY SINGAPUR ST. LOUIS TOKIO TORONTO SE TE ell: La informacién contenida en este libro procede de una obra original publicada por The McGraw-Hill Companies, No obstante, McGraw-Hill/Interamericana de Espafia no garantiza la exactitud o perfeccién de la informacién publicada. Tampoco asume ningiin tipo de garantia sobre los contenidos y las opiniones vertidas en dichos textos. Este trabajo se publica con el reconocimiento expreso de que se esté proporcionando una informacién, pero no tratando de prestar ningiin tipo de servicio profesional o técnico. Los procedimientos y la informacién que se presentan en este libro tienen sdlo la intencidn de servir como gua general. McGraw-Hill ha solicitado los permisos oportunos para la realizacién y el desarrollo de esta obra. Fundamentos de bases de datos, quinta edicién No esta permitida la reproduecisn total o parcial de este libro, ni su tratamiento informatico, nila transmisién de ninguna forma 0 por cualquier medio, ya sea electrénico, mecénico, por fotocopia, por registro u otros métodos, permiso previo y por escrito de los titulares del Copyright, McGraw-Hill/Interamericana de Espajia, S.A.U. DERECHOS RESERVADOS © 2006, respecto a la quinta edicién en espafiol, por McGRAW-HILL/INTERAMERICANA DE ESPANA, S.A.U, Edificio Valrealty, 1° planta Basauri, 17 28023 Aravaca (Madrid) t:/feowwrw.megrave-hilles universidad@mcgrat-hill.com Traducido de la quinta edicién en inglés de Database System Concepts ISBN: 0-07-295886-3 Copyright © 2006 por The McGraw-Hill Companies, Inc. ISBN: 84-481-4644-1 Depésito legal: M. 5.043-2006 Editor: Carmelo Sanchez Gonzélez Compuesto por: Fernando Saenz Pérez Impreso en Fernéndez Ciudad, §. L IMPRESO EN ESPANA - PRINTED IN SPAIN Prefac xv Capitulo1 Introduccién 11 Aplicaciones de los smas de bases de datos 11.9 Jestién de transacciones 17 1.2 Propésito de los sistemas de bases de datos. 21.10 Mineria y analisis de datos 18 13 Vision de los datos 4 LAL Arquitectura de las bases de datos 19 4 Lenguajes de bases de datos 7 1.12 Usuatios y administradores de bases dle datos 21 15 Bases de dates relacionales 9 1.13 Historia de los sistemas de bases de datos 22 16 Diseno de bases de datos. 11 114 Resumen 24 117 Bases de datos basadas en objetos y Bjercicios 25 semiestructuracas 15 Notas bibliogréticas 26 1.8 Almacenamiento de datos y consultas 16 PARTE1 MM BASES DE DATOS RELACIONALES Capitulo 2 El modelo relacional 2.1 Laestructura de las bases de datos relacionales 29 2.5 Valores nulos 53 2.2 Operaciones fundamentales del algebra 2.6 Modificacién dle la base de datos 54 relacional 36, 27 Resumen 56 23 Otras operaciones del élgebra relacional 44 Bjercicios 57 24 Operaciones del Algebra relacional extendida 48 Notas bibliograficas 59 Capitulo3 SQL 3.1 Introduccién 61 38 Consultas complejas 80 32 Definicién de datos 62 39 Vistas 81 3.3 Estructura basica de las consultas SQL 65 3:10 Modificacién de la base de datos 84 34 Operaciones sobre conjuntos 71 3.11 Reunién de relacioness+ 9%) 35 Funciones de agregacién 73 3.12 Resumen 94 3.6 Valores nulos 75 Ejercicios 95 3.7 Subconsultas anidadas 76 Notas bibliograficas 98 Contenido Capitulo 4 SQL avanzado 4.1 Tipos de datos y esquemas 101 4.2 Restricciones de integridad 105 43 Autorizacion 111 44 SQL incorporado 112 45 SQLdinamico 114 46 Funciones y procedimientos++ 121 Capitulo 5 Otros lenguajes relacionales 51 Elcdlculo relacional detuplas 137 32 Eledleulo relacional de dominios 14 33 Query-by-Example 144 54 Datalog 151 47 Consultas recursivasy+ 126 48 Caracteristicas avanzadas deSQL++ 129 49 Resumen 132 Fjercicios 133, Notas bibliograficas 135 55 Resumen 162 Fjercicios 163 Notas bibliograficas 165 PARTE2 Mf DISENO DE BASES DE DATOS Capitulo 6 Disefio de bases de datos y el modelo E-R 6.1 Vision general del proceso de diseto 169 62 El modelo entidad-relacién 171 6.23 Restricciones 176 64 Diagramas entidad-relacién 180 65. Aspectos del diseRo entidad-relacion 184 6.46 Conjuntos de entidades débiles 189 67 Caracteristicas del modelo F-R extendido 190 6.8 Disefo de una base de datos para un banco 197 69 Reduccién a esquemas relacionales 200 6.10 Otros aspectos del disefio de bases de datos 207 6.11 El lenguaje de modelado unificado UML 210 6412 Resumen 212 Bjercicios 213, Notas bibliogesticas 217 Capitulo7 Disefto de bases de datos relacionales 7.1 Caracteristicas de los buenos diserios relacionales 219 7.2 Dominios atémicos y la primera forma normal 223 73 Descomposicién mediante dependencias funcionales 224 7.4 Teoria de las dependencias funcionales 231 75. Algoritmos ce descomposicién 239 7.6 Descomposicion mediante dependencias multivaloradas 244 2.7 Mas formas normales 248 7.8 Proceso de disefo de las bases de datos 248 7.9 Modelado de datos temporales 251 7.10 Resumen 253, Bjercicios 254 Notas bibliogrificas 257 Capitulo 8 Disefio y desarrollo de aplicaciones 8.1 Interfaces de usuario y herramientas 259 8.2 Interfaces Web para bases de datos 262 8.3 Fundamentos de Web 263 8A Servlets y JSP 267 85 Creacion de aplicaciones Web de gran tamanio 271 86 Disparadores 273 87 Autorizaciénen SQL 278 8.8 Seguridad de las aplicaciones 285 89 Resumen 291 Bjercicios 293 Notas bibliogréficas 297 Contenido x PARTE3 Ml BASES DE DATOS ORIENTADAS A OBJETOS Y XML Capitulo 9 Bases de datos basadas en objetos 9.1 Vision general 301 9.7 Implementacion de las caracteristicasO-R 315 9.2 Tipos de datos complejos 302 9.8 Lenguajes de programacion persistentes 316 93 Tipos estructurados y herencia en SQL 303 9.9 Sistemas orientados a objetos y sistemas 9.4 Herencia de tablas 308 relacionales orientados a objetos 322 9.5 Tipos array y multiconjunto en SQL 309 9.0 Resumen 323 9.6 Identidad de los objetos y tipos de referencia en. Bjercicios 324 SQL 313 Notas bibliograficas 327 Capitulo 10 XML 10.1 Motivacion 329 10,6 Almacenamiento de datos XML 10.2 Rstructura de los datos XML 332 107 Aplicaciones XML 354 10.3. Esquema de los documentos XML 10.8 Resumen 358 104 Consulta y transformacién 340 Bjercicios 360 105 La interfaz de programacién de aplicaciones de Notas bibliograficas 362 XML 349) PARTE4 @™ ALMACENAMIENTO DE DATOS Y CONSULTAS Capitulo 11 Almacenamiento y estructura de archivos 11.1 Vision general de los medios fisicos de 11.6 Onganizacién de los archivos 386 almacenamiento 367 11.7 Organizacisin de los registros en archives 390) 11.2 Discos magnéticos 370 11.8 Almacenamiento con diccionarios de datos 383) 113 RAID. 375 11.9 Resumen 395 114 Almacenamiento terciario 382 Ejercicios 396 115 Acceso al almacenamiento 383 Notas bibliogriticas 398 Capitulo 12 Indexacién y asociacién 124 Conceptos bisicos 401 12.8 Comparacién de la indexacién ondenada y la 12.2 Indices ordenados 402 asociacién 431 12.3 Archivos de indices de abo! BY 408 129 Indices de mapas de bits 432 124 Archivos de indices de arbol B17 12.10 Definicion de indices en SQL 435 125 Accesos bajo varias claves 418 12.11 Resumen 436 126 Asociacidn estatica 421 Fjercicios 438 127 Asociacién dinamica 426 Notas bibliogesticas 440 Capitulo 13 Procesamiento de consultas 13.1 Vision general 443 136 Otras operaciones 463, 132 Medidas del coste de una consulta 445 137 Evaluacign de expresiones 466 133 Operacién seleccién 446 138 Resumen 470 134 Ordenaciin 450 Ejercicios 47: 135 Operacion reunion 452 Notas bibliogeicas Contenido Capitulo 14 Optimizacién de consultas 14,1 VisiGn general 475 14.2 Transformacién de expresiones relacionales 476 14.3 Estimacién de las estadisticas de los resultados de lasexpresiones 482 1444 Eleccién de los planes de evaluacion 487 145 Vistas materializadasy+ 494 146 Resumen 498 Fjercicios 500 Notas bibliogrsficas 502 PARTE5 Ml GESTION DE TRANSACCIONES Capitulo 15 Transacciones 15.1 Concepto de transaccién 507 152 Estados de una transaccion 510 15.3 Implementacién de la atomicidad y la durabilidad 512 154 Bjecuciones concurrentes 513, 155 Secuencialidad 516 Capitulo 16 Control de concurrencia 16.1 Protocolos basados-en el bloqueo 529 162 Protocolos basados en marcas temporales 539 163 Protocolos basados en validacién 542 164 Granularidad miltiple 544 165 Esquemas multiversion 546 166 Tratamiento de interbloqueos 548 Capitulo 17 Sistema de recuperacién 17.1 Clasificacion de los fallos. 567 172 Estructura del almacenamiento 568 173 Recuperacién y atomicidad 571 174 Recuperacién basada en el registro histrico 572 1755 Transacciones concurrentes y recuperacién 579 17.6 Gestion de la memoria intermedia 581 156 Recuperabilidad 520 15,7 Implementacién del aislamiento 522 158 Comprobacion de la secuencialidad 522 159 Resumen 523 Bjercicios 525 Notas bibligratficas 527 16.7 Operaciones para insertar y borrar 553 168 Niveles débiles de consistencia 555 16.9 Concurrencia en los indices++ 16.10 Resumen 560 Bjercicios 562 Notas bibliogriticas 566 177 Fallo con pérdida de almacenamiento no volatil 584 178 Técnicas avanzadas de recuperaciéns= 585 17.9 Sistemas remotos de copias de seguridad 591 17.10 Resumen 593 Bjercicios 596 Notas bibliograficas 597 PARTE6 @& MINERiA DE DATOS Y RECUPERACION DE INFORMACION Capitulo 18 Andlisis y mineria de datos 181 Sistemas de ayuda a la toma de decisiones 601 182 Anilisis de datos y OLAP 602 183 Almacenesde datos 612 184 Mineria dedatos 615 185 Resumen 625 Bjercicios 627 Notas bibliograticas 628 Contenido Capitulo 19 Recuperaci6n de informacién 19.4 Visiin general 631 197 Motores de biisqueda en Web 641 192 Clasificacion por relevaneia segiin los 19.8 Recuperacién de informacion y datos términos 632 estructurados 642 193 Relevancia seg los hipervinculos 635 199 Ditectorios 643 19.4 Sinonimos, homénimos y ontologias 638 19.10 Resumen 645 19.5 Creacin de indices de documentos 639 Bjercicios 646 19.6 Meclida de la efectividad de la recuperacién 640 Notas bibliograficas 647 PARTE7 M@ ARQUITECTURA DE SISTEMAS Capitulo 20 Arquitecturas de los sistemas de bases de datos 20.1 Arquitecturas centralizadas y cliente 20.5 Tiposde redes. 666 servidor 651 20.6 Resumen 668 20.2 Arquitecturas de sistemas servidores 653, Fjercicios 669 203 Sistemas paralelos 657 Notas bibliograficas 671 204 Sistemas distribuidos 663 Capitulo 21 Bases de datos paralelas 21.1 Introduccién 673 21.6 Paralelismo entre operaciones 685 21.2 Paralelismo de E/S 674 2L7 Disenio de sistemas paralelos 687 21.3 Paralelismo entre consultas 677 218 Resumen 688 214 Paralelismo en consultas 678 Ejercicios 689 21.5 Paralelismo en operaciones 678 Notas bibliogrificas 691 Capitulo 22 Bases de datos distribuidas 22.1 Bases de datos homogeneas y heterogéneas 693 22.7 Procesamiento distribuide de consultas 7 22.2. Almacenamiento distribuide de datos 694 22.8 Bases de datos distribuidas heterogéneos 71 22.3 Transacciones distribuidas 697 22.9 Sistemas de directorio 719 22.4 Protacolos de compromiso 698 22.10 Resumen 723 22.5 Control de la concurrencia en las bases de datos Fjercicios 726 distribuidas 704 Notas bibliogrsficas 728 226 Disponibilidad 710 PARTE8 HM OTROS TEMAS Capitulo 23 Desarrollo avanzado de aplicaciones 23.1 Ajuste del rendimiento 733 235 Resumen 749 232 Pruebas de rendimiento 741 Fjercicios 750 233 Normalizacion 744 Notas biblingrsficas 751 2 Migeacivin de aplicaciones 748 Contenicio Capitulo 24 Tipos de datos avanzados y nuevas aplicaciones 241 Motivacion 753, 245 Computadoras portstiles y bases de datos 242 El tiempo en las bases de dates 754 personales 767 243 Datos espaciales y geograficos 756 246 Resumen 772 244 Bases de datos multimedia 765 Ejercicios 73 Notas bibliogréficas 775 Capitulo 25 Procesamiento avanzado de transacciones 25.1 Monitores de procesamiento de 25.6 Teansacciones de larga duracién 791 transacciones 77 25:7 Gestidn de transacciones en varias bases de 2522 Flujos de trabajo de transacciones 781 datos 796 253 Comercio electronic 786 258 Resumen 799 254 Bases de datos en memoria principal 788 Fjercicios 801 25.5 Sistemas de transacciones de tiempo real 790 Notas bibliograficas 802 PARTE9 M ESTUDIO DE CASOS Capitulo 26 PostgreSQL ‘Anastassia Ailamaki, Sailesh Krishnamurthy, Spiros Papadimitriou, Bianca Schroeder 26.1 Introduccién 807 265 Almacenamientove indices $24 262 Interfaces de usuario 808 266 Procesamiento y optimizaciOn de consultas 827 263 Variaciones y extensiones de SQL 809 267 Arquitectura del sistema 830 264 Gestidn de transacciones en PostgreSQL 817 Notas bibliogréticas 831 Capitulo 27 Oracle Hakan Jakobsson 27.1 Herramientas para el diseno de bases dedatos y la 27.6 Arquitecturadel sistema 851 consulta 833 27.7 Réplica, distribucién y datos externos 854 27.2 Variaciones y extensiones de SQL 834 27.8 Herramientas de gestion de bases de datos 855 27.3. Almacenamientoe indices 836 27.9 Mineria de datos 856 27.4 Procesamiento y optimizaci6n de consultas 844 Notas bibliogréticas 857 27.5 Control de concurrencia y recuperacion 849 Capitulo 28 DB2 Universal Database de IBM Sriram Padmanabhan 28.1 Visién general 859 288 Caracteristicas auténomas de DB2_ 876 28.2. Herramientas de disefio de bases de datos 860 28,9 Herramientas y utilidades 876 283 Variaciones y extensiones de SQL 861 28.10 Control de concurrencia y recuperacién 878 284 Almacenamiento e indexacion 864 28.11 Arquitectura del sistema 880 28.5 Agrupacisn multidimensional 867 28.12 Réplicas, distribuci6n y datos externos 881 286 Procesamiento y optimizacién de consultas 870 28.13 Caracteristicas de inteligencia de negocio 882 287 Tablas de consultas materializadas 874 Notas bibliogrificas 882 Contenido xm Capitulo 29 SQL Server de Microsoft ‘Sameet Agarwal, José A. Blakeley, Thierry D’Hers, Gerald Hinson, Dirk Myers, Vagar Pirzada, Bill Ramos, Balaji Rathakrishnan, Michael Rys, Florian Was, Michael Zwilling 29.1 Herramientas para la administracién, el diseno y 29.8 Procesamiento de consultas heterogéneas la consulta de las bases de datos 885 distribuidas 905 20.2 Variaciones y extensiones de SQL 889 29.9 Duplicacién 906 29.3 Almacenamientoe indices 892 29.10 Programacién de servidores en NET 908 29.4 Procesamiento y optimizacién de consultas $95 29.11 Soporte de XMLen SQL Server 2005 912 295 Concurtencia y recuperacion 899 29.12 Service Broker de SQLServer 916 29.6 Arquitectura del sistema 903 29.13 Almacenes de datos e inteligencia de negocio 918 297 Accesora los datos 904 Notas bibliograticas 921 Bibliografia 923 indice 943 La gestién de las bases de datos ha evolucionado desde una aplicacién informatica especializada hasta convertirse en parte esencial de los entornos informaticos modernos. Por tanto, el conocimiento acerca de los sistemas de bases de datos se ha convertido en una parte imprescindible de la formacién en informatica. En este texto se presentan los conceptos fundamentales de la gestidn de las bases de datos. Estos conceptos incluyen aspectos del diseno de bases de datos, de los lenguajes y de la implementacisn de los sistemas de bases de datos. Este libro esta orientado a un primer curso de bases de datos para los niveles técnicos y superiores. Ademés del material basico para un primer curso, el texto también contiene material avanzado que se puede usar como complemento del curso o como material introductorio de un curso avanzado. En este libro se asume que se dispone de conocimientos basicos sobre estructuras de datos basicas, or ganizacién de computadoras y un lenguaje de programacion de alto nivel (tipo Pascal). Los conceptos se Presentan usando descripciones intuitivas, muchas de las cuales estén basadas en el ejemplo propuesto de una entidad bancaria. Se tratan los resultados te6ricos importantes, pero se omiten las demostracio- nes formales. En lugar de las demostraciones se usan figuras y ejemplos para sugerir su justificacion. Las descripciones formales y las pruebas pueden hallarse en los articulos de investigacién y en los textos avanzados a los que se hace referencia en las notas bibliogrficas. Los conceptos y algoritmos fundamentals tratados en este libro suelen basarse en los usados en sistemas de bases de datos comerciales 0 experimentales ya existentes. El objetivo es presentar esos conceptos y algoritmos en un marco general que no esté vinculado a ningtin sistema de bases de datos en concreto. Los detalles de los sistemas de bases de datos concretos se estudian en la Parte 9, “Estudio de casos" En esta quinta edicion de Fundamentos de bases de datos se ha mantenido el estilo global de las ediciones anteriores, mientras que su contenido y organizacién han evolucionado para reflejar las modificaciones que se estén produciendo en el modo en que las bases de datos se disefian, se gestionan y se usan. ‘También se han tenido en cuenta las tendencias en la ensefianza de los conceptos de bases de datos y se han hecho adaptaciones para facilitar esas tendencias donde ha resultado conveniente. Antes de describir el contenido del libro con detalle, se destacaran algunas de las caracteristicas de la quinta edicion, + Tratamiento precoz de SQL. Muchos profesores usan SQL como componente principal de sus proyectos de fin de curso (visitese el sitio Web http://www.mhe.es/universidadiintormatica/funda mentos para ver proyectos de ejemplo). Con objeto de proporcionar a los estudiantes tiempo s ficiente para realizar los proyectos, especialmente en universidadees que trabajen por trimestres, resulta fundamental ensefar SQL tan pronto como sea posible. Con esto en mente se han llevado a cabo varias modificaciones en la organizacién del libro: 1. Aplazar la presentacién del modelo entidad-relacion hasta la Parte 2, titulada “Diseno de bases de datos”

También podría gustarte