• No se han encontrado resultados

Administración de Bases de Datos Diseño y Desarrollo.pdf

N/A
N/A
Protected

Academic year: 2021

Share "Administración de Bases de Datos Diseño y Desarrollo.pdf"

Copied!
739
0
0

Texto completo

(1)
(2)
(3)

Administración

de bases de datos

(4)
(5)

Administración

de bases de datos

Diseño y desarrollo de aplicaciones

Tercera edición

Michael V. Mannino

University of Colorado at Denver

Revisión técnica

Carlos Villegas Quezada

Universidad Iberoamericana, Ciudad de México

MÉXICO l BOGOTÁ l BUENOS AIRES l CARACAS l GUATEMALA l LISBOA l MADRID

NUEVA YORK l SAN JUAN l SANTIAGO l AUCKLAND l LONDRES l MILÁN l MONTREAL

(6)

Director Higher Education: Miguel Ángel Toledo Castellanos Director editorial: Ricardo del Bosque Alayón

Editor sponsor: Pablo E. Roig Vázquez

Editora de desarrollo: Ana Laura Delgado Rodríguez Supervisor de producción: Zeferino García García Traducción: Ekaterina Guerrero Ushakova

José Julián Díaz Díaz

ADMINISTRACIÓN DE BASES DE DATOS. Diseño y desarrollo de aplicaciones

Tercera edición

Prohibida la reproducción total o parcial de esta obra, por cualquier medio, sin la autorización escrita del editor.

DERECHOS RESERVADOS © 2007 respecto a la primera edición en español por McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V.

A Subsidiary of The McGraw-Hill Companies, Inc. Edificio Punta Santa Fe

Prolongación Paseo de la Reforma 1015, Torre A Piso 17, Colonia Desarrollo Santa Fe,

Delegación Álvaro Obregón C.P. 01376, México, D.F.

Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736

ISBN-13: 978-970-10-6109-1 ISBN-10: 970-10-6109-8

Traducido de la tercera edición de Database Design, Application Development, & Administration Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

ISBN-13: 978-0-07-294220-0 ISBN-10: 0-07-294220-7

1234567890 09865432107

(7)

Deseo dedicar este libro a mis hijas Julia y

Aimee. Sus sonrisas y afecto me inspiran día

con día.

(8)

Acerca del autor

vi

Michael V. Mannino ha estado involucrado en el campo de las bases de datos desde 1980. Ha impartido cursos de administración de bases de datos desde 1983 en diversas universidades de renombre (University of Florida, University of Texas en Austin, University of Washington, University of Colorado en Denver). Su audiencia incluye a estudiantes de licenciatura y maestría en Administración de Sistemas de Información (MIS), maestría en Administración (MBA) y programas de doctorado, además de cursos corporativos en programas de reentrenamiento. Ha estado activo en la investigación de bases de datos, lo que se evidencia por sus publicaciones en importantes revistas del IEEE (Transactions on Knowledge and Data Engineering y Transac-tions on Software Engineering), ACM (CommunicaTransac-tions y Computing Surveys) e INFORMS (Informs Journal on Computing e Information Systems Research). Su investigación abarca va-rias encuestas populares y artículos de tutoría, así como múltiples documentos que describen trabajo original de investigación. En el capítulo 12 del presente libro han sido incorporados los resultados prácticos de su investigación sobre una metodología orientada a formas aplicadas al diseño de las bases de datos.

(9)

Prefacio

Ejemplo de motivación

Paul Hong, propietario de International Industrial Adhesives, Inc., se encuentra eufórico por el desempeño reciente de su negocio, pero toma precauciones respecto a sus perspectivas futuras. Sus ingresos y ganancias crecen más allá de cualquier pronóstico mientras que sus gastos se mantienen fijos. Él atribuye esta situación a la recuperación económica internacional, al uso de outsourcing para focalizar sus recursos y al desarrollo estratégico de las tecnologías de la información. Su euforia sobre el desempeño reciente está atemperado por las perspectivas fu-turas. El éxito de su negocio ha atraído a nuevos competidores que se dirigen hacia sus clientes más rentables. El resultado de las nuevas y costosas iniciativas de la industria en el comercio electrónico es incierto. Las nuevas regulaciones gubernamentales incrementarían significativa-mente el costo de su operación como empresa pública, lo que amenaza sus planes de una oferta pública inicial para aumentar su capital. A pesar de la euforia por el éxito reciente de su negocio, permanece cauteloso respecto a las nuevas direcciones que debe tomar con el fin de asegurar el crecimiento continuo de su empresa.

Paul Hong necesita evaluar las inversiones en tecnologías de la información para mante-nerse adelante de sus competidores y controlar los costos de los mandatos industriales y guber-namentales. Para igualar a sus competidores, necesita datos más detallados y oportunos acerca de las tendencias de la industria, las acciones de los competidores y las operaciones de los distribuidores. Él desea encontrar una solución costo-efectiva para soportar la iniciativa de la industria por el comercio electrónico. Para preparar su operación como empresa pública, debe realizar auditorías de tecnologías de la información y cumplir con los requisitos de información que exige el gobierno a este tipo de empresas. Por todo esto, él no está seguro sobre el uso de estándares y tecnologías propietarias o no propietarias.

Estas preocupaciones implican el uso significativo de la tecnología de bases de datos como parte de la creciente infraestructura de cómputo en las empresas. Las características de pro-cesamiento de transacciones en los DBMS empresariales proporcionan el fundamento para asegurar la confiabilidad del procesamiento en línea de los pedidos con el fin de apoyar las iniciativas empresariales para el cada vez más frecuente uso del comercio electrónico. Las ca-racterísticas de los data warehouse en los DBMS empresariales proporcionan los fundamentos para los grandes data warehouse y para la captura de datos fuente en tiempo real. La tecnología de bases de datos paralelas puede mejorar el desempeño y la confiabilidad de las consultas de procesamiento de transacciones y de almacenes de datos por medio de adiciones incrementales en la capacidad de cálculo. Las características de las bases de datos de objetos proporcionan la habilidad para administrar grandes colecciones de documentos XML generados por las inicia-tivas de la industria enfocadas al comercio electrónico.

No obstante, las soluciones para las preocupaciones de Paul Hong no se encuentran única-mente en la tecnología. El uso del nivel apropiado de tecnología implica la visión para el futuro de la organización, una comprensión más profunda de la misma y las habilidades tradicionales de administración que permitan controlar el riesgo. Paul Hong se da cuenta de que su mayor reto es mezclar estas habilidades de manera tal que las soluciones eficaces puedan desarrollarse para International Industrial Adhesives, Inc.

Introducción

Este libro de texto ofrece los fundamentos para comprender la tecnología de bases de datos que da apoyo a cuestiones empresariales de cómputo tales como las que enfrenta Paul Hong. Como

(10)

viii Prefacio

nuevo alumno de la administración de bases de datos, es necesario que usted comprenda primero los conceptos fundamentales de la administración de bases de datos y del modelo relacional de datos. Después, necesita dominar sus habilidades en el diseño de bases de datos y en el desarrollo de aplicaciones para bases de datos. Este libro de texto le proporciona las herramientas para ayudarle a comprender las bases de datos relacionales y adquirir las habilidades necesarias para resolver los problemas básicos y avanzados en la formulación de consultas, modelado de datos, normalización y requerimientos de los datos de las aplicaciones, además de la personalización de las aplicaciones de bases de datos.

Después de establecer dichas habilidades, usted estará listo para estudiar la función que tienen los especialistas de bases de datos y los ambientes de procesamiento en los que se utilizan las bases de datos. Este libro presenta las tecnologías fundamentales de las bases de datos en cada ambiente de procesamiento y relaciona estas tecnologías con los avances más recientes del comercio electrónico y el cómputo empresarial.

Lo nuevo en la tercera edición

La tercera edición tiene revisiones significativas hechas a la segunda edición, y a la vez conserva la probada pedagogía de las otras dos ediciones. La experiencia obtenida al haber dado clases a alumnos de licenciatura y cursos superiores, así como la retroalimentación recibida por quienes adoptaron la segunda edición, han llevado al desarrollo de nuevo material y refinamientos del anterior. Los cambios más significativos hechos en la tercera edición se relacionan con los capí-tulos destinados al desarrollo de las bases de datos (capícapí-tulos 5 al 8): las reglas de negocios en el modelado de datos, lineamientos para analizar las necesidades de información de las empresas, cobertura expandida de los errores de diseño en el modelado de datos, cobertura expandida de la identificación de la dependencia funcional, y nueva cobertura en cuanto a las recomendacio-nes para optimizar las consultas. Esta nueva cobertura fortalece la metodología probada en la segunda edición, misma que proporcionaba la separación de la estructura de los diagramas de entidad-relación de la práctica del modelado empresarial de datos, una herramienta de modelado de datos personalizado (ER Assistant) para eliminar la confusión de la notación y el énfasis en la normalización como herramienta de refinamiento para el desarrollo de las bases de datos.

Para el desarrollo de aplicaciones de bases de datos, la tercera edición ofrece SQL:2003, un cambio revolucionario con respecto a SQL:1999. La tercera edición explica el alcance de SQL:2003, la dificultad de conformidad con el estándar y los nuevos elementos del mismo. Numerosos refinamientos de la cobertura para el desarrollo de aplicaciones de bases de datos amplían la cobertura probada de las dos primeras ediciones: lineamientos para la formulación de consultas, problemas de enlace avanzados, recomendaciones para la formulación de consultas para informes y formularios jerárquicos, y disparadores para restricciones suaves.

Para la administración de bases de datos y los entornos de procesamiento, la tercera edición proporciona cobertura expandida para la nueva tecnología de SQL:2003 y de Oracle 10g. Los temas nuevos más significativos son la tecnología de bases de datos paralelas, la cobertura am-pliada para la reescritura de consultas para vistas materializadas y la transparencia en las bases distribuidas de Oracle. Se proporciona cobertura revisada para el control de candados, la verifi-cación de puntos de recuperación de una base de datos, el tiempo de interacción del usuario en el diseño de la transacción, la representación del tiempo en las tablas de dimensión, la madurez del almacén de datos, los servicios web en el procesamiento de bases de datos cliente-servidor y la aceptación comercial de las arquitecturas de bases de datos de objetos.

Además del nuevo material y de los refinamientos hechos al que ya existía, la tercera edi-ción extiende los complementos de cada capítulo. Esta ediedi-ción contiene preguntas y problemas nuevos al final de cada capítulo, además de los resúmenes de sintaxis de SQL:2003. El nuevo material del sitio web de este libro de texto incluye casos de estudio, tareas para el primero y segundo cursos de bases de datos, y exámenes muestra.

La tercera edición tiene una organización capitular más fina con siete partes, para poder ofrecer bloques de aprendizaje más pequeños. La parte 1 abarca material introductorio acerca de la administración de bases de datos y el desarrollo de las mismas con el fin de proporcionar una

(11)

Prefacio ix

base conceptual para el conocimiento y habilidades detalladas en los capítulos subsecuentes. La parte 2 incluye los elementos esenciales para el modelo de datos relacional para la creación de bases de datos y la formulación de consultas. El desarrollo de las bases de datos se divide entre el modelado de datos de la parte 3 y el diseño de tablas físicas de la parte 4. La parte 5 abarca un desarrollo más avanzado de aplicaciones que cubre los problemas de enlace, vistas de las bases de datos, procedimientos y disparadores almacenados. La parte 6 incluye información sobre el desarrollo de bases de datos con una integración de la vista y un estudio de caso bas-tante amplio. La parte 7 abarca la administración de la base de datos y los ambientes de proce-samiento para los DBMSs, material que fue presentado en la parte 4 de la segunda edición.

Ventajas competitivas

Este libro de texto ofrece características sobresalientes que no tienen par en los libros de la com-petencia. Las características únicas son una cobertura amplia de SQL tanto para Access como para Oracle, lineamientos para la solución de problemas para ayudar a la adquisición de habilida-des fundamentales, bases de datos muestra y ejemplos diseñados con todo cuidado, un completo estudio de caso, cobertura de temas avanzados, material integrado de laboratorio y el ER Assis-tant. Estas características proveen al lector de un paquete completo para un curso introductorio de bases de datos. Cada una de estas características se describe con mayor detalle en la lista que se presenta a continuación, al tiempo que la tabla P.1 resume las ventajas competitivas por capítulo. • Cobertura de SQL. La profundidad y amplitud de la cobertura de SQL en este texto no

tiene igual en libros de la competencia. La tabla P.2 resume dicha cobertura por capítulo. Las partes 2 y 5 proporcionan una cobertura vasta de las sentencias CREATE TABLE, SELECT, UPDATE, INSERT, DELETE, CREATE VIEW y CREATE TRIGGER. Se pre-sentan numerosos ejemplos de problemas básicos, intermedios y avanzados.

• Cobertura de Access y Oracle. Los capítulos de las partes 2 y 5 ofrecen una cobertura detallada de Access y Oracle SQL. Se muestran ejemplos para ambos sistemas de admi-nistración de bases de datos para las sentencias SELECT, INSERT, UPDATE, DELETE y CREATE VIEW. Hay una cobertura significativa de las nuevas características de Oracle 10g

TABLA P.1 Resumen de ventajas competitivas por capítulo

Capítulo Características únicas

2 Capítulo único que proporciona una introducción conceptual al proceso de desarrollo de bases de datos 3 Representación visual de los operadores del álgebra relacional

4 Lineamientos para la formulación de bases de datos; cobertura para Oracle SQL, Access y SQL:2003 5 Énfasis en la notación ERD, reglas del negocio, reglas de diagramación con apoyo en el ER Assistant

6 Estrategias para analizar las necesidades de información del negocio, transformación del modelado de datos y detección de errores comunes de diseño

7 Lineamientos y procedimientos de normalización

8 Reglas de selección de índices, lineamientos de afinación de SQL, cobertura integrada de la optimización de consultas, estructuras de archivos y selección de índices

9 Lineamientos de formulación de consultas, cobertura para Oracle 10g, Access y SQL:2003; cobertura de temas avanzados de consultas anidadas, problemas de división y administración del valor nulo

10 Reglas para vistas actualizables, lineamientos para el requerimiento de datos para formularios e informes 11 Capítulo único que incluye conceptos y prácticas de los lenguajes de programación de bases de datos,

procedimientos almacenados y disparadores

12 Capítulo único que abarca conceptos y prácticas relacionados con la integración y diseño de las vistas

13 Capítulo único que proporciona un caso de estudio completo acerca del procesamiento de préstamos estudiantiles 14 Lineamientos para los procesos importantes empleados por los administradores de bases de datos

15 Lineamientos para el diseño de transacciones y cobertura de temas avanzados

16 Modelo de madurez del data warehouse para evaluar el impacto de la tecnología en las organizaciones, cobertura de temas avanzados de características de bases de datos relacionales para el procesamiento y refrescado de data warehouses, cobertura extensa del data warehouse en Oracle 10g

17 Cobertura integrada del procesamiento de cliente-servidor, procesamiento paralelo de bases de datos, y bases de datos distribuidas

(12)

x Prefacio

SQL que aparece en los capítulos 8, 9, 11, 15, 16 y 18. Además, los capítulos de las partes 2 y 5 cubren la sintaxis de SQL:2003 para dar apoyo a la instrucción que se dé con otros prominentes sistemas de administración de bases de datos.

Lineamientos de solución de problemas. Los alumnos necesitan más que explicaciones

de conceptos y ejemplos para resolver problemas. Ellos requieren de lineamientos que les ayuden a estructurar su proceso de pensamiento para que puedan atacar los problemas de manera sistemática. Los lineamientos proporcionan modelos mentales que ayudan a los alumnos a aplicar los conceptos a la solución de problemas básicos y avanzados. La tabla P.3 resume los lineamientos para la solución de problemas que aparecen en cada capítulo. • Bases de datos muestra y ejemplos. A lo largo de los capítulos de las partes 2 y 5, se

emplean dos bases de datos para proporcionar consistencia y continuidad. La base de datos de la universidad se emplea en los ejemplos a lo largo del capítulo, mientras que la base de datos de captura de órdenes se emplea en los problemas al final del capítulo. Los numerosos ejemplos y problemas con estas bases de datos resaltan las habilidades fundamentales en la formulación de consultas y los requerimientos de datos para las aplicaciones. Las versiones revisadas en las bases de datos proporcionan la separación entre los ejemplos básicos y los

TABLA P.2

Cobertura de senten-cias SQL por capítulo

Capítulo Sentencias SQL

3 CREATE TABLE

4 SELECT, INSERT, UPDATE, DELETE

9 SELECT (consultas anidadas, enlaces externos, administración de valores nulos); cobertura de Access, Oracle 10g y SQL:2003

10 CREATE VIEW, consultas y sentencias de manipulación que emplean vistas 11 CREATE PROCEDURE (Oracle), CREATE TRIGGER (Oracle y SQL:2003)

14 GRANT, REVOKE, CREATE ROLE, CREATE ASSERTION, cláusula CHECK de la sentencia CREATE TABLE, CREATE DOMAIN

15 COMMIT, ROLLBACK, SET TRANSACTION, SET CONSTRAINTS, SAVEPOINT

16 CREATE MATERIALIZED VIEW (Oracle), extensiones de la cláusula GROUP BY (Oracle y SQL:2003), CREATE DIMENSION (Oracle)

18 CREATE TYPE, CREATE TABLE (tablas capturadas y subtablas), SELECT (identificadores de objetos, expresiones de trayectoria, operador diferencial); cobertura SQL:2003 y Oracle 10g

Capítulo Lineamientos para la solución de problemas

3 Representación visual de las relaciones y de los operadores del álgebra relacional 4 Proceso de evaluación conceptual, preguntas de formulación de consultas 5 Reglas de diagramación

6 Lineamientos para analizar las necesidades de información de los negocios, transformaciones de diseño, identificación de errores comunes de diseño, reglas de conversión

7 Lineamientos para identificar las dependencias funcionales, procedimiento de síntesis simple

8 Reglas de selección de índices, lineamientos de afinación de SQL

9 Lineamientos de formulación de problemas de diferencia, evaluación de consultas anidadas, método de conteo para problemas de división

10 Reglas para consultas de enlace actualizables, pasos para analizar los requerimientos de datos en formularios e informes

11 Procedimiento de ejecución de disparadores

12 Pasos para el análisis de formularios, estrategias de integración de vistas

14 Lineamientos para administrar los procedimientos y disparadores almacenados; proceso de planeación de datos, proceso de selección de DBMS

15 Línea de tiempo de la transacción, lineamientos de diseño de transacción 16 Lineamientos para las representaciones de bases de datos relacionales de datos

multidimensionales, lineamientos para la representación del tiempo en tablas de dimensión, desventajas para la actualización de un almacén de datos

17 Progresión de los niveles de transferencia para bases de datos distribuidas

18 Arquitecturas de bases de datos orientadas a objetos, comparación entre representación relacional y representación relacional orientada a objetos

TABLA P.3

Lineamientos para la solución de proble-mas por capítulo

(13)

Prefacio xi

avanzados. El sitio web contiene las sentencias CREATE TABLE, datos muestra, senten-cias de manipulación de datos y archivos de bases de datos en Access para ambas bases de datos. Los capítulos de las partes 3, 4 y 7 utilizan bases de datos adicionales para ampliar la exposición del alumno a situaciones de negocios más diversas. Los alumnos necesitan exponerse a varias situaciones empresariales para adquirir las habilidades indispensables para el diseño de las bases de datos y comprender los conceptos más importantes para los especialistas en bases de datos. Otras bases de datos, que abarcan operaciones de servicios de agua, visitas a pacientes, revisiones a documentos académicos, rastreo financiero perso-nal, reservaciones en líneas aéreas, oficinas de colocaciones, aseguradoras de automóviles, rastreo de ventas en almacenes y ventas de bienes raíces, complementan las bases de datos de la universidad y de captura de órdenes en los ejemplos de los capítulos y en los proble-mas al final del capítulo.

• Estudio de caso completo. El caso de Student Loan Limited se encuentra al final de la parte 6. La descripción del caso y su solución integran los conceptos que los alumnos aprendieron en los 12 capítulos anteriores sobre el desarrollo de aplicaciones y el diseño de bases de datos. Los problemas de seguimiento que aparecen al final del capítulo proporcionan oportu-nidades adicionales para que los estudiantes apliquen su conocimiento en un caso realista. • Laboratorio opcional integrado. La administración de bases de datos se enseña mejor

cuando los conceptos se ligan estrechamente con la práctica del diseño e implementación de bases de datos que emplea un DBMS. Para ayudar a los alumnos a aplicar los conceptos des-critos en el libro de texto, se encuentran a su disposición un CD y el sitio web con material de laboratorio complementario. El CD contiene material de laboratorio para cuatro versiones de Microsoft Access (97, 2000, 2002 y 2003), así como bases de datos y ejercicios de práctica. Los materiales de laboratorio de Microsoft Access integran la cobertura detallada de Access con los conceptos de desarrollo de aplicaciones que describen en las partes 2 y 5.

• Herramienta gratuita para el modelado de datos. El ER Assistant ofrece una interfase simple para dibujar y analizar los diagramas de entidad-relación del modelado de datos, como se presentan en los capítulos de la parte 3. Con este programa, los alumnos pueden volverse productivos con gran rapidez, lo que les permite enfocarse en los conceptos del modelado de datos en lugar de los detalles de una herramienta CASE complicada. Para ayudar a los alumnos a que no cometan errores de diagramación, el ER Assitant confirma las reglas de diagramación presentadas en el capítulo 5.

• Temas actuales e incisivos. El libro cubre algunos temas que no aparecen en otros libros de texto de la competencia: formulación avanzada de consultas, vistas actualizables, desarro-llo y administración de procedimientos y disparadores almacenados, requisitos de datos para los formularios e informes de captura de datos, integración de vistas, administración para el proceso de actualización para los data warehouses, modelo de madurez de un data ware-house, arquitecturas de bases de datos paralelas, arquitecturas de bases de datos orientadas a objetos, características de los data warehouses en SQL:2003 y Oracle 10g, y principios de diseño de transacciones. Estos temas permiten que los alumnos motivados obtengan una comprensión más amplia de la administración de las bases de datos.

• Paquete completo para el curso. Según sea el criterio del curso, algunos alumnos inten-tarán comprar hasta cinco libros para un curso introductorio de bases de datos: un libro de texto que abarque los principios, manuales de laboratorio que cubran los detalles de un DBMS y una herramienta CASE, un libro complementario de SQL y un libro de casos con problemas reales de práctica. Este libro de texto y su material complementario proporcio-nan una fuente más completa, integrada y menos costosa para el alumno.

Audiencia del texto

Este libro ha sido diseñado para alumnos que cursan la licenciatura o cursos superiores de admi-nistración de bases de datos. En el nivel licenciatura, los alumnos deben tener una concentración (mayor o menor) o interés activo en los sistemas de información. Para las instituciones de dos

(14)

xii Prefacio

años, el instructor quizá quiera saltarse los temas avanzados y poner más énfasis en el manual opcional de laboratorio de Access. Los alumnos de licenciatura deberán tener un primer curso que cubra los conceptos fundamentales, hojas de cálculo, procesadores de palabras y posible-mente una breve introducción a las bases de datos. Un curso previo de programación puede resultar de utilidad (excepto para el capítulo 11), aunque no es obligatorio. Los demás capítulos hacen referencia a ciertos conceptos de programación, pero no se incluye el código de escritura. Para entender plenamente el capítulo 11, es esencial contar con experiencia previa en programa-ción. Sin embargo, los conceptos básicos del capítulo 11 pueden abarcarse incluso si los alumnos no tienen conocimientos previos de programación de computadoras.

En niveles superiores, este libro es adecuado para los programas de maestría en adminis-tración o maestría en ciencias (en sistemas de información). El material avanzado de este libro debe ser especialmente adecuado para los alumnos que estudian la maestría en ciencias.

Organización

Como el título lo indica, Administración de base de datos. Diseño y desarrollo de aplicaciones enfatiza las tres series de actividades. Antes de adquirirlas, los alumnos necesitan tener un fun-damento de los conceptos básicos. La parte 1 proporciona los antecedentes conceptuales para un estudio detallado subsecuente del diseño de bases de datos, el desarrollo de aplicaciones para bases de datos y la administración de bases de datos. Los capítulos de la parte 1 presentan los principios de la administración de bases de datos y una visión general conceptual del proceso de desarrollo de bases de datos.

La parte 2 ofrece conocimiento funcional acerca del modelo relacional de datos. El capítulo 3 abarca la definición de tablas, las reglas de integridad y los operadores para recuperar la infor-mación útil de las bases de datos relacionales. El capítulo 4 presenta lineamientos para la formu-lación de consultas y numerosos ejemplos de sentencias en SQL.

Las partes 3 y 4 enfatizan las habilidades prácticas y los lineamientos de diseño para el proceso de desarrollo de bases de datos. Los estudiantes que deseen hacer una carrera como especialistas en bases de datos deberán tener la capacidad de desempeñar cada uno de los pasos del proceso de desarrollo de bases de datos. Deberán aprender las habilidades del modelado de datos, la conversión de esquemas, la normalización y el diseño físico de las bases de datos. Los capítulos de la parte 3 (capítulos 5 y 6) abarcan el modelado de datos por medio del modelo de entidad-relación. El capítulo 5 incluye la estructura de los diagramas de entidad-relación, mientras que el capítulo 6 presenta el uso de los diagramas de entidad-relación para analizar las necesidades de información del negocio. Los capítulos de la parte 4 (capítulos 7 y 8) presentan los principios y práctica del diseño de tablas para el diseño lógico y físico. El capítulo 7 estudia la motivación, las dependencias funcionales, los formatos normales y las consideraciones prác-ticas de la normalización de datos. El capítulo 8 ofrece una amplia cobertura del diseño físico de las bases de datos, incluidos objetivos, entradas, estructura de archivos y antecedentes para la optimización de consultas, así como importantes opciones de diseño.

La parte 5 proporciona un fundamento para la construcción de aplicaciones para bases de datos, de modo que ayuda a los alumnos a adquirir las habilidades necesarias para la formula-ción de consultas, la especificaformula-ción de requerimientos de los formularios e informes de captura de datos, y los disparadores de codificación y procedimientos almacenados. En el capítulo 9 se observan ejemplos adicionales de SQL intermedio y avanzado, junto con las habilidades de formulación de consultas correspondientes. El capítulo 10 describe la motivación, definición y uso de vistas relacionales, junto con la especificación de definiciones de vistas para formularios e informes de captura de datos. El capítulo 11 presenta conceptos y prácticas de codificación de los lenguajes de programación de bases de datos, procedimientos almacenados y disparadores para la personalización de las aplicaciones de bases de datos.

La parte 6 abarca temas avanzados del desarrollo de bases de datos. El capítulo 12 ofrece una descripción del diseño e integración de vistas, los cuales son conceptos de modelado de datos para los esfuerzos que se realizan en el desarrollo de bases de datos más grandes. El capítulo 13 ofrece un estudio de caso completo que permite a los alumnos obtener información acerca de las

(15)

Prefacio xiii

dificultades que se enfrentan al aplicar el diseño de bases de datos y las habilidades de desarrollo de aplicaciones para una base de datos empresarial del mundo real.

Más allá de las habilidades del diseño de bases de datos y desarrollo de aplicaciones, este libro prepara a los alumnos para que ejerzan carreras como especialistas de bases de datos. Los estudiantes necesitan comprender las responsabilidades, herramientas y procesos empleados por los administradores de datos y de bases de datos, así como otros ambientes diversos en los que operan las bases de datos.

Los capítulos de la parte 7 hacen énfasis en la función que desempeñan los especialistas de bases de datos y los detalles implicados en la administración de las mismas en diversos ambien-tes de operación. El capítulo 14 ofrece el contexto para otros capítulos por medio de una vasta cobertura de las responsabilidades, herramientas y procesos utilizados por los administradores de datos y de bases de datos. Los otros capítulos de la parte 4 proporcionan un fundamento para la administración de bases de datos en ambientes de importancia: el capítulo 15, sobre proce-samiento de transacciones; el capítulo 16, en almacenes de datos; el capítulo 17, en procesos y datos distribuidos, y el capítulo 18 en administración de bases de datos orientadas a objetos. Estos capítulos hacen hincapié en conceptos, arquitecturas e importantes opciones de diseño para los especialistas de bases de datos.

Enfoque del texto y tema

Para apoyar la adquisición de las habilidades necesarias para el aprendizaje y comprensión del desarrollo de aplicaciones, el diseño de bases de datos y la administración de las mismas, este libro se adhiere a tres principios guía:

1. Combinación de conceptos y práctica. La administración de las bases de datos se aprende con mayor facilidad cuando los conceptos están estrechamente ligados con la práctica del diseño e implementación de bases de datos con el uso de un DBMS comercial. El libro y los complementos que le acompañan han sido diseñados para proporcionar una estrecha integración entre los conceptos y la práctica por medio de las siguientes características: • Ejemplos de SQL para Access y Oracle, además de cobertura para SQL:2003.

• Énfasis en la relación entre el desarrollo de aplicaciones y la formulación de consultas. • Uso de una notación de modelado de datos por medio de herramientas CASE

profesio-nales y una herramienta académica de uso sencillo (ER Assistant).

• Capítulos complementarios de prácticas de laboratorio que combinan los conceptos del libro con los detalles de los DBMS comerciales.

2. Énfasis en habilidades para la solución de problemas. Este libro presenta los lineamientos para la solución de problemas que ayudarán a los alumnos a dominar las habilidades funda-mentales del modelado de datos, normalización, formulación de consultas y desarrollo de aplicaciones. El libro y los complementos asociados proporcionan una riqueza de pregun-tas, problemas, casos de estudio y prácticas de laboratorio en las que los alumnos pueden aplicar sus habilidades. Con el dominio de las habilidades esenciales, los estudiantes ten-drán motivación para un mayor aprendizaje sobre bases de datos y un cambio en su manera de pensar la computación en general.

3. Material introductorio y avanzado. Los alumnos de negocios que empleen este libro pue-den provenir de una gran variedad de entornos. Este libro les ofrece suficiente profundidad para satisfacer a los alumnos más ansiosos por aprender. No obstante, las partes avanzadas se colocan de manera tal que puedan evitarse por aquellos que no deseen cubrirlas.

Características pedagógicas

Con el fin de ayudar a los alumnos a navegar a través del contenido capitular de una manera sistemática, este libro contiene las siguientes características pedagógicas:

(16)

xiv Prefacio

• Objetivos de aprendizaje que se enfocan en el conocimiento y habilidades que los alum-nos adquirirán al estudiar dicho capítulo.

• Vistas generales que proporcionan un vistazo a los contenidos capitulares.

• Términos fundamentales que son resaltados y definidos en los márgenes conforme apare-cen en el capítulo.

• Ejemplos que son claramente separados del resto del material del capítulo para dar una revisión más sencilla y cubrir los propósitos de estudio.

• Ejemplos de bases de datos en funcionamiento —universidad y captura de órdenes— con iconos en los márgenes que llaman la atención del alumno hacia los ejemplos.

• Reflexiones finales que resumen el contenido capitular en relación con los objetivos de aprendizaje.

• Revisión de conceptos que son llamadas conceptuales importantes del capítulo, y no sólo una lista de terminología.

• Preguntas que se proporcionan para revisar los conceptos capitulares.

• Problemas que ayudan a que el alumno practique e implemente las habilidades detalladas que se presentaron en el capítulo.

• Referencias adicionales para estudio que resaltan las fuentes adicionales del contenido capitular para los alumnos.

• Apéndices capitulares que proporcionan detalles adicionales y resúmenes convenientes de ciertos principios o prácticas.

Al final del libro, los alumnos encontrarán los siguientes recursos adicionales:

• Glosario: Proporciona una lista completa de términos y definiciones empleados a lo largo del libro.

• Bibliografía: Un listado de material impreso útil de índole industrial y académico para investigación o estudio.

Materiales de apoyo

Esta obra cuenta con interesantes complementos que fortalecen los procesos de enseñanza-apren-dizaje, así como la evaluación de los mismos, los cuales se otorgan a profesores que adoptan este texto para sus cursos. Para obtener más información y conocer la política de entrega de estos materiales, contacte a su representante McGraw-Hill.

Recorrido de aprendizaje

El libro puede cubrirse en diverso orden en una secuencia de uno o dos semestres. El autor ha enseñado un curso de un semestre con el siguiente orden: desarrollo de aplicaciones, de-sarrollo de bases de datos y ambientes de procesamiento de bases de datos. Este orden ofrece la ventaja de poder cubrir el material más concreto (desarrollo de aplicaciones) antes de un material más abstracto (desarrollo de bases de datos). Los capítulos de laboratorio y tareas se emplean para proporcionar mayores oportunidades de práctica, más allá de los ejemplos que aparecen en el libro. Para que pueda cubrirse en un semestre, los temas avanzados se saltan en los capítulos 8 y del 11 al 18.

Un segundo orden deberá cubrir el desarrollo de bases de datos antes de estudiar la aplica-ción de bases de datos. Para seguir con este orden, el autor recomienda seguir un orden con los capítulos del libro de la siguiente manera: 1, 2, 5, 6, 3, 7, 4, 9 y 10. El material sobre conversión de esquemas que se presenta en el capítulo 6 deberá cubrirse después del capítulo 3. Este orden apoya una cobertura más amplia del desarrollo de bases de datos, al tiempo que no rechaza el desarrollo de aplicaciones. Para poderse cubrir en un semestre, los temas avanzados se saltan en los capítulos 8 y del 11 al 18.

(17)

Prefacio xv

Un tercer orden posible es utilizar el texto en una secuencia de dos semestres. El primer semestre abarca lo fundamental en cuanto a la administración de las bases de datos, que aparece en las partes 1 y 2, modelado de datos y normalización de las partes 3 y 4, así como formulación avanzada de consultas de las partes 5 y 6. El segundo curso hace énfasis en las habilidades para la administración de bases de datos con el diseño físico de bases de datos de la parte 4, dispara-dores y procedimientos almacenados que aparecen en la parte 5 y ambientes de procesamiento de la parte 7, junto con material adicional sobre la administración de bases de datos empresaria-les. Un proyecto completo puede emplearse en el segundo curso para integrar el desarrollo de aplicaciones, desarrollo de bases de datos y administración de bases de datos.

Recursos para el alumno

• ER Assistant: Herramienta de uso sencillo para modelado de datos que puede emplease para dibujar y analizar ERD; disponible en www.mhhe.com/mannino

Reconocimientos

La tercera edición es la culminación de muchos años de trabajo. Antes de comenzar con la primera edición escribí tutoriales, prácticas de laboratorio y estudios de caso. El material fue utilizado primero como complemento a otros libros de texto. Después, motivado por mis alum-nos, este material se empleó sin libro de texto. Este material, revisado en múltiples ocasiones a través de los comentarios de los alumnos, fue el fundamento para la primera edición. Durante el desarrollo de la primera edición, el material se evaluó en el salón de clases durante tres años con cientos de alumnos de nivel licenciatura y cursos superiores, junto con una revisión cuidadosa por medio de cuatro borradores hechos por muchos revisores externos. La segunda edición se realizó a través del uso de la primera edición durante tres años en el salón de clases, además de que el autor había impartido durante muchos años un curso avanzado de bases de datos. La ter-cera edición se desarrolló con la experiencia de tres años de uso de la segunda edición en cursos básicos y avanzados de bases de datos.

Deseo reconocer el excelente apoyo que recibí en el término de este proyecto. En primer lugar agradezco a mis muchos alumnos de bases de datos, especialmente a los de ISMG6080, ISMG6480 e ISMG4500 de la University of Colorado en Denver. Sus comentarios y reacción al libro de texto han sido invaluables para su mejoría.

En segundo lugar, agradezco a los muchos revisores que proporcionaron retroalimentación a los diversos borradores de este libro de texto:

Kirk P. Arnett

Mississippi State University

Reza Barkhi

Virginia Polytechnic Institute and State University

William Barnett

University of Louisiana—Monroe

Jack D. Becker

University of North Texas

Nabil Bedewi

George Mason University

France Belanger

Virginia Polytechnic Institute and State University

John Bradley

East Carolina University

Susan Brown

Indiana University—Bloomington

Debra L. Chapman

University of South Alabama

Dr. Qiyang Chen

Montclair State University

Amita G. Chin

Virginia Commonwealth University

Russell Ching

California State University—Sacramento

P. C. Chu

(18)

xvi Prefacio

Carey Cole

James Madison University

Erman Coskun

Le Moyne College

Connie W. Crook

University of North Carolina—Charlotte

Robert Louis Gilson

Washington State University

Jian Guan

University of Louisville

Diane Hall

Auburn University

Dr. Joseph T. Harder

Indiana State University

Mark Hwang

Central Michigan University

Balaji Janamanchi

Texas Tech University

Nenad Jukic

Loyola University Chicago

Rajeev Kaula

Southwest Missouri State University

Sung-kwan Kim

University of Arkansas—Little Rock

Yong Jin Kim

SUNY Binghamton Barbara Klein University of Michigan—Dearborn Constance Knapp Pace University Alexis Koster

San Diego State University

Jean-Pierre Kuilboer

University of Massachusetts—Boston

Alan G. Labouseur

Marist College

Dr. William M. Lankford

University of West Georgia

Eitel Lauria

Marist College

Anita Lee-Post

University of Kentucky

John D. (Skip) Lees

California State University—Chico

William Leigh

University of Central Florida

Robert Little

Auburn University—Montgomery

Dr. Jie Liu

Western Oregon University

Mary Malliaris

Loyola University—Chicago

Bruce McLaren

Indiana State University

Dr. Kathryn J. Moland

Livingstone College

Hossein Larry Najafi

University of Wisconsin River Falls

Karen S. Nantz

Eastern Illinois University

Ann Nelson

High Point University

Hamid Nemati

University of North Carolina—Greensboro

Robert Phillips

Radford University

Lara Preiser-Houy

California State Polytechnic University—Pomona Young U. Ryu University of Texas—Dallas Werner Schenk University of Rochester Dr. Barbara A. Schuldt

Southeastern Louisiana University

Philip J. Sciame

Dominican College

Richard S. Segall

Arkansas State University

Hsueh-Chi Joshua Shih

National Yunlin University of Science and Technology

Elizabeth Paige Sigman

Georgetown University

Vickee Stedham

St. Petersburg College

Jeffrey A. Stone

Pennsylvania State University

Dr. Thomas P. Sturm

University of St. Thomas

A. Tansel

Baruch College—CUNY

Bilkent University—Ankara, Turkey

Sylvia Unwin

Bellevue Community College

Stuart Varden

Pace University

Santosh S. Venkatraman

(19)

Prefacio xvii

F. Stuart Wells

Tennessee Technological University

Larry West

University of Central Florida

Hsui-lin Winkler

Pace University

Peter Wolcott

University of Nebraska—Omaha

James L. Woolley

Western Illinois University

Brian Zelli

SUNY Buffalo

Sus comentarios, especialmente los de índole crítica, me han ayudado en gran manera para afinar los detalles de este libro.

En tercer lugar, deseo expresar mi agradecimiento a los editores de la versión en inglés, Paul Ducham y Liz Farina, por su guía en este proceso, así como a Jim Labeots, Kami Cartes y a los demás amigos de McGraw-Hill, quienes me ayudaron en la producción y publicación de este texto. Finalmente, agradezco a mi esposa, Monique, por su ayuda con el libro y sus comple-mentos, así como por su apoyo moral a mi esfuerzo.

(20)

Contenido breve

xviii

PARTE UNO

Introducción a los ambientes

de base de datos 1

1

Introducción a la administración de base

de datos 3

2

Introducción al desarrollo de bases de

datos 23

PARTE DOS

Comprendiendo las bases de datos

relacionales 43

3

El modelo relacional de datos 45

4

Formulación de consultas con SQL 79

PARTE TRES

Modelado de datos 133

5

Comprensión de los diagramas de

entidad-relación 135

6

Desarrollo de modelo de datos para bases

de datos de negocios 167

PARTE CUATRO

Diseño de bases de datos relacionales 217

7

Normalización de tablas

relacionales 219

8

Diseño físico de bases de datos 249

PARTE CINCO

Desarrollo de aplicaciones con bases

de datos relacionales 295

9

Formulación avanzada de consultas

con SQL 297

10

Desarrollo de aplicaciones

con vistas 339

11

Procedimientos almacenados y

disparadores 375

PARTE SEIS

Desarrollo avanzado de bases

de datos 425

12

Diseño e integración de vistas 427

13

Desarrollo de base de datos para Student

Loan Limited 449

PARTE SIETE

Administración de entornos

de bases de datos 479

14

Administración de datos y bases

de datos 481

15

Administración de transacciones 515

16

Tecnología y administración de data

warehouse 553

17

Procesamiento cliente-servidor,

procesamiento de bases de datos paralelas y

bases de datos distribuidas 605

18

Sistemas de administración de bases de

datos de objetos 641

GLOSARIO 679

BIBLIOGRAFÍA 696

ÍNDICE 698

(21)

Contenido

xix

PARTE UNO

INTRODUCCIÓN A LOS AMBIENTES DE

BASE DE DATOS 1

Capítulo 1

Introducción a la administración de base de

datos 3

Objetivos de aprendizaje 3 Panorama general 3

1.1 Características de la base de datos 4

1.2 Características de los sistemas de administración

de bases de datos 6

1.2.1 Definición de base de datos 6 1.2.2 Acceso no procedural 8

1.2.3 Desarrollo de aplicaciones e interfase del lenguaje procedural 9

1.2.4 Funciones de soporte para las operaciones de base de datos 10

1.2.5 Funciones de terceros 11

1.3 Desarrollo de la tecnología de base de datos y la

estructura de mercado 11

1.3.1 Evolución de la tecnología de bases de datos 12 1.3.2 El mercado actual del software de base de

datos 13

1.4 Arquitecturas de los sistemas de administración de

bases de datos 14

1.4.1 Independencia de datos y la arquitectura de los tres esquemas 14

1.4.2 Procesamiento distribuido y la arquitectura cliente-servidor 16

1.5 Impactos organizacionales de la tecnología de

base de datos 17

1.5.1 Interactuando con las bases de datos 17 1.5.2 Administración de recursos de información 19

Reflexión final 20 Revisión de conceptos 20 Preguntas 21

Problemas 22

Referencias para ampliar su estudio 22

Capítulo 2

Introducción al desarrollo de bases de

datos 23

Objetivos de aprendizaje 23 Panorama general 23

2.1 Sistemas de información 23

2.1.1 Componentes de los sistemas de información 24 2.1.2 Proceso del desarrollo de sistemas de

información 25

2.2 Objetivos del desarrollo de base de datos 26

2.2.1 Desarrollar un vocabulario común 27 2.2.2 Definición del significado de los datos 27 2.2.3 Asegurar la calidad de los datos 27

2.2.4 En busca de la implementación eficiente 28

2.3 Proceso de desarrollo de la base de datos 28

2.3.1 Fases del desarrollo de base de datos 29 2.3.2 Habilidades en el desarrollo de bases de

datos 32

2.4 Herramientas para el desarrollo de bases de

datos 34

2.4.1 Diagramación 35 2.4.2 Documentación 35 2.4.3 Análisis 35

2.4.4 Herramientas de prototipos 36 2.4.5 Herramientas CASE comerciales 37

Reflexión final 39 Revisión de conceptos 39 Preguntas 40

Problemas 41

Referencias para ampliar su estudio 41

PARTE DOS

COMPRENDIENDO LAS BASES DE DATOS

RELACIONALES 43

Capítulo 3

El modelo relacional de datos 45

Objetivos de aprendizaje 45 Panorama general 45

3.1 Elementos básicos 46

3.1.1 Tablas 46

3.1.2 Conexiones entre tablas 47 3.1.3 Terminología alternativa 49

3.2 Reglas de integridad 49

3.2.1 Definición de las reglas de integridad 49 3.2.2 Aplicación de las reglas de integridad 50 3.2.3 Representación gráfica de la integridad

referencial 53

3.3 Acciones para eliminar y actualizar filas

referenciadas 54

3.4 Operadores de álgebra relacional 56

3.4.1 Operadores de restricción (select) y proyección (project) 56

3.4.2 Operador de producto cruz extendido 57 3.4.3 Operador de enlace (join) 59

3.4.4 Operador de enlace externo (outer join) 61 3.4.5 Operadores de unión, intersección y

diferencia 63

3.4.6 Operador resumir (summarize) 65 3.4.7 Operador dividir (divide) 66 3.4.8 Resumen de operadores 68

Reflexión final 68 Revisión de conceptos 69 Preguntas 69

Problemas 70

(22)

xx Contenido

5.1 Introducción a los diagramas de

entidad-relación 136

5.1.1 Símbolos básicos 136

5.1.2 Cardinalidad de las relaciones 137 5.1.3 Comparación con los diagramas de bases de

datos relacionales 140 5.2 Comprensión de las relaciones 141

5.2.1 Identificación de dependencias (entidades débiles y relación identificable) 141 5.2.2 Patrones de relación 142

5.2.3 Equivalencia entre las relaciones 1-M y M-N 146

5.3 Clasificación en el modelo de

entidad-relación 147

5.3.1 Jerarquías de generalización 148

5.3.2 Restricciones de separación e integridad 148 5.3.3 Niveles múltiples de generalización 149

5.4 Resumen de notación y reglas de

diagramación 150

5.4.1 Resumen de notación 150 5.4.2 Reglas de diagramación 152

5.5 Comparación a otras notaciones 156

5.5.1 Variaciones ERD 156

5.5.2 Notación del diagrama de clases del lenguaje de modelado unificado 157

Reflexión final 159 Revisión de conceptos 160 Preguntas 160

Problemas 161

Referencias para ampliar su estudio 166

Capítulo 6

Desarrollo de modelo de datos para bases de

datos de negocios 167

Objetivos de aprendizaje 167 Panorama general 167

6.1 Análisis de problemas de modelado de datos para

negocios 168

6.1.1 Guías para analizar las necesidades de información de los negocios 168

6.1.2 Análisis de los requerimientos de información para la base de datos de la compañía de servicios de agua 171

6.2. Refinamientos a un ERD 173

6.2.1 Transformación de los atributos en tipos de entidad 173

6.2.2 División de atributos compuestos 173 6.2.3 Expansión de los tipos de entidad 173 6.2.4 Transformación de una entidad débil en una

entidad fuerte 174 6.2.5 Agregando historia 175

6.2.6 Añadiendo jerarquías de generalización 177 6.2.7 Resumen de transformaciones 178

6.3 Finalización de un ERD 179

6.3.1 Documentación de un ERD 179

6.3.2 Detección de errores comunes de diseño 181

6.4 Conversión de un ERD en tablas relacionales 183

6.4.1 Reglas básicas de conversión 183

6.4.2 Conversión de relaciones opcionales 1-M 188 6.4.3 Conversión de jerarquías de generalización 190 Apéndice 3.A

Sentencias CREATE TABLE para la base de datos de la universidad 73

Apéndice 3.B

Resumen de sintaxis en SQL:2003 74 Apéndice 3.C

Generación de valores únicos para llaves primarias 76

Capítulo 4

Formulación de consultas con SQL 79

Objetivos de aprendizaje 79 Panorama general 79

4.1 Antecedentes 80

4.1.1 Breve historia de SQL 80 4.1.2 Alcance de SQL 81

4.2 Empecemos con la sentencia SELECT 82

4.2.1 Problemas de tabla simple 84 4.2.2 Tablas enlazadas (joining) 89 4.2.3 Resumen de tablas con GROUP BY y

HAVING 91

4.2.4 Mejorar el formato de los resultados 95

4.3 Proceso de evaluación conceptual para las

sentencias SELECT 97

4.4 Preguntas críticas para la generación de

consultas 101

4.5 Mejorando las habilidades de generación de

consultas mediante ejemplos 103

4.5.1 Enlaces de tablas múltiples con el estilo de producto cruz 103

4.5.2 Enlazando tablas múltiples con el estilo del operador de enlace 106

4.5.3 Autoenlaces (self-joins) y enlaces múltiples entre dos tablas 109

4.5.4 Combinando enlaces y agrupación 110 4.5.5 Operadores de conjuntos tradicionales en

SQL 111 4.6 Sentencias de modificación de SQL 113 Reflexión final 115 Revisión de conceptos 116 Preguntas 119 Problemas 120

Referencias para ampliar su estudio 127

Apéndice 4.A

Resumen de sintaxis de SQL:2003 128 Apéndice 4.B

Diferencias de sintaxis entre los principales productos DBMS 131

PARTE TRES

MODELADO DE DATOS 133

Capítulo 5

Comprensión de los diagramas de

entidad-relación 135

Objetivos de aprendizaje 135 Panorama general 135

(23)

Contenido xxi

6.4.4 Conversión de relaciones 1-1 191 6.4.5 Ejemplo de conversión comprensiva 193

Reflexión final 195 Revisión de conceptos 196 Preguntas 196

Problemas 197

Referencias para ampliar su estudio 215

PARTE CUATRO

DISEÑO DE BASES DE DATOS

RELACIONALES 217

Capítulo 7

Normalización de tablas relacionales 219

Objetivos de aprendizaje 219 Panorama general 219

7.1 Panorama general del diseño de bases de datos

relacionales 220

7.1.1 Evite anomalías de modificación 220 7.1.2 Dependencias funcionales 221

7.2 Formas normales 223

7.2.1 Primera forma normal 224

7.2.2 Segunda y tercera forma normal 224 7.2.3 Forma normal de Boyce-Codd 227 7.2.4 Procedimiento de síntesis simple 229

7.3 Refinamiento de las relaciones M-way 232

7.3.1 Independencia de relación 232

7.3.2 Dependencias multivaluadas y cuarta forma normal 235

7.4 Formas normales de alto nivel 236

7.4.1 Quinta forma normal 236

7.4.2 Forma normal de llave de dominio 237

7.5 Cuestiones prácticas acerca de

normalización 237

7.5.1 Función de la normalización en el proceso de desarrollo de base de datos 237

7.5.2 Análisis del objetivo de normalización 238

Reflexión final 238 Revisión de conceptos 239 Preguntas 239

Problemas 240

Referencias para ampliar su estudio 248

Capítulo 8

Diseño físico de bases de datos 249

Objetivos de aprendizaje 249 Panorama general 249

8.1 Panorama general del diseño físico de bases de

datos 250

8.1.1 Niveles de almacenamiento de las bases de datos 250

8.1.2 Objetivos y restricciones 251 8.1.3 Entradas, salidas y entorno 252 8.1.4 Dificultades 253

8.2 Entradas del diseño físico de bases de datos 253

8.2.1 Perfiles de las tablas 253 8.2.2 Perfiles de la aplicación 255

8.3 Estructuras de archivos 256

8.3.1 Archivos secuenciales 256

8.3.2 Archivos hash 257

8.3.3 Archivos de árbol multiforme (Btrees) 259 8.3.4 Índices bitmap 266

8.3.5 Resumen de estructuras de archivos 267

8.4 Optimización de consultas 268

8.4.1 Tareas de traducción 268

8.4.2 Mejoras en las decisiones de optimización 271

8.5 Selección de índices 274

8.5.1 Definición del problema 274 8.5.2 Equilibrios y dificultades 276 8.5.3 Reglas de selección 277

8.6 Opciones adicionales del diseño físico de base de

datos 280

8.6.1 Desnormalización 280 8.6.2 Formateo de registros 282 8.6.3 Procesamiento paralelo 283

8.6.4 Otras formas de mejorar el desempeño 284

Reflexión final 285 Revisión de conceptos 285 Preguntas 286

Problemas 287

Referencias para ampliar su estudio 293

PARTE CINCO

DESARROLLO DE APLICACIONES CON

BASES DE DATOS RELACIONALES 295

Capítulo 9

Formulación avanzada de consultas con

SQL 297

Objetivos de aprendizaje 297 Panorama general 297

9.1 Problemas de enlace externo (outer join) 298

9.1.1 Soporte de SQL para problemas de enlace externo 298

9.1.2 Combinación de enlaces internos y externos 301

9.2 Entendiendo las consultas empaquetadas 303

9.2.1 Consultas empaquetadas tipo I 303

9.2.2 Formulaciones SQL limitadas para problemas de diferencia 305

9.2.3 Uso de consultas empaquetadas tipo II para problemas de diferencia 308

9.2.4 Consultas empaquetadas con la cláusula FROM 312

9.3 Formulación de problemas de división 314

9.3.1 Revisión del operador dividir 314 9.3.2 Problemas sencillos de división 315 9.3.3 Problemas de división avanzados 317

9.4 Consideraciones de valor nulo 320

9.4.1 Efecto en condiciones simples 320

9.4.2 Efecto sobre las condiciones compuestas 321 9.4.3 Efecto sobre los cálculos conjuntos y la

agrupación 323

Reflexión final 324 Revisión de conceptos 325 Preguntas 327

Problemas 328

(24)

xxii Contenido

Apéndice 9.A

Uso de sentencias múltiples en Microsoft Access 332 Apéndice 9.B

Resumen de la sintaxis de SQL:2003 333 Apéndice 9.C

Anotación de Oracle 8i para enlaces externos 335

Capítulo 10

Desarrollo de aplicaciones con vistas 339

Objetivos de aprendizaje 339 Panorama general 339

10.1 Antecedentes 340

10.1.1 Motivación 340 10.1.2 Definición de vista 340

10.2 Uso de vistas para recuperación 342

10.2.1 Uso de vistas en enunciados SELECT 342 10.2.2 Procesamiento de consultas con

referencias a vista 344

10.3 Actualización con el uso de vistas 346

10.3.1 Vistas de actualización con tabla única 346 10.3.2 Vistas de actualización y tabla múltiple 349

10.4 Uso de vistas en formularios jerárquicos 353

10.4.1 ¿Qué es un formulario jerárquico? 353 10.4.2 Relación entre formularios jerárquicos y

tablas 354

10.4.3 Habilidades de formulación de consultas para formularios jerárquicos 355

10.5 Uso de vistas en los reportes 359

10.5.1 ¿Qué es un reporte jerárquico? 359 10.5.2 Habilidades para la formulación de

consultas en reportes jerárquicos 361

Reflexión final 362 Revisión de conceptos 362 Preguntas 363

Problemas 364

Referencias para ampliar su estudio 371

Apéndice 10.A

Resumen de sintaxis de SQL: 2003 372 Apéndice 10.B

Reglas para vistas enlazadas que se pueden actualizar en Oracle 372

Capítulo 11

Procedimientos almacenados y

disparadores 375

Objetivos de aprendizaje 375 Panorama general 375

11.1 Lenguajes de programación de bases de datos y

PL/SQL 376

11.1.1 Motivación para los lenguajes de programación de base de datos 376 11.1.2 Aspectos de diseño 378

11.1.3 Sentencias PL/SQL 380

11.1.4 Ejecución de las sentencias PL/SQL en bloques anónimos 386 11.2 Procedimientos almacenados 388 11.2.1 Procedimientos PL/SQL 389 11.2.2 Funciones PL/SQL 392 11.2.3 Uso de cursores 395 11.2.4 Paquetes PL/SQL 398 11.3 Disparadores (triggers) 402

11.3.1 Motivación y clasificación de los disparadores 402

11.3.2 Disparadores de Oracle 403 11.3.3 Cómo entender la ejecución de un

disparador 414

Reflexión final 417 Revisión de conceptos 417 Preguntas 419

Problemas 420

Referencias para ampliar su estudio 422

Apéndice 11.A

Resumen de la sintaxis de SQL:2003 423

PARTE SEIS

DESARROLLO AVANZADO DE BASES DE

DATOS 425

Capítulo 12

Diseño e integración de vistas 427

Objetivos de aprendizaje 427 Panorama general 427

12.1 Motivación para el diseño e integración de

vistas 428

12.2 Diseño de vistas con formularios 429

12.2.1 Análisis de formularios 429 12.2.2 Análisis de las relaciones M-way

utilizando formularios 435

12.3 Integración de vistas 439

12.3.1 Enfoque de integración incremental y

paralelo 439

12.3.2 Ejemplos de integración de vistas 442

Reflexión final 444 Revisión de conceptos 444 Preguntas 445

Problemas 445

Referencias para ampliar su estudio 447

Capítulo 13

Desarrollo de base de datos para Student Loan

Limited 449

Objetivos de aprendizaje 449 Panorama general 449

13.1 Descripción del caso 450

13.1.1 Panorama general 450 13.1.2 Flujo de trabajo 450

13.2 Modelado conceptual de datos 455

13.2.1 ERD para el formulario de origen del préstamo 455

13.2.2 Integración incremental después de agregar una carta de declaración 455 13.2.3 Integración incremental después de

agregar el estado de cuenta 458 13.2.4 Integración incremental después

de agregar el reporte de actividad del préstamo 459

(25)

Contenido xxiii

13.3 Refinamiento del esquema conceptual 461

13.3.1 Conversión del esquema 461 13.3.2 Normalización 462

13.4 Diseño físico de la base de datos y desarrollo de

aplicaciones 464

13.4.1 Perfiles de aplicaciones y tablas 464 13.4.2 Selección de índices 465

13.4.3 Datos derivados y decisiones de desnormalización 466

13.4.4 Otras decisiones de implementación 467 13.4.5 Desarrollo de aplicaciones 467 Reflexión final 469 Revisión de conceptos 470 Preguntas 470 Problemas 471 Apéndice 13.A

Glosario de los campos del formulario y reporte 472 Apéndice 13.B

Enunciados CREATE TABLE 474

PARTE SIETE

ADMINISTRACIÓN DE ENTORNOS DE

BASES DE DATOS 479

Capítulo 14

Administración de datos y bases de

datos 481

Objetivos de aprendizaje 481 Panorama general 481

14.1 Contexto organizacional para administrar bases

de datos 482

14.1.1 Apoyo de las bases de datos en la toma de decisiones administrativas 482

14.1.2 Administración de los recursos de información para el manejo del conocimiento 483 14.1.3 Responsabilidades de los administradores

de datos y los administradores de bases de datos 484

14.2 Herramientas de administración de bases

de datos 485

14.2.1 Seguridad 486

14.2.2 Restricciones de integridad 490 14.2.3 Administración de disparadores y

procedimientos almacenados 493

14.2.4 Manipulación del diccionario de datos 495

14.3 Procesos para especialistas en bases

de datos 497

14.3.1 Planeación de datos 497

14.3.2 Selección y evaluación de los sistemas de administración de bases de datos 498

14.4 Administración de entornos de bases

de datos 503

14.4.1 Procesamiento de transacciones 503 14.4.2 Procesamiento de data warehouses 503 14.4.3 Entornos distribuidos 504

14.4.4 Administración de bases de datos de objetos 505

Reflexión final 505 Revisión de conceptos 506

Preguntas 508 Problemas 509

Referencias para ampliar su estudio 511

Apéndice 14.A Resumen de la sintaxis SQL: 2003 511

Capítulo 15

Administración de transacciones 515

Objetivos de aprendizaje 515 Panorama general 515

15.1 Aspectos básicos de las transacciones de bases

de datos 516

15.1.1 Ejemplos de transacciones 516 15.1.2 Propiedades de la transacción 518

15.2 Control de la concurrencia 519

15.2.1 Objetivo del control de concurrencia 520 15.2.2 Problemas de interferencia 520

15.2.3 Herramientas de control de concurrencia 522

15.3 Administración de recuperaciones 526

15.3.1 Dispositivos de almacenamiento de datos y tipos de fallas 526

15.3.2 Herramientas de recuperación 527 15.3.3 Procesos de recuperación 529

15.4 Aspectos del diseño de transacciones 533

15.4.1 Límite de transacción y puntos decisivos 533

15.4.2 Niveles de aislamiento 536

15.4.3 Momento de imposición de la restricción de integridad 537

15.4.4 Puntos de protección 539

15.5 Administración del flujo de trabajo 539

15.5.1 Caracterización de los flujos de trabajo 540 15.5.2 Tecnologías que permiten el flujo de

trabajo 540

Reflexión final 542 Revisión de conceptos 543 Preguntas 544

Problemas 545

Referencias para ampliar su estudio 551

Apéndice 15.A

Resumen de sintaxis de SQL:2003 551

Capítulo 16

Tecnología y administración de data

warehouse 553

Objetivos de aprendizaje 553 Panorama general 553

16.1 Conceptos básicos 554

16.1.1 Procesamiento de transacciones versus apoyo a las decisiones 554

16.1.2 Características de los data warehouse 554 16.1.3 Arquitecturas para data warehouse 556 16.1.4 Minería de datos 558

16.1.5 Aplicaciones de los data warehouse 559

16.2 Representación multidimensional de

los datos 560

16.2.1 Ejemplo de un cubo de datos multidimensional 560

Referencias

Documento similar