Administracion de Bases de Datos 3edi Mannino

738

Transcript of Administracion de Bases de Datos 3edi Mannino

  • Administracinde bases de datos

    Diseo y desarrollo de aplicaciones

  • Administracinde bases de datos

    Diseo y desarrollo de aplicaciones

    Tercera edicin

    Michael V. ManninoUniversity of Colorado at Denver

    Revisin tcnicaCarlos Villegas Quezada

    Universidad Iberoamericana, Ciudad de Mxico

    MXICO l BOGOT l BUENOS AIRES l CARACAS l GUATEMALA l LISBOA l MADRIDNUEVA YORK l SAN JUAN l SANTIAGO l AUCKLAND l LONDRES l MILN l MONTREAL

    NUEVA DELHI l SAN FRANCISCO l SINGAPUR l SAN LUIS l SIDNEY l TORONTO

  • Director Higher Education: Miguel ngel Toledo CastellanosDirector editorial: Ricardo del Bosque AlaynEditor sponsor: Pablo E. Roig VzquezEditora de desarrollo: Ana Laura Delgado RodrguezSupervisor de produccin: Zeferino Garca Garca

    Traduccin: Ekaterina Guerrero Ushakova Jos Julin Daz Daz

    ADMINISTRACIN DE BASES DE DATOS. Diseo y desarrollo de aplicacionesTercera edicin

    Prohibida la reproduccin total o parcial de esta obra, por cualquier medio, sin la autorizacin escrita del editor.

    DERECHOS RESERVADOS 2007 respecto a la primera edicin en espaol porMcGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V.A Subsidiary of The McGraw-Hill Companies, Inc. Edicio Punta Santa Fe Prolongacin Paseo de la Reforma 1015, Torre A Piso 17, Colonia Desarrollo Santa Fe, Delegacin lvaro Obregn C.P. 01376, Mxico, D.F. Miembro de la Cmara Nacional de la Industria Editorial Mexicana, Reg. Nm. 736

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

    Traducido de la tercera edicin de Database Design, Application Development, & AdministrationCopyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

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

    1234567890 09865432107

    Impreso en Mxico Printed in Mexico

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

  • Acerca del autor

    vi

    Michael V. Mannino ha estado involucrado en el campo de las bases de datos desde 1980. Ha impartido cursos de administracin 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 maestra en Administracin de Sistemas de Informacin (MIS), maestra en Administracin (MBA) y programas de doctorado, adems de cursos corporativos en programas de reentrenamiento. Ha estado activo en la investigacin 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 (Communications y Computing Surveys) e INFORMS (Informs Journal on Computing e Information Systems Research). Su investigacin abarca va-rias encuestas populares y artculos de tutora, as como mltiples documentos que describen trabajo original de investigacin. En el captulo 12 del presente libro han sido incorporados los resultados prcticos de su investigacin sobre una metodologa orientada a formas aplicadas al diseo de las bases de datos.

  • Prefacio

    Ejemplo de motivacin

    Paul Hong, propietario de International Industrial Adhesives, Inc., se encuentra eufrico por el desempeo reciente de su negocio, pero toma precauciones respecto a sus perspectivas futuras. Sus ingresos y ganancias crecen ms all de cualquier pronstico mientras que sus gastos se mantienen jos. l atribuye esta situacin a la recuperacin econmica internacional, al uso de outsourcing para focalizar sus recursos y al desarrollo estratgico de las tecnologas de la informacin. Su euforia sobre el desempeo reciente est atemperado por las perspectivas fu-turas. El xito de su negocio ha atrado a nuevos competidores que se dirigen hacia sus clientes ms rentables. El resultado de las nuevas y costosas iniciativas de la industria en el comercio electrnico es incierto. Las nuevas regulaciones gubernamentales incrementaran signicativa-mente el costo de su operacin como empresa pblica, lo que amenaza sus planes de una oferta pblica 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 n de asegurar el crecimiento continuo de su empresa. Paul Hong necesita evaluar las inversiones en tecnologas de la informacin 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 ms 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 solucin costo-efectiva para soportar la iniciativa de la industria por el comercio electrnico. Para preparar su operacin como empresa pblica, debe realizar auditoras de tecnologas de la informacin y cumplir con los requisitos de informacin que exige el gobierno a este tipo de empresas. Por todo esto, l no est seguro sobre el uso de estndares y tecnologas propietarias o no propietarias. Estas preocupaciones implican el uso signicativo de la tecnologa de bases de datos como parte de la creciente infraestructura de cmputo en las empresas. Las caractersticas de pro-cesamiento de transacciones en los DBMS empresariales proporcionan el fundamento para asegurar la conabilidad del procesamiento en lnea de los pedidos con el n de apoyar las iniciativas empresariales para el cada vez ms frecuente uso del comercio electrnico. Las ca-ractersticas 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 tecnologa de bases de datos paralelas puede mejorar el desempeo y la conabilidad de las consultas de procesamiento de transacciones y de almacenes de datos por medio de adiciones incrementales en la capacidad de clculo. Las caractersticas 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 electrnico. No obstante, las soluciones para las preocupaciones de Paul Hong no se encuentran nica-mente en la tecnologa. El uso del nivel apropiado de tecnologa implica la visin para el futuro de la organizacin, una comprensin ms profunda de la misma y las habilidades tradicionales de administracin 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 ecaces puedan desarrollarse para International Industrial Adhesives, Inc.

    Introduccin

    Este libro de texto ofrece los fundamentos para comprender la tecnologa de bases de datos que da apoyo a cuestiones empresariales de cmputo tales como las que enfrenta Paul Hong. Como

    vii

  • viii Prefacio

    nuevo alumno de la administracin de bases de datos, es necesario que usted comprenda primero los conceptos fundamentales de la administracin de bases de datos y del modelo relacional de datos. Despus, necesita dominar sus habilidades en el diseo 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 bsicos y avanzados en la formulacin de consultas, modelado de datos, normalizacin y requerimientos de los datos de las aplicaciones, adems de la personalizacin de las aplicaciones de bases de datos. Despus de establecer dichas habilidades, usted estar listo para estudiar la funcin 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 tecnologas fundamentales de las bases de datos en cada ambiente de procesamiento y relaciona estas tecnologas con los avances ms recientes del comercio electrnico y el cmputo empresarial.

    Lo nuevo en la tercera edicin

    La tercera edicin tiene revisiones signicativas hechas a la segunda edicin, y a la vez conserva la probada pedagoga de las otras dos ediciones. La experiencia obtenida al haber dado clases a alumnos de licenciatura y cursos superiores, as como la retroalimentacin recibida por quienes adoptaron la segunda edicin, han llevado al desarrollo de nuevo material y renamientos del anterior. Los cambios ms signicativos hechos en la tercera edicin se relacionan con los cap-tulos destinados al desarrollo de las bases de datos (captulos 5 al 8): las reglas de negocios en el modelado de datos, lineamientos para analizar las necesidades de informacin de las empresas, cobertura expandida de los errores de diseo en el modelado de datos, cobertura expandida de la identicacin de la dependencia funcional, y nueva cobertura en cuanto a las recomendacio-nes para optimizar las consultas. Esta nueva cobertura fortalece la metodologa probada en la segunda edicin, misma que proporcionaba la separacin de la estructura de los diagramas de entidad-relacin de la prctica del modelado empresarial de datos, una herramienta de modelado de datos personalizado (ER Assistant) para eliminar la confusin de la notacin y el nfasis en la normalizacin como herramienta de renamiento para el desarrollo de las bases de datos. Para el desarrollo de aplicaciones de bases de datos, la tercera edicin ofrece SQL:2003, un cambio revolucionario con respecto a SQL:1999. La tercera edicin explica el alcance de SQL:2003, la dicultad de conformidad con el estndar y los nuevos elementos del mismo. Numerosos renamientos de la cobertura para el desarrollo de aplicaciones de bases de datos amplan la cobertura probada de las dos primeras ediciones: lineamientos para la formulacin de consultas, problemas de enlace avanzados, recomendaciones para la formulacin de consultas para informes y formularios jerrquicos, y disparadores para restricciones suaves. Para la administracin de bases de datos y los entornos de procesamiento, la tercera edicin proporciona cobertura expandida para la nueva tecnologa de SQL:2003 y de Oracle 10g. Los temas nuevos ms signicativos son la tecnologa 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 veri-cacin de puntos de recuperacin de una base de datos, el tiempo de interaccin del usuario en el diseo de la transaccin, la representacin del tiempo en las tablas de dimensin, la madurez del almacn de datos, los servicios web en el procesamiento de bases de datos cliente-servidor y la aceptacin comercial de las arquitecturas de bases de datos de objetos. Adems del nuevo material y de los renamientos hechos al que ya exista, la tercera edi-cin extiende los complementos de cada captulo. Esta edicin contiene preguntas y problemas nuevos al nal de cada captulo, adems de los resmenes 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 exmenes muestra. La tercera edicin tiene una organizacin capitular ms na con siete partes, para poder ofrecer bloques de aprendizaje ms pequeos. La parte 1 abarca material introductorio acerca de la administracin de bases de datos y el desarrollo de las mismas con el n de proporcionar una

  • Prefacio ix

    base conceptual para el conocimiento y habilidades detalladas en los captulos subsecuentes. La parte 2 incluye los elementos esenciales para el modelo de datos relacional para la creacin de bases de datos y la formulacin de consultas. El desarrollo de las bases de datos se divide entre el modelado de datos de la parte 3 y el diseo de tablas fsicas de la parte 4. La parte 5 abarca un desarrollo ms avanzado de aplicaciones que cubre los problemas de enlace, vistas de las bases de datos, procedimientos y disparadores almacenados. La parte 6 incluye informacin sobre el desarrollo de bases de datos con una integracin de la vista y un estudio de caso bas-tante amplio. La parte 7 abarca la administracin 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 edicin.

    Ventajas competitivas

    Este libro de texto ofrece caractersticas sobresalientes que no tienen par en los libros de la com-petencia. Las caractersticas nicas son una cobertura amplia de SQL tanto para Access como para Oracle, lineamientos para la solucin de problemas para ayudar a la adquisicin de habilida-des fundamentales, bases de datos muestra y ejemplos diseados con todo cuidado, un completo estudio de caso, cobertura de temas avanzados, material integrado de laboratorio y el ER Assis-tant. Estas caractersticas proveen al lector de un paquete completo para un curso introductorio de bases de datos. Cada una de estas caractersticas se describe con mayor detalle en la lista que se presenta a continuacin, al tiempo que la tabla P.1 resume las ventajas competitivas por captulo.

    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 captulo. 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 bsicos, intermedios y avanzados.

    Cobertura de Access y Oracle. Los captulos de las partes 2 y 5 ofrecen una cobertura detallada de Access y Oracle SQL. Se muestran ejemplos para ambos sistemas de admi-nistracin de bases de datos para las sentencias SELECT, INSERT, UPDATE, DELETE y CREATE VIEW. Hay una cobertura signicativa de las nuevas caractersticas de Oracle 10g

    TABLA P.1

    Resumen de ventajas competitivas por captulo

    Captulo Caractersticas nicas

    2 Captulo nico que proporciona una introduccin conceptual al proceso de desarrollo de bases de datos3 Representacin visual de los operadores del lgebra relacional4 Lineamientos para la formulacin de bases de datos; cobertura para Oracle SQL, Access y SQL:20035 nfasis en la notacin ERD, reglas del negocio, reglas de diagramacin con apoyo en el ER Assistant6 Estrategias para analizar las necesidades de informacin del negocio, transformacin del modelado de datos y

    deteccin de errores comunes de diseo7 Lineamientos y procedimientos de normalizacin8 Reglas de seleccin de ndices, lineamientos de anacin de SQL, cobertura integrada de la optimizacin de

    consultas, estructuras de archivos y seleccin de ndices9 Lineamientos de formulacin de consultas, cobertura para Oracle 10g, Access y SQL:2003; cobertura de temas

    avanzados de consultas anidadas, problemas de divisin y administracin del valor nulo10 Reglas para vistas actualizables, lineamientos para el requerimiento de datos para formularios e informes11 Captulo nico que incluye conceptos y prcticas de los lenguajes de programacin de bases de datos,

    procedimientos almacenados y disparadores12 Captulo nico que abarca conceptos y prcticas relacionados con la integracin y diseo de las vistas13 Captulo nico que proporciona un caso de estudio completo acerca del procesamiento de prstamos estudiantiles14 Lineamientos para los procesos importantes empleados por los administradores de bases de datos15 Lineamientos para el diseo de transacciones y cobertura de temas avanzados16 Modelo de madurez del data warehouse para evaluar el impacto de la tecnologa en las organizaciones, cobertura

    de temas avanzados de caractersticas 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

    18 Cobertura de temas avanzados de caractersticas de objetos-relacionales en SQL:2003 y Oracle 10g

  • x Prefacio

    SQL que aparece en los captulos 8, 9, 11, 15, 16 y 18. Adems, los captulos de las partes 2 y 5 cubren la sintaxis de SQL:2003 para dar apoyo a la instruccin que se d con otros prominentes sistemas de administracin de bases de datos.

    Lineamientos de solucin de problemas. Los alumnos necesitan ms 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 sistemtica. Los lineamientos proporcionan modelos mentales que ayudan a los alumnos a aplicar los conceptos a la solucin de problemas bsicos y avanzados. La tabla P.3 resume los lineamientos para la solucin de problemas que aparecen en cada captulo.

    Bases de datos muestra y ejemplos. A lo largo de los captulos 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 captulo, mientras que la base de datos de captura de rdenes se emplea en los problemas al nal del captulo. Los numerosos ejemplos y problemas con estas bases de datos resaltan las habilidades fundamentales en la formulacin de consultas y los requerimientos de datos para las aplicaciones. Las versiones revisadas en las bases de datos proporcionan la separacin entre los ejemplos bsicos y los

    TABLA P.2 Cobertura de senten-cias SQL por captulo

    Captulo Sentencias SQL

    3 CREATE TABLE4 SELECT, INSERT, UPDATE, DELETE9 SELECT (consultas anidadas, enlaces externos, administracin de valores nulos); cobertura

    de Access, Oracle 10g y SQL:200310 CREATE VIEW, consultas y sentencias de manipulacin que emplean vistas11 CREATE PROCEDURE (Oracle), CREATE TRIGGER (Oracle y SQL:2003)14 GRANT, REVOKE, CREATE ROLE, CREATE ASSERTION, clusula CHECK de la sentencia

    CREATE TABLE, CREATE DOMAIN15 COMMIT, ROLLBACK, SET TRANSACTION, SET CONSTRAINTS, SAVEPOINT16 CREATE MATERIALIZED VIEW (Oracle), extensiones de la clusula GROUP BY (Oracle y

    SQL:2003), CREATE DIMENSION (Oracle)18 CREATE TYPE, CREATE TABLE (tablas capturadas y subtablas), SELECT (identicadores de

    objetos, expresiones de trayectoria, operador diferencial); cobertura SQL:2003 y Oracle 10g

    Captulo Lineamientos para la solucin de problemas

    3 Representacin visual de las relaciones y de los operadores del lgebra relacional4 Proceso de evaluacin conceptual, preguntas de formulacin de consultas5 Reglas de diagramacin6 Lineamientos para analizar las necesidades de informacin de los negocios,

    transformaciones de diseo, identicacin de errores comunes de diseo, reglas de conversin

    7 Lineamientos para identicar las dependencias funcionales, procedimiento de sntesis simple

    8 Reglas de seleccin de ndices, lineamientos de anacin de SQL9 Lineamientos de formulacin de problemas de diferencia, evaluacin de consultas

    anidadas, mtodo de conteo para problemas de divisin10 Reglas para consultas de enlace actualizables, pasos para analizar los requerimientos de

    datos en formularios e informes11 Procedimiento de ejecucin de disparadores12 Pasos para el anlisis de formularios, estrategias de integracin de vistas14 Lineamientos para administrar los procedimientos y disparadores almacenados; proceso

    de planeacin de datos, proceso de seleccin de DBMS15 Lnea de tiempo de la transaccin, lineamientos de diseo de transaccin16 Lineamientos para las representaciones de bases de datos relacionales de datos

    multidimensionales, lineamientos para la representacin del tiempo en tablas de dimensin, desventajas para la actualizacin de un almacn de datos

    17 Progresin de los niveles de transferencia para bases de datos distribuidas18 Arquitecturas de bases de datos orientadas a objetos, comparacin entre representacin

    relacional y representacin relacional orientada a objetos

    TABLA P.3 Lineamientos para la solucin de proble-mas por captulo

  • Prefacio xi

    avanzados. El sitio web contiene las sentencias CREATE TABLE, datos muestra, senten-cias de manipulacin de datos y archivos de bases de datos en Access para ambas bases de datos. Los captulos de las partes 3, 4 y 7 utilizan bases de datos adicionales para ampliar la exposicin del alumno a situaciones de negocios ms diversas. Los alumnos necesitan exponerse a varias situaciones empresariales para adquirir las habilidades indispensables para el diseo de las bases de datos y comprender los conceptos ms 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 acadmicos, rastreo nanciero perso-nal, reservaciones en lneas areas, ocinas de colocaciones, aseguradoras de automviles, rastreo de ventas en almacenes y ventas de bienes races, complementan las bases de datos de la universidad y de captura de rdenes en los ejemplos de los captulos y en los proble-mas al nal del captulo.

    Estudio de caso completo. El caso de Student Loan Limited se encuentra al nal de la parte 6. La descripcin del caso y su solucin integran los conceptos que los alumnos aprendieron en los 12 captulos anteriores sobre el desarrollo de aplicaciones y el diseo de bases de datos. Los problemas de seguimiento que aparecen al nal del captulo proporcionan oportu-nidades adicionales para que los estudiantes apliquen su conocimiento en un caso realista.

    Laboratorio opcional integrado. La administracin de bases de datos se ensea mejor cuando los conceptos se ligan estrechamente con la prctica del diseo e implementacin 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 disposicin 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 prctica. 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-relacin del modelado de datos, como se presentan en los captulos 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 diagramacin, el ER Assitant conrma las reglas de diagramacin presentadas en el captulo 5.

    Temas actuales e incisivos. El libro cubre algunos temas que no aparecen en otros libros de texto de la competencia: formulacin avanzada de consultas, vistas actualizables, desarro-llo y administracin de procedimientos y disparadores almacenados, requisitos de datos para los formularios e informes de captura de datos, integracin de vistas, administracin para el proceso de actualizacin 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, caractersticas de los data warehouses en SQL:2003 y Oracle 10g, y principios de diseo de transacciones. Estos temas permiten que los alumnos motivados obtengan una comprensin ms amplia de la administracin de las bases de datos.

    Paquete completo para el curso. Segn sea el criterio del curso, algunos alumnos inten-tarn 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 prctica. Este libro de texto y su material complementario proporcio-nan una fuente ms completa, integrada y menos costosa para el alumno.

    Audiencia del texto

    Este libro ha sido diseado para alumnos que cursan la licenciatura o cursos superiores de admi-nistracin de bases de datos. En el nivel licenciatura, los alumnos deben tener una concentracin (mayor o menor) o inters activo en los sistemas de informacin. Para las instituciones de dos

  • xii Prefacio

    aos, el instructor quiz quiera saltarse los temas avanzados y poner ms nfasis en el manual opcional de laboratorio de Access. Los alumnos de licenciatura debern tener un primer curso que cubra los conceptos fundamentales, hojas de clculo, procesadores de palabras y posible-mente una breve introduccin a las bases de datos. Un curso previo de programacin puede resultar de utilidad (excepto para el captulo 11), aunque no es obligatorio. Los dems captulos hacen referencia a ciertos conceptos de programacin, pero no se incluye el cdigo de escritura. Para entender plenamente el captulo 11, es esencial contar con experiencia previa en programa-cin. Sin embargo, los conceptos bsicos del captulo 11 pueden abarcarse incluso si los alumnos no tienen conocimientos previos de programacin de computadoras. En niveles superiores, este libro es adecuado para los programas de maestra en adminis-tracin o maestra en ciencias (en sistemas de informacin). El material avanzado de este libro debe ser especialmente adecuado para los alumnos que estudian la maestra en ciencias.

    Organizacin

    Como el ttulo lo indica, Administracin de base de datos. Diseo y desarrollo de aplicaciones enfatiza las tres series de actividades. Antes de adquirirlas, los alumnos necesitan tener un fun-damento de los conceptos bsicos. La parte 1 proporciona los antecedentes conceptuales para un estudio detallado subsecuente del diseo de bases de datos, el desarrollo de aplicaciones para bases de datos y la administracin de bases de datos. Los captulos de la parte 1 presentan los principios de la administracin de bases de datos y una visin general conceptual del proceso de desarrollo de bases de datos. La parte 2 ofrece conocimiento funcional acerca del modelo relacional de datos. El captulo 3 abarca la denicin de tablas, las reglas de integridad y los operadores para recuperar la infor-macin til de las bases de datos relacionales. El captulo 4 presenta lineamientos para la formu-lacin de consultas y numerosos ejemplos de sentencias en SQL. Las partes 3 y 4 enfatizan las habilidades prcticas y los lineamientos de diseo para el proceso de desarrollo de bases de datos. Los estudiantes que deseen hacer una carrera como especialistas en bases de datos debern tener la capacidad de desempear cada uno de los pasos del proceso de desarrollo de bases de datos. Debern aprender las habilidades del modelado de datos, la conversin de esquemas, la normalizacin y el diseo fsico de las bases de datos. Los captulos de la parte 3 (captulos 5 y 6) abarcan el modelado de datos por medio del modelo de entidad-relacin. El captulo 5 incluye la estructura de los diagramas de entidad-relacin, mientras que el captulo 6 presenta el uso de los diagramas de entidad-relacin para analizar las necesidades de informacin del negocio. Los captulos de la parte 4 (captulos 7 y 8) presentan los principios y prctica del diseo de tablas para el diseo lgico y fsico. El captulo 7 estudia la motivacin, las dependencias funcionales, los formatos normales y las consideraciones prc-ticas de la normalizacin de datos. El captulo 8 ofrece una amplia cobertura del diseo fsico de las bases de datos, incluidos objetivos, entradas, estructura de archivos y antecedentes para la optimizacin de consultas, as como importantes opciones de diseo. La parte 5 proporciona un fundamento para la construccin de aplicaciones para bases de datos, de modo que ayuda a los alumnos a adquirir las habilidades necesarias para la formula-cin de consultas, la especicacin de requerimientos de los formularios e informes de captura de datos, y los disparadores de codicacin y procedimientos almacenados. En el captulo 9 se observan ejemplos adicionales de SQL intermedio y avanzado, junto con las habilidades de formulacin de consultas correspondientes. El captulo 10 describe la motivacin, denicin y uso de vistas relacionales, junto con la especicacin de deniciones de vistas para formularios e informes de captura de datos. El captulo 11 presenta conceptos y prcticas de codicacin de los lenguajes de programacin de bases de datos, procedimientos almacenados y disparadores para la personalizacin de las aplicaciones de bases de datos. La parte 6 abarca temas avanzados del desarrollo de bases de datos. El captulo 12 ofrece una descripcin del diseo e integracin de vistas, los cuales son conceptos de modelado de datos para los esfuerzos que se realizan en el desarrollo de bases de datos ms grandes. El captulo 13 ofrece un estudio de caso completo que permite a los alumnos obtener informacin acerca de las

  • Prefacio xiii

    dicultades que se enfrentan al aplicar el diseo de bases de datos y las habilidades de desarrollo de aplicaciones para una base de datos empresarial del mundo real. Ms all de las habilidades del diseo 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 captulos de la parte 7 hacen nfasis en la funcin que desempean los especialistas de bases de datos y los detalles implicados en la administracin de las mismas en diversos ambien-tes de operacin. El captulo 14 ofrece el contexto para otros captulos 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 captulos de la parte 4 proporcionan un fundamento para la administracin de bases de datos en ambientes de importancia: el captulo 15, sobre proce-samiento de transacciones; el captulo 16, en almacenes de datos; el captulo 17, en procesos y datos distribuidos, y el captulo 18 en administracin de bases de datos orientadas a objetos. Estos captulos hacen hincapi en conceptos, arquitecturas e importantes opciones de diseo para los especialistas de bases de datos.

    Enfoque del texto y tema

    Para apoyar la adquisicin de las habilidades necesarias para el aprendizaje y comprensin del desarrollo de aplicaciones, el diseo de bases de datos y la administracin de las mismas, este libro se adhiere a tres principios gua:

    1. Combinacin de conceptos y prctica. La administracin de las bases de datos se aprende con mayor facilidad cuando los conceptos estn estrechamente ligados con la prctica del diseo e implementacin de bases de datos con el uso de un DBMS comercial. El libro y los complementos que le acompaan han sido diseados para proporcionar una estrecha integracin entre los conceptos y la prctica por medio de las siguientes caractersticas:

    Ejemplos de SQL para Access y Oracle, adems de cobertura para SQL:2003.

    nfasis en la relacin entre el desarrollo de aplicaciones y la formulacin de consultas.

    Uso de una notacin de modelado de datos por medio de herramientas CASE profesio-nales y una herramienta acadmica de uso sencillo (ER Assistant).

    Captulos complementarios de prcticas de laboratorio que combinan los conceptos del libro con los detalles de los DBMS comerciales.

    2. nfasis en habilidades para la solucin de problemas. Este libro presenta los lineamientos para la solucin de problemas que ayudarn a los alumnos a dominar las habilidades funda-mentales del modelado de datos, normalizacin, formulacin de consultas y desarrollo de aplicaciones. El libro y los complementos asociados proporcionan una riqueza de pregun-tas, problemas, casos de estudio y prcticas de laboratorio en las que los alumnos pueden aplicar sus habilidades. Con el dominio de las habilidades esenciales, los estudiantes ten-drn motivacin para un mayor aprendizaje sobre bases de datos y un cambio en su manera de pensar la computacin 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 suciente profundidad para satisfacer a los alumnos ms ansiosos por aprender. No obstante, las partes avanzadas se colocan de manera tal que puedan evitarse por aquellos que no deseen cubrirlas.

    Caractersticas pedaggicas

    Con el n de ayudar a los alumnos a navegar a travs del contenido capitular de una manera sistemtica, este libro contiene las siguientes caractersticas pedaggicas:

  • xiv Prefacio

    Objetivos de aprendizaje que se enfocan en el conocimiento y habilidades que los alum-nos adquirirn al estudiar dicho captulo.

    Vistas generales que proporcionan un vistazo a los contenidos capitulares. Trminos fundamentales que son resaltados y denidos en los mrgenes conforme apare-

    cen en el captulo.

    Ejemplos que son claramente separados del resto del material del captulo para dar una revisin ms sencilla y cubrir los propsitos de estudio.

    Ejemplos de bases de datos en funcionamiento universidad y captura de rdenes con iconos en los mrgenes que llaman la atencin del alumno hacia los ejemplos.

    Reexiones nales que resumen el contenido capitular en relacin con los objetivos de aprendizaje.

    Revisin de conceptos que son llamadas conceptuales importantes del captulo, y no slo una lista de terminologa.

    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 captulo.

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

    Apndices capitulares que proporcionan detalles adicionales y resmenes convenientes de ciertos principios o prcticas.

    Al nal del libro, los alumnos encontrarn los siguientes recursos adicionales:

    Glosario: Proporciona una lista completa de trminos y deniciones empleados a lo largo del libro.

    Bibliografa: Un listado de material impreso til de ndole industrial y acadmico para investigacin o estudio.

    Materiales de apoyo

    Esta obra cuenta con interesantes complementos que fortalecen los procesos de enseanza-apren-dizaje, as como la evaluacin de los mismos, los cuales se otorgan a profesores que adoptan este texto para sus cursos. Para obtener ms informacin y conocer la poltica 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 enseado 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 ms concreto (desarrollo de aplicaciones) antes de un material ms abstracto (desarrollo de bases de datos). Los captulos de laboratorio y tareas se emplean para proporcionar mayores oportunidades de prctica, ms all de los ejemplos que aparecen en el libro. Para que pueda cubrirse en un semestre, los temas avanzados se saltan en los captulos 8 y del 11 al 18. Un segundo orden deber cubrir el desarrollo de bases de datos antes de estudiar la aplica-cin de bases de datos. Para seguir con este orden, el autor recomienda seguir un orden con los captulos del libro de la siguiente manera: 1, 2, 5, 6, 3, 7, 4, 9 y 10. El material sobre conversin de esquemas que se presenta en el captulo 6 deber cubrirse despus del captulo 3. Este orden apoya una cobertura ms 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 captulos 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 administracin de las bases de datos, que aparece en las partes 1 y 2, modelado de datos y normalizacin de las partes 3 y 4, as como formulacin avanzada de consultas de las partes 5 y 6. El segundo curso hace nfasis en las habilidades para la administracin de bases de datos con el diseo fsico 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 administracin 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 administracin 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 edicin es la culminacin de muchos aos de trabajo. Antes de comenzar con la primera edicin escrib tutoriales, prcticas de laboratorio y estudios de caso. El material fue utilizado primero como complemento a otros libros de texto. Despus, motivado por mis alum-nos, este material se emple sin libro de texto. Este material, revisado en mltiples ocasiones a travs de los comentarios de los alumnos, fue el fundamento para la primera edicin. Durante el desarrollo de la primera edicin, el material se evalu en el saln de clases durante tres aos con cientos de alumnos de nivel licenciatura y cursos superiores, junto con una revisin cuidadosa por medio de cuatro borradores hechos por muchos revisores externos. La segunda edicin se realiz a travs del uso de la primera edicin durante tres aos en el saln de clases, adems de que el autor haba impartido durante muchos aos un curso avanzado de bases de datos. La ter-cera edicin se desarroll con la experiencia de tres aos de uso de la segunda edicin en cursos bsicos y avanzados de bases de datos. Deseo reconocer el excelente apoyo que recib en el trmino 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 reaccin al libro de texto han sido invaluables para su mejora. En segundo lugar, agradezco a los muchos revisores que proporcionaron retroalimentacin a los diversos borradores de este libro de texto:

    Kirk P. ArnettMississippi State University

    Reza BarkhiVirginia Polytechnic Institute and State University

    William BarnettUniversity of LouisianaMonroe

    Jack D. BeckerUniversity of North Texas

    Nabil BedewiGeorge Mason University

    France BelangerVirginia Polytechnic Institute and State University

    John BradleyEast Carolina University

    Susan BrownIndiana UniversityBloomington

    Debra L. ChapmanUniversity of South Alabama

    Dr. Qiyang ChenMontclair State University

    Amita G. ChinVirginia Commonwealth University

    Russell ChingCalifornia State UniversitySacramento

    P. C. ChuThe Ohio State University

  • xvi Prefacio

    Carey ColeJames Madison University

    Erman CoskunLe Moyne College

    Connie W. CrookUniversity of North CarolinaCharlotte

    Robert Louis GilsonWashington State University

    Jian GuanUniversity of Louisville

    Diane HallAuburn University

    Dr. Joseph T. HarderIndiana State University

    Mark HwangCentral Michigan University

    Balaji JanamanchiTexas Tech University

    Nenad JukicLoyola University Chicago

    Rajeev KaulaSouthwest Missouri State University

    Sung-kwan KimUniversity of ArkansasLittle Rock

    Yong Jin KimSUNY Binghamton

    Barbara KleinUniversity of MichiganDearborn

    Constance KnappPace University

    Alexis KosterSan Diego State University

    Jean-Pierre KuilboerUniversity of MassachusettsBoston

    Alan G. LabouseurMarist College

    Dr. William M. LankfordUniversity of West Georgia

    Eitel LauriaMarist College

    Anita Lee-PostUniversity of Kentucky

    John D. (Skip) LeesCalifornia State UniversityChico

    William LeighUniversity of Central Florida

    Robert LittleAuburn UniversityMontgomery

    Dr. Jie LiuWestern Oregon University

    Mary MalliarisLoyola UniversityChicago

    Bruce McLarenIndiana State University

    Dr. Kathryn J. MolandLivingstone College

    Hossein Larry NajaUniversity of Wisconsin River Falls

    Karen S. Nantz Eastern Illinois University

    Ann NelsonHigh Point University

    Hamid NematiUniversity of North CarolinaGreensboro

    Robert PhillipsRadford University

    Lara Preiser-HouyCalifornia State Polytechnic UniversityPomona

    Young U. RyuUniversity of TexasDallas

    Werner SchenkUniversity of Rochester

    Dr. Barbara A. SchuldtSoutheastern Louisiana University

    Philip J. SciameDominican College

    Richard S. SegallArkansas State University

    Hsueh-Chi Joshua ShihNational Yunlin University of Science and Technology

    Elizabeth Paige SigmanGeorgetown University

    Vickee StedhamSt. Petersburg College

    Jeffrey A. StonePennsylvania State University

    Dr. Thomas P. SturmUniversity of St. Thomas

    A. TanselBaruch CollegeCUNY Bilkent UniversityAnkara, Turkey

    Sylvia UnwinBellevue Community College

    Stuart VardenPace University

    Santosh S. VenkatramanUniversity of ArkansasLittle Rock

  • Prefacio xvii

    F. Stuart WellsTennessee Technological University

    Larry WestUniversity of Central Florida

    Hsui-lin WinklerPace University

    Peter WolcottUniversity of NebraskaOmaha

    James L. WoolleyWestern Illinois University

    Brian ZelliSUNY Buffalo

    Sus comentarios, especialmente los de ndole crtica, me han ayudado en gran manera para anar los detalles de este libro. En tercer lugar, deseo expresar mi agradecimiento a los editores de la versin en ingls, Paul Ducham y Liz Farina, por su gua en este proceso, as como a Jim Labeots, Kami Cartes y a los dems amigos de McGraw-Hill, quienes me ayudaron en la produccin y publicacin 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.

    Michael V. Mannino

  • Contenido breve

    xviii

    PARTE UNOIntroduccin a los ambientes de base de datos 1

    1 Introduccin a la administracin de base de datos 3

    2 Introduccin al desarrollo de bases de datos 23

    PARTE DOSComprendiendo las bases de datos relacionales 43

    3 El modelo relacional de datos 45

    4 Formulacin de consultas con SQL 79

    PARTE TRESModelado de datos 133

    5 Comprensin de los diagramas de entidad-relacin 135

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

    PARTE CUATRODiseo de bases de datos relacionales 217

    7 Normalizacin de tablas relacionales 219

    8 Diseo fsico de bases de datos 249

    PARTE CINCODesarrollo de aplicaciones con bases de datos relacionales 295

    9 Formulacin avanzada de consultas con SQL 297

    10 Desarrollo de aplicaciones con vistas 339

    11 Procedimientos almacenados y disparadores 375

    PARTE SEISDesarrollo avanzado de bases de datos 425

    12 Diseo e integracin de vistas 427

    13 Desarrollo de base de datos para Student Loan Limited 449

    PARTE SIETEAdministracin de entornos de bases de datos 479

    14 Administracin de datos y bases de datos 481

    15 Administracin de transacciones 515

    16 Tecnologa y administracin de data warehouse 553

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

    18 Sistemas de administracin de bases de datos de objetos 641

    GLOSARIO 679

    BIBLIOGRAFA 696

    NDICE 698

  • Contenido

    xix

    PARTE UNOINTRODUCCIN A LOS AMBIENTES DE BASE DE DATOS 1

    Captulo 1Introduccin a la administracin de base de datos 3Objetivos de aprendizaje 3Panorama general 3

    1.1 Caractersticas de la base de datos 41.2 Caractersticas de los sistemas de administracin

    de bases de datos 61.2.1 Denicin de base de datos 61.2.2 Acceso no procedural 81.2.3 Desarrollo de aplicaciones e interfase del

    lenguaje procedural 91.2.4 Funciones de soporte para las operaciones de

    base de datos 101.2.5 Funciones de terceros 11

    1.3 Desarrollo de la tecnologa de base de datos y la estructura de mercado 111.3.1 Evolucin de la tecnologa de bases de datos 121.3.2 El mercado actual del software de base de

    datos 13

    1.4 Arquitecturas de los sistemas de administracin de bases de datos 141.4.1 Independencia de datos y la arquitectura de los

    tres esquemas 141.4.2 Procesamiento distribuido y la arquitectura

    cliente-servidor 16

    1.5 Impactos organizacionales de la tecnologa de base de datos 171.5.1 Interactuando con las bases de datos 171.5.2 Administracin de recursos de informacin 19

    Reexin nal 20 Revisin de conceptos 20 Preguntas 21 Problemas 22 Referencias para ampliar su estudio 22

    Captulo 2Introduccin al desarrollo de bases de datos 23Objetivos de aprendizaje 23Panorama general 23

    2.1 Sistemas de informacin 232.1.1 Componentes de los sistemas de informacin 242.1.2 Proceso del desarrollo de sistemas de

    informacin 25

    2.2 Objetivos del desarrollo de base de datos 262.2.1 Desarrollar un vocabulario comn 272.2.2 Denicin del signicado de los datos 272.2.3 Asegurar la calidad de los datos 27

    2.2.4 En busca de la implementacin eciente 28

    2.3 Proceso de desarrollo de la base de datos 282.3.1 Fases del desarrollo de base de datos 292.3.2 Habilidades en el desarrollo de bases de

    datos 32

    2.4 Herramientas para el desarrollo de bases de datos 342.4.1 Diagramacin 352.4.2 Documentacin 352.4.3 Anlisis 352.4.4 Herramientas de prototipos 362.4.5 Herramientas CASE comerciales 37

    Reexin nal 39 Revisin de conceptos 39 Preguntas 40 Problemas 41 Referencias para ampliar su estudio 41

    PARTE DOSCOMPRENDIENDO LAS BASES DE DATOS RELACIONALES 43

    Captulo 3El modelo relacional de datos 45

    Objetivos de aprendizaje 45Panorama general 45

    3.1 Elementos bsicos 463.1.1 Tablas 463.1.2 Conexiones entre tablas 473.1.3 Terminologa alternativa 49

    3.2 Reglas de integridad 493.2.1 Denicin de las reglas de integridad 493.2.2 Aplicacin de las reglas de integridad 503.2.3 Representacin grca de la integridad

    referencial 53

    3.3 Acciones para eliminar y actualizar las referenciadas 54

    3.4 Operadores de lgebra relacional 563.4.1 Operadores de restriccin (select) y proyeccin

    (project) 563.4.2 Operador de producto cruz extendido 573.4.3 Operador de enlace (join) 593.4.4 Operador de enlace externo (outer join) 613.4.5 Operadores de unin, interseccin y

    diferencia 633.4.6 Operador resumir (summarize) 653.4.7 Operador dividir (divide) 663.4.8 Resumen de operadores 68

    Reexin nal 68 Revisin de conceptos 69 Preguntas 69 Problemas 70 Referencias para ampliar su estudio 73

  • xx Contenido

    5.1 Introduccin a los diagramas de entidad-relacin 1365.1.1 Smbolos bsicos 1365.1.2 Cardinalidad de las relaciones 1375.1.3 Comparacin con los diagramas de bases de

    datos relacionales 140

    5.2 Comprensin de las relaciones 1415.2.1 Identicacin de dependencias (entidades

    dbiles y relacin identicable) 1415.2.2 Patrones de relacin 1425.2.3 Equivalencia entre las relaciones 1-M y

    M-N 146

    5.3 Clasicacin en el modelo de entidad-relacin 1475.3.1 Jerarquas de generalizacin 1485.3.2 Restricciones de separacin e integridad 1485.3.3 Niveles mltiples de generalizacin 149

    5.4 Resumen de notacin y reglas de diagramacin 1505.4.1 Resumen de notacin 1505.4.2 Reglas de diagramacin 152

    5.5 Comparacin a otras notaciones 1565.5.1 Variaciones ERD 1565.5.2 Notacin del diagrama de clases del lenguaje de

    modelado unicado 157 Reexin nal 159 Revisin de conceptos 160 Preguntas 160 Problemas 161 Referencias para ampliar su estudio 166

    Captulo 6Desarrollo de modelo de datos para bases de datos de negocios 167Objetivos de aprendizaje 167Panorama general 167

    6.1 Anlisis de problemas de modelado de datos para negocios 1686.1.1 Guas para analizar las necesidades de

    informacin de los negocios 1686.1.2 Anlisis de los requerimientos de informacin

    para la base de datos de la compaa de servicios de agua 171

    6.2. Renamientos a un ERD 1736.2.1 Transformacin de los atributos en tipos de

    entidad 1736.2.2 Divisin de atributos compuestos 1736.2.3 Expansin de los tipos de entidad 1736.2.4 Transformacin de una entidad dbil en una

    entidad fuerte 1746.2.5 Agregando historia 1756.2.6 Aadiendo jerarquas de generalizacin 1776.2.7 Resumen de transformaciones 178

    6.3 Finalizacin de un ERD 1796.3.1 Documentacin de un ERD 1796.3.2 Deteccin de errores comunes de diseo 181

    6.4 Conversin de un ERD en tablas relacionales 1836.4.1 Reglas bsicas de conversin 1836.4.2 Conversin de relaciones opcionales 1-M 1886.4.3 Conversin de jerarquas de generalizacin 190

    Apndice 3.ASentencias CREATE TABLE para la base de datos de la universidad 73Apndice 3.BResumen de sintaxis en SQL:2003 74Apndice 3.CGeneracin de valores nicos para llaves primarias 76

    Captulo 4Formulacin de consultas con SQL 79

    Objetivos de aprendizaje 79Panorama general 79

    4.1 Antecedentes 804.1.1 Breve historia de SQL 804.1.2 Alcance de SQL 81

    4.2 Empecemos con la sentencia SELECT 824.2.1 Problemas de tabla simple 844.2.2 Tablas enlazadas (joining) 894.2.3 Resumen de tablas con GROUP BY y

    HAVING 914.2.4 Mejorar el formato de los resultados 95

    4.3 Proceso de evaluacin conceptual para las sentencias SELECT 97

    4.4 Preguntas crticas para la generacin de consultas 101

    4.5 Mejorando las habilidades de generacin de consultas mediante ejemplos 1034.5.1 Enlaces de tablas mltiples con el estilo de

    producto cruz 1034.5.2 Enlazando tablas mltiples con el estilo del

    operador de enlace 1064.5.3 Autoenlaces (self-joins) y enlaces mltiples entre

    dos tablas 1094.5.4 Combinando enlaces y agrupacin 1104.5.5 Operadores de conjuntos tradicionales en

    SQL 111

    4.6 Sentencias de modicacin de SQL 113 Reexin nal 115 Revisin de conceptos 116 Preguntas 119 Problemas 120 Referencias para ampliar su estudio 127Apndice 4.AResumen de sintaxis de SQL:2003 128Apndice 4.BDiferencias de sintaxis entre los principales productos DBMS 131

    PARTE TRESMODELADO DE DATOS 133

    Captulo 5Comprensin de los diagramas de entidad-relacin 135

    Objetivos de aprendizaje 135Panorama general 135

  • Contenido xxi

    6.4.4 Conversin de relaciones 1-1 1916.4.5 Ejemplo de conversin comprensiva 193

    Reexin nal 195 Revisin de conceptos 196 Preguntas 196 Problemas 197 Referencias para ampliar su estudio 215

    PARTE CUATRODISEO DE BASES DE DATOS RELACIONALES 217

    Captulo 7Normalizacin de tablas relacionales 219Objetivos de aprendizaje 219Panorama general 219

    7.1 Panorama general del diseo de bases de datos relacionales 2207.1.1 Evite anomalas de modicacin 2207.1.2 Dependencias funcionales 221

    7.2 Formas normales 2237.2.1 Primera forma normal 2247.2.2 Segunda y tercera forma normal 2247.2.3 Forma normal de Boyce-Codd 2277.2.4 Procedimiento de sntesis simple 229

    7.3 Renamiento de las relaciones M-way 2327.3.1 Independencia de relacin 2327.3.2 Dependencias multivaluadas y cuarta forma

    normal 235

    7.4 Formas normales de alto nivel 2367.4.1 Quinta forma normal 2367.4.2 Forma normal de llave de dominio 237

    7.5 Cuestiones prcticas acerca de normalizacin 2377.5.1 Funcin de la normalizacin en el proceso de

    desarrollo de base de datos 2377.5.2 Anlisis del objetivo de normalizacin 238

    Reexin nal 238 Revisin de conceptos 239 Preguntas 239 Problemas 240 Referencias para ampliar su estudio 248

    Captulo 8Diseo fsico de bases de datos 249Objetivos de aprendizaje 249Panorama general 249

    8.1 Panorama general del diseo fsico de bases de datos 2508.1.1 Niveles de almacenamiento de las bases de

    datos 2508.1.2 Objetivos y restricciones 2518.1.3 Entradas, salidas y entorno 2528.1.4 Dicultades 253

    8.2 Entradas del diseo fsico de bases de datos 2538.2.1 Perles de las tablas 2538.2.2 Perles de la aplicacin 255

    8.3 Estructuras de archivos 2568.3.1 Archivos secuenciales 256

    8.3.2 Archivos hash 2578.3.3 Archivos de rbol multiforme (Btrees) 2598.3.4 ndices bitmap 2668.3.5 Resumen de estructuras de archivos 267

    8.4 Optimizacin de consultas 2688.4.1 Tareas de traduccin 2688.4.2 Mejoras en las decisiones de optimizacin 271

    8.5 Seleccin de ndices 2748.5.1 Denicin del problema 2748.5.2 Equilibrios y dicultades 2768.5.3 Reglas de seleccin 277

    8.6 Opciones adicionales del diseo fsico de base de datos 2808.6.1 Desnormalizacin 2808.6.2 Formateo de registros 2828.6.3 Procesamiento paralelo 2838.6.4 Otras formas de mejorar el desempeo 284

    Reexin nal 285 Revisin de conceptos 285 Preguntas 286 Problemas 287 Referencias para ampliar su estudio 293

    PARTE CINCODESARROLLO DE APLICACIONES CON BASES DE DATOS RELACIONALES 295

    Captulo 9Formulacin avanzada de consultas con SQL 297

    Objetivos de aprendizaje 297Panorama general 297

    9.1 Problemas de enlace externo (outer join) 2989.1.1 Soporte de SQL para problemas de enlace

    externo 2989.1.2 Combinacin de enlaces internos y

    externos 301

    9.2 Entendiendo las consultas empaquetadas 3039.2.1 Consultas empaquetadas tipo I 3039.2.2 Formulaciones SQL limitadas para problemas de

    diferencia 3059.2.3 Uso de consultas empaquetadas tipo II para

    problemas de diferencia 3089.2.4 Consultas empaquetadas con la clusula

    FROM 312

    9.3 Formulacin de problemas de divisin 3149.3.1 Revisin del operador dividir 3149.3.2 Problemas sencillos de divisin 3159.3.3 Problemas de divisin avanzados 317

    9.4 Consideraciones de valor nulo 3209.4.1 Efecto en condiciones simples 3209.4.2 Efecto sobre las condiciones compuestas 3219.4.3 Efecto sobre los clculos conjuntos y la

    agrupacin 323 Reexin nal 324 Revisin de conceptos 325 Preguntas 327 Problemas 328 Referencias para ampliar su estudio 332

  • xxii Contenido

    Apndice 9.AUso de sentencias mltiples en Microsoft Access 332Apndice 9.BResumen de la sintaxis de SQL:2003 333Apndice 9.CAnotacin de Oracle 8i para enlaces externos 335

    Captulo 10Desarrollo de aplicaciones con vistas 339Objetivos de aprendizaje 339Panorama general 339

    10.1 Antecedentes 34010.1.1 Motivacin 34010.1.2 Denicin de vista 340

    10.2 Uso de vistas para recuperacin 34210.2.1 Uso de vistas en enunciados SELECT 34210.2.2 Procesamiento de consultas con

    referencias a vista 344

    10.3 Actualizacin con el uso de vistas 34610.3.1 Vistas de actualizacin con tabla nica 34610.3.2 Vistas de actualizacin y tabla mltiple 349

    10.4 Uso de vistas en formularios jerrquicos 35310.4.1 Qu es un formulario jerrquico? 35310.4.2 Relacin entre formularios jerrquicos y

    tablas 35410.4.3 Habilidades de formulacin de consultas

    para formularios jerrquicos 355

    10.5 Uso de vistas en los reportes 35910.5.1 Qu es un reporte jerrquico? 35910.5.2 Habilidades para la formulacin de

    consultas en reportes jerrquicos 361 Reexin nal 362 Revisin de conceptos 362 Preguntas 363 Problemas 364 Referencias para ampliar su estudio 371Apndice 10.AResumen de sintaxis de SQL: 2003 372Apndice 10.BReglas para vistas enlazadas que se pueden actualizar en Oracle 372

    Captulo 11Procedimientos almacenados y disparadores 375Objetivos de aprendizaje 375Panorama general 375

    11.1 Lenguajes de programacin de bases de datos y PL/SQL 37611.1.1 Motivacin para los lenguajes de

    programacin de base de datos 37611.1.2 Aspectos de diseo 37811.1.3 Sentencias PL/SQL 38011.1.4 Ejecucin de las sentencias PL/SQL en

    bloques annimos 386

    11.2 Procedimientos almacenados 38811.2.1 Procedimientos PL/SQL 38911.2.2 Funciones PL/SQL 392

    11.2.3 Uso de cursores 39511.2.4 Paquetes PL/SQL 398

    11.3 Disparadores (triggers) 40211.3.1 Motivacin y clasicacin de los

    disparadores 40211.3.2 Disparadores de Oracle 40311.3.3 Cmo entender la ejecucin de un

    disparador 414 Reexin nal 417 Revisin de conceptos 417 Preguntas 419 Problemas 420 Referencias para ampliar su estudio 422Apndice 11.AResumen de la sintaxis de SQL:2003 423

    PARTE SEISDESARROLLO AVANZADO DE BASES DE DATOS 425

    Captulo 12Diseo e integracin de vistas 427

    Objetivos de aprendizaje 427Panorama general 427

    12.1 Motivacin para el diseo e integracin de vistas 428

    12.2 Diseo de vistas con formularios 42912.2.1 Anlisis de formularios 42912.2.2 Anlisis de las relaciones M-way

    utilizando formularios 435

    12.3 Integracin de vistas 43912.3.1 Enfoque de integracin incremental y

    paralelo 43912.3.2 Ejemplos de integracin de vistas 442

    Reexin nal 444 Revisin de conceptos 444 Preguntas 445 Problemas 445 Referencias para ampliar su estudio 447

    Captulo 13Desarrollo de base de datos para Student Loan Limited 449

    Objetivos de aprendizaje 449Panorama general 449

    13.1 Descripcin del caso 45013.1.1 Panorama general 45013.1.2 Flujo de trabajo 450

    13.2 Modelado conceptual de datos 45513.2.1 ERD para el formulario de origen del

    prstamo 45513.2.2 Integracin incremental despus de

    agregar una carta de declaracin 45513.2.3 Integracin incremental despus de

    agregar el estado de cuenta 45813.2.4 Integracin incremental despus

    de agregar el reporte de actividad del prstamo 459

  • Contenido xxiii

    13.3 Renamiento del esquema conceptual 46113.3.1 Conversin del esquema 46113.3.2 Normalizacin 462

    13.4 Diseo fsico de la base de datos y desarrollo de aplicaciones 46413.4.1 Perles de aplicaciones y tablas 46413.4.2 Seleccin de ndices 46513.4.3 Datos derivados y decisiones de

    desnormalizacin 46613.4.4 Otras decisiones de implementacin 46713.4.5 Desarrollo de aplicaciones 467

    Reexin nal 469 Revisin de conceptos 470 Preguntas 470 Problemas 471Apndice 13.AGlosario de los campos del formulario y reporte 472Apndice 13.BEnunciados CREATE TABLE 474

    PARTE SIETEADMINISTRACIN DE ENTORNOS DE BASES DE DATOS 479

    Captulo 14Administracin de datos y bases de datos 481

    Objetivos de aprendizaje 481Panorama general 481

    14.1 Contexto organizacional para administrar bases de datos 48214.1.1 Apoyo de las bases de datos en la toma de

    decisiones administrativas 48214.1.2 Administracin de los recursos de informacin

    para el manejo del conocimiento 48314.1.3 Responsabilidades de los administradores

    de datos y los administradores de bases de datos 484

    14.2 Herramientas de administracin de bases de datos 48514.2.1 Seguridad 48614.2.2 Restricciones de integridad 49014.2.3 Administracin de disparadores y

    procedimientos almacenados 49314.2.4 Manipulacin del diccionario de datos 495

    14.3 Procesos para especialistas en bases de datos 49714.3.1 Planeacin de datos 49714.3.2 Seleccin y evaluacin de los sistemas de

    administracin de bases de datos 498

    14.4 Administracin de entornos de bases de datos 50314.4.1 Procesamiento de transacciones 50314.4.2 Procesamiento de data warehouses 50314.4.3 Entornos distribuidos 50414.4.4 Administracin de bases de datos

    de objetos 505 Reexin nal 505 Revisin de conceptos 506

    Preguntas 508 Problemas 509 Referencias para ampliar su estudio 511Apndice 14.AResumen de la sintaxis SQL: 2003 511

    Captulo 15Administracin de transacciones 515Objetivos de aprendizaje 515Panorama general 515

    15.1 Aspectos bsicos de las transacciones de bases de datos 51615.1.1 Ejemplos de transacciones 51615.1.2 Propiedades de la transaccin 518

    15.2 Control de la concurrencia 51915.2.1 Objetivo del control de concurrencia 52015.2.2 Problemas de interferencia 52015.2.3 Herramientas de control de concurrencia 522

    15.3 Administracin de recuperaciones 52615.3.1 Dispositivos de almacenamiento de datos y

    tipos de fallas 52615.3.2 Herramientas de recuperacin 52715.3.3 Procesos de recuperacin 529

    15.4 Aspectos del diseo de transacciones 53315.4.1 Lmite de transaccin y puntos

    decisivos 53315.4.2 Niveles de aislamiento 53615.4.3 Momento de imposicin de la restriccin

    de integridad 53715.4.4 Puntos de proteccin 539

    15.5 Administracin del ujo de trabajo 53915.5.1 Caracterizacin de los ujos de trabajo 54015.5.2 Tecnologas que permiten el ujo de

    trabajo 540 Reexin nal 542 Revisin de conceptos 543 Preguntas 544 Problemas 545 Referencias para ampliar su estudio 551Apndice 15.AResumen de sintaxis de SQL:2003 551

    Captulo 16Tecnologa y administracin de data warehouse 553Objetivos de aprendizaje 553Panorama general 553

    16.1 Conceptos bsicos 55416.1.1 Procesamiento de transacciones versus

    apoyo a las decisiones 55416.1.2 Caractersticas de los data warehouse 55416.1.3 Arquitecturas para data warehouse 55616.1.4 Minera de datos 55816.1.5 Aplicaciones de los data warehouse 559

    16.2 Representacin multidimensional de los datos 56016.2.1 Ejemplo de un cubo de datos

    multidimensional 56016.2.2 Terminologa multidimensional 562

  • xxiv Contenido

    16.2.3 Datos de serie de tiempo 56416.2.4 Operaciones del cubo de datos 564

    16.3 Soporte de DBMS relacional para data warehouse 56716.3.1 Modelado de datos relacionales para datos

    multidimensionales 56716.3.2 Representacin de dimensin 57116.3.3 Extensiones para la clusula GROUP BY

    para datos multidimensionales 57416.3.4 Vistas materializadas y reescritura de

    consultas 58316.3.5 Tecnologas de almacenamiento y

    optimizacin 589

    16.4 Mantenimiento de un data warehouse 59116.4.1 Fuentes de datos 59116.4.2 Flujo de trabajo para el mantenimiento de

    un data warehouse 59216.4.3 Administracin del proceso de

    refrescamiento 594 Reexin nal 596 Revisin de conceptos 596 Preguntas 597 Problemas 598 Referencias para ampliar su estudio 603

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

    Objetivos de aprendizaje 605Panorama general 605

    17.1 Panorama del procesamiento distribuido y de los datos distribuidos 60617.1.1 Motivacin para el procesamiento cliente-

    servidor 60617.1.2 Motivacin para el procesamiento de bases

    de datos paralelas 60717.1.3 Motivacin para datos distribuidos 60817.1.4 Resumen de ventajas y desventajas 609

    17.2 Arquitecturas de bases de datos cliente- servidor 60917.2.1 Conictos de diseo 60917.2.2 Descripcin de arquitecturas 611

    17.3 Procesamiento de bases de datos paralelas 61517.3.1 Conictos de arquitecturas y diseo 61617.3.2 Tecnologa comercial de bases de datos

    paralelas 617

    17.4 Arquitecturas para sistemas de gestin de bases de datos distribuidas 62017.4.1 Arquitectura de componente 62017.4.2 Arquitecturas de esquema 622

    17.5 Transparencia para procesamiento de bases de datos distribuidas 62417.5.1 Ejemplo motivacional 62417.5.2 Transparencia de fragmentacin 62617.5.3 Transparencia de ubicacin 62717.5.4 Transparencia de mapeo local 62817.5.5 Transparencia en bases de datos

    distribuidas de Oracle 628

    17.6 Procesamiento de bases de datos distribuidas 63117.6.1 Procesamiento de consulta distribuida 63117.6.2 Procesamiento de transaccin distribuida 632

    Reexin nal 635 Revisin de conceptos 636 Preguntas 636 Problemas 638 Referencias para ampliar su estudio 639

    Captulo 18Sistemas de administracin de bases de datos de objetos 641Objetivos de aprendizaje 641Panorama general 641

    18.1 Motivacin para la administracin de bases de datos de objetos 64218.1.1 Datos complejos 64218.1.2 Desajuste en el sistema de tipos 64218.1.3 Ejemplos de aplicacin 643

    18.2 Principios orientados a objetos 64418.2.1 Encapsulacin 64418.2.2 Herencia 64618.2.3 Polimorsmo 64718.2.4 Lenguajes de programacin versus

    DBMS 649

    18.3 Arquitecturas para la administracin de bases de datos de objetos 64918.3.1 Objetos grandes y software externo 65018.3.2 Servidores especializados en medios 65018.3.3 Middleware de bases de datos de objetos 65118.3.4 Sistemas de administracin de bases de

    datos relacionales de objetos para tipos denidos por el usuario 652

    18.3.5 Sistemas de administracin de bases de datos orientadas a objetos 654

    18.3.6 Resumen de arquitecturas de bases de datos de objetos 655

    18.4 Caractersticas de bases de datos de objetos en SQL:2003 65518.4.1 Tipos denidos por el usuario 65618.4.2 Deniciones de tabla 65818.4.3 Familias de subtablas 66118.4.4 Manipulacin de objetos complejos y

    familias de subtablas 662

    18.5 Caractersticas de base de datos de objetos en Oracle 10g 66418.5.1 Denicin de tipos denidos por el usuario

    y tablas tipo en Oracle 10g 66518.5.2 Uso de tablas de tipos en Oracle 10g 66818.5.3 Otras caractersticas de objeto en Oracle

    10g 670 Reexin nal 672 Revisin de conceptos 673 Preguntas 673 Problemas 674 Referencias para ampliar su estudio 678

    Glosario 679Bibliografa 696ndice 698

  • Introduccin a los ambientes de base de datos

    La parte 1 proporciona los antecedentes para el posterior estudio detallado del diseo, desarrollo de aplicaciones y administracin de base de datos. Los captulos de la parte 1 presentan los principios de la administracin de base de datos y la naturaleza de su proceso de desarrollo. El captulo 1 abarca los conceptos bsicos de la administracin de base de datos, incluyendo caractersticas, funciones y arquitecturas de sus sistemas de administracin, su mercado y los impactos organizacionales de su tecnologa. El captulo 2 es una introduccin en el contexto, los objetivos, las fases y las herramientas del proceso de desarrollo de una base de datos.

    Captulo 1.

    Introduccin a la administracin de base de datos

    Captulo 2.

    Introduccin al desarrollo de bases de datos

    Parte

    1

  • 3Captulo 1Introduccin a la administracin de base de datos

    Objetivos de aprendizaje

    Este captulo es una introduccin a la tecnologa de las bases de datos y al impacto que tiene sobre las organizaciones. Al nalizar este captulo el estudiante debe haber adquirido los siguientes conocimientos y habilidades:

    Describir las caractersticas de las bases de datos de negocios y las caractersticas de sus sistemas de administracin.

    Comprender la importancia de los accesos no procedurales para obtener productividad del software.

    Apreciar los avances en la tecnologa de base de datos y sus contribuciones a la sociedad moderna.

    Comprender el impacto de las arquitecturas de los sistemas de administracin de base de datos en el procesamiento distribuido y en el mantenimiento del software.

    Percibir las oportunidades profesionales relacionadas con el desarrollo de aplicaciones de base de datos y con su administracin.

    Panorama general

    Quizs usted no se haya dado cuenta, pero su vida se ve afectada de forma dramtica por la tec-nologa de base de datos. Las bases de datos computarizadas son vitales para el funcionamiento de las organizaciones modernas. Usted est en contacto con las bases de datos diariamente a tra-vs de actividades como comprar en el supermercado, retirar efectivo de un cajero automtico, ordenar un libro en lnea y registrarse en una clase. Las comodidades de su vida diaria, en parte, se deben a la proliferacin de las bases de datos computarizadas y a su tecnologa. La tecnologa de bases de datos no solamente mejora las operaciones diarias de las orga-nizaciones, sino tambin la calidad de las decisiones que afectan nuestras vidas. Las bases de datos contienen un ujo de datos acerca de muchos aspectos de nuestras vidas: preferencias de consumo, uso de telecomunicaciones, historial crediticio, hbitos al ver la televisin, etc. La tecnologa de base de datos ayuda a resumir este volumen de datos en informacin til para la toma de decisiones. Los directivos utilizan la informacin obtenida para la toma de decisiones a largo plazo, como invertir en plantas y equipo, ubicar tiendas, agregar elementos nuevos al inventario e iniciar nuevos negocios.

  • 4 Parte Uno Introduccin a los ambientes de base de datos

    Este primer captulo marca el punto inicial para la exploracin de la tecnologa de base de datos: analiza las caractersticas de una base de datos, de un sistema de administracin de base de datos, de arquitecturas de sistemas y el papel de las personas en la administracin y uso de las mismas. El captulo 2 proporciona un panorama conceptual del proceso de desarrollo de una base de datos. Este captulo presenta una amplia imagen de la tecnologa de base de datos y comparte la emocin del trabajo por venir.

    1.1

    Caractersticas de la base de datos

    base de datos una coleccin de datos persistentes que pueden compartirse e interrela-cionarse.

    Las empresas renen todos los das montaas de hechos acerca de personas, cosas y eventos, como los nmeros de tarjetas de crdito, estados de cuenta bancarios y montos de las compras. Las bases de datos contienen este tipo de hechos simples as como hechos no convencionales, tales como fotografas, huellas digitales, videos de productos y resmenes de libros. Con la proliferacin de Internet y de los medios para capturar datos de forma computarizada tenemos a nuestra disposicin una gran cantidad de datos al hacer clic con el botn del ratn. Organizar estos datos para facilitar su consulta y mantenimiento es complicado. Por lo tanto, la adminis-tracin de base de datos se ha convertido en una tarea vital en muchas organizaciones. Antes de aprender sobre la administracin de base de datos, primero debemos comprender algunas de sus propiedades ms importantes, como las que se muestran en la siguiente lista:

    Persistente signica que los datos residen en un almacenamiento estable, tal como un disco magntico. Las organizaciones necesitan, por ejemplo, conservar los datos de sus clientes, proveedores e inventario en un almacenamiento estable, ya que se usan de forma continua. Una variable de un programa de computadora no es persistente porque reside en la memoria principal y desaparece despus de que el programa naliza. Persistencia no signica que los datos existan eternamente; cuando dejan de ser relevantes (por ejemplo, cuando un provee-dor no contina en el negocio), se eliminan o se archivan.

    La persistencia depende de la importancia del uso deseado. Por ejemplo, es importante conservar el kilometraje que usted recorre hasta su trabajo en caso de que sea autoempleado. De igual forma, el monto de sus gastos mdicos es importante si puede deducirlo o si tiene una cuenta de gastos mdicos. Ya que el almacenamiento y el mantenimiento de los datos es costoso, slo deben almacenarse los que sean relevantes para la toma de decisiones.

    Compartir signica que una base de datos puede tener mltiples usos y usuarios. Una base de datos proporciona una memoria comn para varias funciones en una organizacin. Por ejemplo, una base de datos de empleados puede servir para calcular la nmina, para hacer evaluaciones sobre desempeo, para hacer requerimientos de reportes del gobierno, etc. Muchos usuarios pueden acceder a la base de datos al mismo tiempo; por ejemplo, muchos clientes pueden hacer reservaciones en una aerolnea de forma simultnea. A menos que dos usuarios intenten modicar la misma parte de la base de datos al mismo tiempo, ambos pueden continuar sin tener que esperar al otro.

    Interrelacin signica que los datos almacenados como unidades separadas se pueden co-nectar para mostrar un cuadro completo. Por ejemplo, una base de datos de clientes rela-ciona los datos de stos (nombre, direccin, etc.) con los datos de una orden (nmero de orden, fecha de la orden, etc.) para facilitar su procesamiento. Las bases de datos contienen tanto entidades como relaciones entre entidades. Una entidad es un conjunto de datos ge-neralmente sobre un tema, al que puede accederse de forma conjunta. Una entidad puede representar una persona, lugar, cosa o suceso; por ejemplo, una base de datos de empleados contiene entidades como empleados, departamentos y habilidades, as como las relaciones que muestran la asignacin de los empleados con los departamentos, las habilidades que poseen y su historia salarial. Una base de datos tpica de un negocio puede tener cientos de entidades y relaciones.

    Para mostrar estas caractersticas, consideremos cierto nmero de bases de datos. Comen-cemos con una sencilla base de datos de una universidad (gura 1.1), ya que usted tiene cierta familiaridad con las actividades en una de ellas. La base de datos simplicada de una universidad

  • Captulo 1 Introduccin a la administracin de base de datos 5

    contiene informacin sobre los estudiantes, las facultades, los cursos, las ofertas de los cursos y las matriculaciones. La base de datos incluye procedimientos como registro de clases, asignacin de profesores a los cursos ofertados, registro de calicaciones y calendarizacin de los cursos ofreci-dos. Las relaciones en la base de datos de la universidad sirven para responder a preguntas como

    Qu ofertas estn disponibles para un curso en el periodo acadmico actual?

    Quin es el instructor de un curso ofrecido?

    Qu estudiantes estn inscritos en un curso?

    A continuacin, consideremos una base de datos del departamento de distribucin de agua, tal como se ilustra en la gura 1.2. La funcin principal del departamento de distribucin de agua es facturar a los clientes por el uso de la misma. El consumo de agua de un cliente se mide de forma peridica y se prepara la factura. Existen muchos aspectos que inuyen en la prepa-racin de una factura, como el historial de pago del cliente, las caractersticas de la medicin, el tipo de cliente (de bajos ingresos, arrendatario, propietario, pequeo negocio, gran empresa, etc.) y el ciclo de facturacin. Las relaciones en la base de datos del departamento de distribu-cin de agua sirven para contestar preguntas como

    1. En qu fecha se le envi la ltima factura al cliente?

    2. Cunto consumo de agua se registr en la ms reciente lectura del medidor de un cliente?

    3. Cundo fue su ltimo pago?

    Finalmente, consideremos la base de datos de un hospital, como se ilustra en la gura 1.3. La base de datos del hospital apoya los tratamientos que los mdicos realizan a los pacientes. Los mdicos realizan diagnsticos y prescriben tratamientos con base en los sntomas. Diferentes proveedores de salud leen y contribuyen en el registro mdico de un paciente. Las enfermeras

    FIGURA 1.2 Ilustracin de la base de datos simplicada del departamento de distribucin de agua

    Entidades:clientes, medidores, facturas, pagos, lectura de los medidores

    Base de datos del departamento de distribucin de agua

    Relaciones:facturas enviadas a los clientes, clientes que realizan pagos, clientes que usan medidores, etc.

    Facturacin

    Lecturadel medidor

    Procesamientodel pago

    Iniciar/detenerel servicio

    FIGURA 1.1 Ilustracin simpli-cada de la base de datos universitaria

    Entidades:estudiantes, profesores, cursos, ofrecimientos, inscripciones

    Base de datos universitaria

    Relaciones:profesores por ofrecimiento, estudiantes inscritos en los cursos ofrecidos, ofertas hechas de los cursos, etc.

    Inscripcin

    Registro decalificaciones

    Asignacinde profesores

    Calendarizacindel curso

    Nota: Las palabras alrededor de la base de datos representan los procedimientos que sta utiliza.

  • 6 Parte Uno Introduccin a los ambientes de base de datos

    son responsables de monitorear los sntomas y administrar los medicamentos. El personal del comedor prepara las comidas de acuerdo con el plan de dietas. Los mdicos prescriben nuevos tratamientos basndose en los resultados de tratamientos previos y de los sntomas de los pa-cientes. Las relaciones en la base de datos sirven para responder a preguntas como

    Cules son los sntomas ms recientes de un paciente?

    Quin prescribi cierto tratamiento a un paciente?

    Qu diagnstico hizo el mdico a un paciente?

    Estas bases de datos simples carecen de muchos tipos de datos que se encuentran en las bases de datos reales. Por ejemplo, la base de datos simplicada de la universidad no contiene datos acerca de los prerrequisitos de los cursos o de la capacidad de los salones de clases y sus ubicaciones. Las versiones reales de estas bases de datos deben contener muchas ms entidades, relaciones y usos adicionales. Sin embargo, estas bases de datos simples tienen las caractersti-cas esenciales de las bases de datos empresariales: datos persistentes, mltiples usos y usuarios, y mltiples entidades conectadas por relaciones.

    1.2

    Caractersticas de los sistemas de administracin de bases de datos

    sistema de administracin de bases de datos (DBMS) un conjunto de compo-nentes que soportan la adquisicin de datos, diseminacin, mante-nimiento, consultas y formateo.

    Un sistema de administracin de base de datos (DBMS, por sus siglas en ingls) es un con-junto de componentes que soportan la creacin, el uso y el mantenimiento de bases de datos. Inicialmente, los DBMS proporcionaban un eciente almacenamiento y recuperacin de datos. Gracias a la demanda del mercado y a la innovacin de productos, los DBMS han evolucionado para proporcionar un amplio rango de caractersticas para incorporar, almacenar, diseminar, mantener, recuperar y formatear datos. La evolucin de estas funciones ha hecho que los DBMS sean ms complejos. Puede tomar aos de estudio y uso conocer por completo un DBMS en par-ticular. Ya que los DBMS continan evolucionando, usted debe actualizarse de forma continua en su conocimiento. Para mostrar el alcance sobre las funciones que encontrar en los DBMS comerciales, la tabla 1.1 resume un conjunto comn de funciones. El resto de esta seccin presenta ejemplos de dichas funciones. Algunos ejemplos se extraen de Microsoft Access, un popular DBMS de escritorio. En captulos posteriores se detallar ms la introduccin que aqu se presenta.

    1.2.1

    Denicin de base de datostabla se denomina a un arre-glo de datos en dos dimensiones. Una tabla est formada por un en-cabezado y un cuerpo.

    Para denir una base de datos deben especicarse las entidades y sus relaciones. En la mayora de los DBMS comerciales, las tablas almacenan conjuntos de entidades. Una tabla (gura 1.4) tiene un rengln de encabezado (el primer rengln) que muestra los nombres de las columnas, y un cuerpo (los otros renglones) que muestra el contenido de la tabla. Las relaciones indican las conexiones entre tablas. Por ejemplo, la relacin que conecta la tabla estudiante con la tabla inscripcin muestra la oferta de cursos tomada por cada estudiante.

    FIGURA 1.3 Ilustracin de la base de datos simplicada de un hospital

    Entidades:pacientes, proveedores,tratamientos, diagnsticos, sntomas

    Base de datos del hospital

    Relaciones:sntomas de los pacientes, proveedores que prescriben tratamientos, proveedores que hacen diagnsticos, etc.

    Tratamiento

    Diagnstico

    Monitoreo delos sntomas

    Atencindel paciente

  • Captulo 1 Introduccin a la administracin de base de datos 7

    SQL lenguaje estndar de base de datos que in-cluye sentencias para la denicin, la manipu-lacin y el control de la base de datos.

    La mayora de los DBMS proporcionan diversas herramientas para denir bases de datos. El Lenguaje de Consulta Estructurada (SQL, por sus siglas en ingls) es un lenguaje estndar de la industria soportado por la mayora de los DBMS. SQL se puede usar para denir tablas, relaciones entre ellas, restricciones de integridad (reglas que denen datos permitidos) y auto-rizacin de privilegios (reglas que restringen el acceso a los datos). El captulo 3 describe las sentencias SQL para denir tablas y relaciones. Adems de SQL, muchos DBMS proporcionan herramientas grcas orientadas a venta-nas. Las guras 1.5 y 1.6 ilustran herramientas grcas para denir las tablas y sus relaciones. Si se usa la ventana Denicin de Tabla de la gura 1.5, el usuario puede determinar las propie-dades de las columnas, como los tipos de datos y el tamao de los campos. Si se usa la ventana

    TABLA 1.1 Resumen de las fun-ciones generales de los DBMS

    Funcin Descripcin

    Denicin de la base de datos Lenguaje y herramientas grcas para denir entidades, relaciones, restricciones de integridad y autorizacin de privilegios

    Acceso no procedural Lenguaje y herramientas grcas para acceder a los datos sin necesidad de cdigo complicado

    Desarrollo de aplicaciones Herramienta grca para desarrollar mens, formularios de captura de datos y reportes; los requerimientos de datos para los formularios y reportes se especican utilizando un acceso no procedural

    Interfase del lenguaje procedural Lenguaje que combina el acceso no procedural con las capacidades totales de un lenguaje de programacin

    Procesamiento de transacciones Mecanismos de control para prevenir la interferencia de usuarios simultneos y recuperar datos perdidos en caso de una falla

    Ajuste de la base de datos Herramientas para monitorear y mejorar el desempeo de la base de datos

    FIGURA 1.5Ventana Denicin de Tabla en Microsoft Access

    StdFirstName StdLastName StdCity StdState StdZip StdMajor StdClass StdGPAHOMER WELLS SEATTLE WA 98121-1111 IS FR 3.00BOB NORBERT BOTHELL WA 98011-2121 FIN JR 2.70CANDY KENDALL TACOMA WA 99042-3321 ACCT JR 3.50WALLY KENDALL SEATTLE WA 98123-1141 IS SR 2.80JOE ESTRADA SEATTLE WA 98121-2333 FIN SR 3.20MARIAH DODGE SEATTLE WA 98114-0021 IS JR 3.60TESS DODGE REDMOND WA 98116-2344 ACCT SO 3.30

    FIGURA 1.4

    Visualizacin de la Tabla Estudiante desde Microsoft Access

    Propiedades de lacolumna StdSSN

    TextoTextoTextoTextoTextoTextoTextoNumricoTexto

    Tamao del campoFormatoMscara de entrada LeyendaValor por omisin Regla de validacin Texto de validacin RequeridoPermitir la longitud 0 Indizado Compresin Unicode

    General Vistazo

    Estudiante : Tabla

    Un nombre de campo puede ser de hasta 64 caracteres de longitud,

    incluyendo los espacios. Presione F1 para obtener

    ayuda en los nombres de

    campos.

    Nombre del campo Tipo de dato Descripcin

    Propiedades del campo

  • 8 Parte Uno Introduccin a los ambientes de base de datos

    de denicin Entidad-Relacin de la gura 1.6, se pueden denir las relaciones entre tablas. Una vez denida la estructura, la base de datos puede comenzar a poblarse. Los datos de la gura 1.4 deben agregarse cuando se han completado la ventana de Denicin de Tablas y la ventana de Denicin de Relaciones.

    1.2.2

    Acceso no proceduralLa funcin ms importante de un DBMS es la habilidad de responder a las consultas. Una con-sulta es una solicitud de datos que responde a una pregunta. Por ejemplo, el usuario podra co-nocer a los clientes que tienen grandes estados de cuenta o productos con ventas fuertes en una regin en particular. El acceso no procedural permite que los usuarios con habilidades compu-tacionales limitadas realicen consultas. El usuario especica las partes que desea extraer de una base de datos y no los detalles de implementacin que ocurren con dicha extraccin. Los detalles de la implementacin involucran procedimientos de cdigo complejo con bucles. Los lengua-jes no procedurales no tienen sentencias de bucles (for, while, etc.), ya que slo se especican las partes a extraer de una base de datos.

    lenguaje de base de datos no procedural un lenguaje tal como SQL que permite espe-cicar las partes a las cuales se tiene acceso en una base de datos sin tener que codicar un procedimiento complejo. Los lenguajes no pro-cedurales no incluyen sentencias anidadas.

    Los accesos no procedurales pueden reducir el nmero de lneas de cdigo por un factor de 100 cuando se comparan con un acceso procedural. Debido a que una gran parte del software de negocios involucra el acceso a datos, el acceso no procedural puede proporcionar una mejora dramtica en la productividad del software. Para apreciar el signicado del acceso no procedural consideremos su analoga con la planeacin de unas vacaciones. Usted especica el destino, el presupuesto de viaje, la duracin y la fecha de salida. Estos hechos indican el que de su viaje. Para especicar el cmo de su viaje necesita indicar muchos detalles ms, como la mejor ruta hacia su destino, su hotel preferido, la transportacin terrestre, etc. El proceso de planeacin es mucho ms sencillo si tiene un profesional que le ayude con estos detalles adicionales. Como un profesional de la planeacin, un DBMS lleva a cabo el proceso de planeacin detallado para responder a las consultas expresadas en un lenguaje no procedural. La mayora de los DBMS proporcionan ms de una herramienta para el acceso no procedu-ral. La sentencia SELECT de SQL, descrita en el captulo 4, constituye una forma no procedural para acceder a una base de datos. La mayora de los DBMS tambin proporcionan herramientas grcas para acceder a las bases de datos. La gura 1.7 ilustra una herramienta grca disponi-ble en Microsoft Access. Para enviar una consulta a la base de datos el usuario nicamente tiene que indicar las tablas, las relaciones y las columnas requeridas. Access es responsable de generar el plan para obtener los datos solicitados. La gura 1.8 muestra el resultado de la ejecucin de la consulta de la gura 1.7.

    FIGURA 1.6 Ventana de denicin Entidad Relacin de Microsoft Access

    Relaciones

    Tablas

    Relaciones

  • Captulo 1 Introduccin a la administracin de base de datos 9

    1.2.3

    Desarrollo de aplicaciones e interfase del lenguaje proceduralLa mayora de los DBMS van ms all del simple acceso a los datos, pues proporcionan herra-mientas grcas para construir aplicaciones completas usando formularios y reportes. Los for-mularios para captura de datos proporcionan una herramienta adecuada para introducir y editar la informacin, mientras que los reportes mejoran la apariencia de los datos desplegados y su impresin. El formulario de la gura 1.9 puede usarse para agregar asignaciones de un curso nuevo para un profesor, o bien, para modicar las asignaciones existentes. El reporte de la gura 1.10 usa la sangra (la indentacin) para mostrar los cursos impartidos en cada facultad y por departamento. El estilo de sangra puede ser ms sencillo a la vista que el estilo tabular mostrado en la gura 1.8. Se pueden desarrollar muchas formas y reportes con una herramienta grca sin codicar de forma detallada. Por ejemplo, las guras 1.9 y 1.10 se desarrollaron sin cdigo. El captulo 10 describe los conceptos implcitos en el desarrollo de formularios y reportes. El acceso no procedural hace posible la creacin de formularios y reportes sin un cdigo ex-tenso. Como parte de la creacin de un formulario o reporte, el usuario indica los requerimientos de datos utilizando lenguaje carente de procedimientos (SQL) o una herramienta grca. Para completar la denicin de un formulario o reporte, el usuario indica el formato de los datos, la interaccin del usuario y todos los detalles.

    interfase de lenguaje procedural un mtodo para combi-nar un lenguaje no pro-cedural, como SQL, con un lenguaje de progra-macin, como COBOL o Visual Basic.

    Adems de las herramientas para el desarrollo de aplicaciones, una interfase de lenguaje procedural agrega todas las capacidades de un lenguaje de programacin. El acceso sin pro-cedimientos y las herramientas de desarrollo de aplicaciones, aunque adecuadas y potentes, algunas veces no son lo sucientemente ecientes o no proporcionan el nivel de control ne-cesario para el desarrollo de aplicaciones. Cuando estas herramientas no son adecuadas, los DBMS proporcionan todas las capacidades de un lenguaje de programacin. Por ejemplo, Visual Basic for Applications (VBA) es un lenguaje de programacin integrado a Microsoft

    FIGURA 1.7 Ventana de diseo de consultas de Micro-soft Access

    Relacin

    Tabla

    Columna

    FIGURA 1.8 Resultado de ejecutar la consulta de la gura 1.7

    StdFirstName StdLastName StdCity OfferNo EnrGradeMARIAH DODGE SEATTLE 1234 3.8BOB NORBERT