Administración de base de datos diseño y desarrollo de aplicaciones

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Administración de bases de datos Diseño y desarrollo de aplicaciones

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 NUEVA DELHI l SAN FRANCISCO l SINGAPUR l SAN LUIS l SIDNEY l TORONTO

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

Impreso en México

Printed in Mexico

Deseo dedicar este libro a mis hijas Julia y Aimee. Sus sonrisas y afecto me inspiran día con día.

Acerca del autor 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 Transactions on Software Engineering), ACM (Communications y Computing Surveys) e INFORMS (Informs Journal on Computing e Information Systems Research). Su investigación abarca varias 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.

vi

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 futuras. 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 significativamente 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 mantenerse adelante de sus competidores y controlar los costos de los mandatos industriales y gubernamentales. 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 procesamiento 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 caracterí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 iniciativas de la industria enfocadas al comercio electrónico. No obstante, las soluciones para las preocupaciones de Paul Hong no se encuentran únicamente 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 vii

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í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 recomendaciones 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 ampliada 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 verificació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 edición extiende los complementos de cada capítulo. Esta edició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

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 bastante amplio. La parte 7 abarca la administración de la base de datos y los ambientes de procesamiento 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 competencia. 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 habilidades 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 Assistant. 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 presentan 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 administració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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Características únicas Capítulo único que proporciona una introducción conceptual al proceso de desarrollo de bases de datos Representación visual de los operadores del álgebra relacional Lineamientos para la formulación de bases de datos; cobertura para Oracle SQL, Access y SQL:2003 Énfasis en la notación ERD, reglas del negocio, reglas de diagramación con apoyo en el ER Assistant 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 Lineamientos y procedimientos de normalización 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 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 Reglas para vistas actualizables, lineamientos para el requerimiento de datos para formularios e informes Capítulo único que incluye conceptos y prácticas de los lenguajes de programación de bases de datos, procedimientos almacenados y disparadores Capítulo único que abarca conceptos y prácticas relacionados con la integración y diseño de las vistas Capítulo único que proporciona un caso de estudio completo acerca del procesamiento de préstamos estudiantiles Lineamientos para los procesos importantes empleados por los administradores de bases de datos Lineamientos para el diseño de transacciones y cobertura de temas avanzados 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 Cobertura integrada del procesamiento de cliente-servidor, procesamiento paralelo de bases de datos, y bases de datos distribuidas Cobertura de temas avanzados de características de objetos-relacionales en SQL:2003 y Oracle 10g

x

Prefacio

TABLA P.2 Cobertura de sentencias SQL por capítulo

Capítulo

Sentencias SQL

3 4 9

CREATE TABLE SELECT, INSERT, UPDATE, DELETE SELECT (consultas anidadas, enlaces externos, administración de valores nulos); cobertura de Access, Oracle 10g y SQL:2003 CREATE VIEW, consultas y sentencias de manipulación que emplean vistas CREATE PROCEDURE (Oracle), CREATE TRIGGER (Oracle y SQL:2003) GRANT, REVOKE, CREATE ROLE, CREATE ASSERTION, cláusula CHECK de la sentencia CREATE TABLE, CREATE DOMAIN COMMIT, ROLLBACK, SET TRANSACTION, SET CONSTRAINTS, SAVEPOINT CREATE MATERIALIZED VIEW (Oracle), extensiones de la cláusula GROUP BY (Oracle y SQL:2003), CREATE DIMENSION (Oracle) CREATE TYPE, CREATE TABLE (tablas capturadas y subtablas), SELECT (identificadores de objetos, expresiones de trayectoria, operador diferencial); cobertura SQL:2003 y Oracle 10g

10 11 14 15 16 18

TABLA P.3

Capítulo

Lineamientos para la solución de problemas por capítulo

3 4 5 6 7 8 9 10 11 12 14 15 16 17 18





Lineamientos para la solución de problemas Representación visual de las relaciones y de los operadores del álgebra relacional Proceso de evaluación conceptual, preguntas de formulación de consultas Reglas de diagramación 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 Lineamientos para identificar las dependencias funcionales, procedimiento de síntesis simple Reglas de selección de índices, lineamientos de afinación de SQL Lineamientos de formulación de problemas de diferencia, evaluación de consultas anidadas, método de conteo para problemas de división Reglas para consultas de enlace actualizables, pasos para analizar los requerimientos de datos en formularios e informes Procedimiento de ejecución de disparadores Pasos para el análisis de formularios, estrategias de integración de vistas Lineamientos para administrar los procedimientos y disparadores almacenados; proceso de planeación de datos, proceso de selección de DBMS Línea de tiempo de la transacción, lineamientos de diseño de transacción 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 Progresión de los niveles de transferencia para bases de datos distribuidas Arquitecturas de bases de datos orientadas a objetos, comparación entre representación relacional y representación relacional orientada a objetos

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

Prefacio xi











avanzados. El sitio web contiene las sentencias CREATE TABLE, datos muestra, sentencias 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 personal, 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 problemas 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 oportunidades 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 descritos 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, desarrollo 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 warehouse, 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 intentará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 proporcionan 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 administració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

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 posiblemente 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 programació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 administració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 fundamento 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 información útil de las bases de datos relacionales. El capítulo 4 presenta lineamientos para la formulació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ácticas 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 formulación de consultas, la especificació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

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 ambientes 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 procesamiento 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 profesionales 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.

3.

É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 fundamentales del modelado de datos, normalización, formulación de consultas y desarrollo de aplicaciones. El libro y los complementos asociados proporcionan una riqueza de preguntas, 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 tendrán motivación para un mayor aprendizaje sobre bases de datos y un cambio en su manera de pensar la computación en general. Material introductorio y avanzado. Los alumnos de negocios que empleen este libro pueden 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:

xiv

Prefacio

• • • • • • • • • • •

Objetivos de aprendizaje que se enfocan en el conocimiento y habilidades que los alumnos 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 aparecen 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-aprendizaje, 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, desarrollo 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 aplicació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.

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, disparadores 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 empresariales. 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 alumnos, 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 tercera 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 The Ohio State University

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 University of Arkansas—Little Rock

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 complementos, así como por su apoyo moral a mi esfuerzo. Michael V. Mannino

Contenido breve PARTE UNO

PARTE SEIS

Introducción a los ambientes de base de datos 1

Desarrollo avanzado de bases de datos 425

1 Introducción a la administración de base de datos 3 2 Introducción al desarrollo de bases de datos 23

427

13 Desarrollo de base de datos para Student Loan Limited 449

PARTE SIETE

PARTE DOS

Administración de entornos de bases de datos 479

Comprendiendo las bases de datos relacionales 43 3 El modelo relacional de datos

14 Administración de datos y bases de datos 481

45

4 Formulación de consultas con SQL

79

15 Administración de transacciones

515

16 Tecnología y administración de data warehouse 553

PARTE TRES Modelado de datos

12 Diseño e integración de vistas

133

5 Comprensión de los diagramas de entidadrelación 135

17 Procesamiento cliente-servidor, procesamiento de bases de datos paralelas y bases de datos distribuidas 605

6 Desarrollo de modelo de datos para bases de datos de negocios 167

18 Sistemas de administración de bases de datos de objetos 641

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

Desarrollo de aplicaciones con bases de datos relacionales 295 9 Formulación avanzada de consultas con SQL 297

11 Procedimientos almacenados y disparadores 375

xviii

679

BIBLIOGRAFÍA

PARTE CINCO

10 Desarrollo de aplicaciones con vistas 339

GLOSARIO

ÍNDICE

698

696

Contenido PARTE UNO

2.2.4 En busca de la implementación eficiente

INTRODUCCIÓN A LOS AMBIENTES DE BASE DE DATOS 1 Capítulo 1 Introducción a la administración de base de datos 3

2.3

2.4

1.3

1.4

Desarrollo de la tecnología de base de datos y la estructura de mercado 11

PARTE DOS

COMPRENDIENDO LAS BASES DE DATOS RELACIONALES 43

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

Capítulo 3 El modelo relacional de datos

Arquitecturas de los sistemas de administración de bases de datos 14

Objetivos de aprendizaje Panorama general 45

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

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

Características de la base de datos 4 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

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 Reflexión final 20 Revisión de conceptos 20 Preguntas 21 Problemas 22 Referencias para ampliar su estudio 22

Sistemas de información

2.2

Objetivos del desarrollo de base de datos

23

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

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

45

45

Elementos básicos

46

3.1.1 Tablas 46 3.1.2 Conexiones entre tablas 47 3.1.3 Terminología alternativa 49

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

19

Objetivos de aprendizaje 23 Panorama general 23

2.1

3.1

3.2

Capítulo 2 Introducción al desarrollo de bases de datos 23

28

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

Objetivos de aprendizaje 3 Panorama general 3

1.1 1.2

Proceso de desarrollo de la base de datos

28

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 Referencias para ampliar su estudio 73

xix

xx

Contenido

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

Antecedentes

4.2

Empecemos con la sentencia SELECT

4.4 4.5

Comprensión de las relaciones

5.3

Clasificación en el modelo de entidadrelación 147

80 80

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

5.4

Sentencias de modificación de SQL Reflexión final 115 Revisión de conceptos 116 Preguntas 119 Problemas 120 Referencias para ampliar su estudio

5.5

127

MODELADO DE DATOS

133

Capítulo 5 Comprensión de los diagramas de entidadrelación 135 Objetivos de aprendizaje Panorama general 135

135

Resumen de notación y reglas de diagramación 150 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 Panorama general 167

6.1

167

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

113

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

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.4.1 Resumen de notación 150 5.4.2 Reglas de diagramación 152

Proceso de evaluación conceptual para las sentencias SELECT 97 Preguntas críticas para la generación de consultas 101 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

5.2

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

4.1

4.1.1 Breve historia de SQL 4.1.2 Alcance de SQL 81

Introducción a los diagramas de entidadrelació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

79

Objetivos de aprendizaje 79 Panorama general 79

4.3

5.1

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 6.4

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

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

Contenido xxi

6.4.4 Conversión de relaciones 1-1 191 6.4.5 Ejemplo de conversión comprensiva Reflexión final 195 Revisión de conceptos 196 Preguntas 196 Problemas 197 Referencias para ampliar su estudio 215

8.3.2 8.3.3 8.3.4 8.3.5

193

Archivos hash 257 Archivos de árbol multiforme (Btrees) 259 Índices bitmap 266 Resumen de estructuras de archivos 267

8.4

Optimización de consultas

PARTE CUATRO

8.5

Selección de índices

Capítulo 7 Normalización de tablas relacionales

8.6

Opciones adicionales del diseño físico de base de datos 280

DISEÑO DE BASES DE DATOS RELACIONALES 217

Objetivos de aprendizaje Panorama general 219

7.1

Panorama general del diseño de bases de datos relacionales 220

7.3

7.4 7.5

Formas normales 7.2.1 7.2.2 7.2.3 7.2.4

220

223

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

Refinamiento de las relaciones M-way

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

Objetivos de aprendizaje Panorama general 249

8.1

Capítulo 9 Formulación avanzada de consultas con SQL 297 Objetivos de aprendizaje Panorama general 297

237

Cuestiones prácticas acerca de normalización 237

Capít