Procesamiento de Bases de Datos.pdf

689
OCTAVA EDICIÓN FUNDAMENTOS, DISEÑO E IMPLEMENTACIÓN

Transcript of Procesamiento de Bases de Datos.pdf

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    1/687

    O C T A V A E D I C I N

    F U N D A M E N TO S ,D I S E O E

    I M P L E M E N TA C I N

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    2/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    3/687

    PROCESAMIENTODE BASES DE DATOS

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    4/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    5/687

    PROCESAMIENTO

    DE BASES DE DATOSFundamentos, diseo e implementacinOctava edicin

    David M. Kroenke

    TRADUCCINDra. Ana Elizabeth Garca Hernndez

    Escuela Superior de Ingeniera Qumica e Industrias Extractivas, Instituto Politcnico Nacional

    REVISIN TCNICA M. en C. Juan Ral Esparza Martnez

    Departamento de Computacin Bsica, Instituto Tecnolgico y de Estudios Superiores de Monterrey, Campus Monterrey

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    6/687

    Authorized translation from the English Language edition, entitled DatabaseProcessing: Fundamentals, Design & Implementation. Eighth Edition by DavidM. Kroenke, published by Pearson Education, Inc., publishing as PRENTICEHALL, INC., Copyright 2002. All rights reserved.ISBN 0-13-064839-6

    Traduccin autorizada de la edicin en idioma ingls, titulada Database Processing: Fundamentals, Design & Implementation, Eighth Edition, por David M.Kroenke, publicada por Pearson Education, Inc., publicada como PRENTICE-HALL INC., Copyright 2002.Todos los derechos reservados

    Esta edicin en espaol es la nica autorizada.

    Edicin en espaolEditor: Guillermo Trujano Mendoza

    e-mail: [email protected] de desarrollo: Lorena PontonesSupervisor de produccin: Enrique Trejo Hernndez

    Edicin en inglsPublisher: Natalie E. AndersonExecutive Editor, MIS: Bob HoranAssociate Editor: Kyle Hannon

    OCTAVA EDICIN, 2003

    D.R. 2003 por Pearson Educacin de Mxico, S.A. de C.V.Atlacomulco Nm. 500, 5 PisoIndustrial Atoto, Naucalpan de JurezC.P. 53519, Edo. de Mxico

    Cmara Nacional de la Industria Editorial Mexicana.Reg. Nm. 1031.

    Prentice Hall es una marca registrada de Pearson Educacin de Mxico, S.A. de C.V.

    Reservados todos los derechos. Ni la totalidad ni parte de esta publicacinpueden reproducirse, registrarse o transmitirse, por un sistema de recuperacinde informacin, en ninguna forma ni por ningn medio, sea electrnico,mecnico, fotoqumico, magntico o electroptico, por fotocopia, grabacin ocualquier otro, sin permiso previo por escrito del editor.

    El prestamo, alquiler o cualquier otra forma de cesin de uso de este ejemplarrequerir tambin la autorizacin del editor o de sus representantes.

    ISBN 970-26-0325-0

    Impreso en Mxico. Printed in Mexico.1 2 3 4 5 6 7 8 9 0 - 05 04 03 02

    Datos de catalogacin bibliogrfica

    KROENKE, DAVID M.

    Procesamiento de Bases de Datos Fundamentos, diseo e implementacin

    PEARSON EDUCACIN, Mxico, 2003

    ISBN: 970-26-0325-0rea: Universitario

    Formato: 21 27 cm Pginas: 688

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    7/687

    Prefacio xiii

    PARTE I INTRODUCCIN 11 Introduccin al procesamiento de bases de datos 32 Introduccin al desarrollo de una base de datos 25

    PARTE II MODELACIN DE DATOS 493 El modelo entidad-relacin 514 El modelo de objeto semntico 79

    PARTE III DISEO DE BASES DE DATOS 1195 El modelo relacional y la normalizacin 1216 Diseo de bases de datos utilizando modelos de entidad-relacin 1517 Diseo de bases de datos con modelos de objeto semntico 183

    PARTE IV IMPLEMENTACIN DE BASES DE DATOS CON EL MODELORELACIONAL 209

    8 Fundamentos de la implementacin relacional 2119 Lenguaje de consulta estructurado 235

    10 Diseo de aplicaciones de bases de datos 257PARTE V PROCESAMIENTO DE BASES DE DATOS MULTIUSUARIO 293

    11 Administracin de bases de datos multiusuario 29512 Administracin de bases de datos con Oracle 32913 Manejo de bases de datos con SQL Server 2000 365

    PARTE VI PROCESAMIENTO DE BASES DE DATOS EMPRESARIAL 40514 Redes, arquitecturas multicapa y XML 40715 ODBC, OLE DB, ADO y ASP 441

    16 JDBC, pginas del Servidor Java y MySQL 48117 Distribucin de datos de la empresa 515PARTE VII PROCESAMIENTO DE BASES DE DATOS ORIENTADA A OBJETOS 553

    18 Procesamiento de Bases de Datos orientadas a objetos 555

    Apndice A Estructuras de datos para el procesamiento de bases de datos 585Apndice B Modelos de objeto semntico con Tabledesigner 607Glosario 633Bibliografa 655

    v

    resumen de contenido

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    8/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    9/687

    Contenido

    Prefacio xiii

    PARTE I INTRODUCCIN 11 INTRODUCCIN AL PROCESAMIENTO DE BASES DE DATOS3

    Cuatro ejemplos de bases de datos 3La relacin de los programas de aplicaciones y los DBMS 11

    Sistemas de procesamiento de archivos 12Sistemas de procesamiento de base de datos 14Denicin de una base de datos 15Historia del procesamiento de la base de datos 17Resumen 21Preguntas del grupo I 22Proyectos 23Preguntas del proyecto FiredUp 23

    2 INTRODUCCIN AL DESARROLLO DE UNA BASE DE DATOS25La base de datos 25DBMS 29Creacin de la base de datos 30Componentes de aplicaciones 34Procesos para el desarrollo de una base de datos 41Resumen 44Preguntas del grupo I 45Preguntas del grupo II 46Preguntas del proyecto FiredUp 46

    PARTE II MODELACIN DE DATOS 493 EL MODELO ENTIDAD-RELACIN 51Elementos del modelo entidad-relacin 51

    Diagramas de entidad-relacin de estilo UML 62Ejemplos 67Bases de datos como modelos de modelos 73Resumen 74Preguntas del grupo I 75Preguntas del grupo II 76Proyectos 76Preguntas del proyecto FiredUp 77

    vii

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    10/687

    viii Con ten ido

    4 EL MODELO DE OBJETO SEMNTICO79Objetos semnticos 80Creacin de modelos de datos con objetos semnticos 86Tipos de objetos 94Comparacin del objeto semntico con el modelo E-R 111Resumen 113

    Preguntas del grupo I 114Preguntas del grupo II 115Proyectos 115Preguntas del proyecto FiredUp 116

    PARTE III DISEO DE BASES DE DATOS 1195 EL MODELO RELACIONAL Y LA NORMALIZACIN121

    El modelo relacional 122

    Normalizacin 126De la primera a la quinta formas normales 128Forma normal dominio-llave 133Sntesis de relaciones 139Dependencias multivaluadas, iteracin 2 142Optimizacin 143Resumen 145Preguntas del grupo I 146Preguntas del grupo II 147Preguntas del proyecto FiredUp 150

    6 DISEO DE BASES DE DATOS UTILIZANDO MODELOS DE ENTIDAD-RELACIN 151Transformacin de los modelos entidad-relacin en diseosde bases de datos relacionales 151

    Ejemplo de diseo 167rboles, redes y listas de materiales 169Resumen 177Preguntas del grupo I 178Preguntas del grupo II 180Proyectos 180Preguntas del proyecto FiredUp 180

    7 DISEO DE BASES DE DATOS CON MODELOS DE OBJETO SEMNTICO183Transformacin de objetos semnticos en diseos

    de bases de datos relacionales 183Objetos de muestra 198Resumen 203Preguntas del grupo I 204Preguntas del grupo II 205Proyectos 206Preguntas del proyecto FiredUp 207

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    11/687

    PARTE IV IMPLEMENTACIN DE BASES DE DATOSCON EL MODELO RELACIONAL 209

    8 FUNDAMENTOS DE LA IMPLEMENTACIN RELACIONAL211Denicin de datos relacionales 211

    Manejo de datos relacionales 216lgebra relacional 221Resumen 231Preguntas del grupo I 231

    9 LENGUAJE DE CONSULTA ESTRUCTURADO235Consulta de una sola tabla 236Consultas de tablas mltiples 244Exists y not exists 248Cambio de datos 250Resumen 252

    Preguntas del grupo I 252Preguntas del grupo II 254Preguntas del proyecto FiredUp 254

    10 DISEO DE APLICACIONES DE BASES DE DATOS257Funciones de una aplicacin de base de datos 257Caso de aplicacin: Galera View Ridge 259Crear, leer, actualizar y borrar instancias de vistas 262Diseo de formas 269Diseo de reportes 274Cumplimiento de restricciones 277

    Seguridad y control 286Lgica de la aplicacin 288Resumen 288Preguntas del grupo I 289Preguntas del grupo II 291Proyectos 291Preguntas del proyecto FiredUp 292

    PARTE V PROCESAMIENTO DE BASES DE DATOSMULTIUSUARIO 293

    11 ADMINISTRACIN DE BASES DE DATOS MULTIUSUARIO295Administracin de la base de datos 296Control de concurrencia 298Seguridad de la base de datos 311Recuperacin de la base de datos 318Resumen 324Preguntas del grupo I 325Preguntas del grupo II 327

    Con ten ido ix

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    12/687

    x Con ten ido

    Proyecto 327Preguntas del proyecto FiredUp 328

    12 ADMINISTRACIN DE BASES DE DATOS CONORACLE 329Instalacin de Oracle 330Creacin de una base de datos de Oracle 330Lgica de la aplicacin 343Diccionario de datos 352Control de concurrencia 353Seguridad de Oracle 356Respaldo y recuperacin con Oracle 357Temas no analizados en este captulo 358Resumen 359Preguntas del grupo I 360Proyectos 362Preguntas del proyecto FiredUp 363

    13 MANEJO DE BASES DE DATOS CONSQL SERVER2000 365Instalacin de SQL Server 2000 365Creacin de una base de datos con SQL Server 2000 366Lgica de la aplicacin 382Control de concurrencia 392Seguridad 394Respaldo y recuperacin 395Temas que no se analizaron en este captulo 398Resumen 399Preguntas del grupo I 400Proyectos 401Preguntas del proyecto FiredUp 402

    PARTE VI PROCESAMIENTO DE BASE DE DATOSEMPRESARIAL 40514 REDES, ARQUITECTURAS MULTICAPA YXML 407

    Entornos de Red 407Arquitectura multicapa 410Lenguajes de marcaje HTML y DHTML 415XML: Lenguajes de marcaje extensible 417Resumen 436Preguntas del grupo I 437Preguntas del grupo II 438Preguntas del proyecto FiredUp 439

    15 ODBC, OLE DB, ADOYASP 441El ambiente de datos en un servidor de la red 441Estndar de la conectividad abierta de una base de datos (ODBC) 444OLE DB 449ADO (Objetos de Datos Activos) 453Ejemplos de ADO 458Resumen 477Preguntas del grupo I 478Preguntas del grupo II 479Preguntas del proyecto FiredUp 480

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    13/687

    Con ten ido xi

    16 JDBC, PGINAS DELSERVIDOR JAVA YMYSQL 481 JDBC 481Pginas del Servidor Java 491MySQL 503Resumen 509Preguntas del grupo I 510

    Preguntas del grupo II 512Proyectos 512Preguntas del proyecto FiredUp 513

    17 DISTRIBUCIN DE DATOS DE LA EMPRESA515Arquitecturas del procesamiento de la base de datos empresarial 515Descarga de datos 522Procesamiento analtico en lnea (OLAP) 527Data warehouses 535Administracin de datos 542Resumen 547Preguntas del grupo I 549Preguntas del grupo II 551

    PARTE VII PROCESAMIENTO DE BASES DE DATOSORIENTADA A OBJETOS 553

    18 PROCESAMIENTO DEBASES DEDATOS ORIENTADAS A OBJETOS555Esbozo de la programacin orientada a objetos 556Ejemplo de OOP 557Persistencia de objetos 560Persistencia de objetos mediante Oracle 564Estndares ODBMS 572Resumen 581Preguntas del grupo I 582Preguntas del grupo II 583

    APNDICE A ESTRUCTURAS DE DATOS PARA EL PROCESAMIENTO DE BASES DE DATOS585Archivos planos 585Representacin de las relaciones binarias 593Representaciones de las llaves secundarias 601Resumen 604Preguntas del grupo I 605Preguntas del grupo II 606

    APNDICE B MODELOS DE OBJETO SEMNTICO CONTABLEDESIGNER607Creacin de un modelo de objeto semntico 609Un modelo SOM de ingeniera de reversa 617Edicin de las vistas de bases de datos en la red 624Pasos siguientes 630Ejercicios 630

    GLOSARIO 633BIBLIOGRAFA 655NDICE 659

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    14/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    15/687

    Prefacio

    De acuerdo con Alan Greenspan, Presidente de la Reserva Federal de los Estados Unidosde Amrica, la informacin tecnolgica ha permitido aumentos sin precedente en laproductividad de los negocios. En tanto que Internet tiene la mayora de los crditos,detrs del escenario de la base de datos la tecnologa desempea un papel clave. Des-pus de todo, Internet es slo un sistema de comunicacin; su valor primordial radicaen los datos y en la informacin que transmite hacia y desde las bases de datos.

    Las novedades del punto com pueden ocasionar que los estudiantes se preguntensi el valor de estas tecnologas declinar con el tiempo. Nada puede estar ms lejos dela verdad. Lou Gestner, presidente de IBM, estableci hace varios aos los verdaderosbenecios de Internet y describi las tecnologas que existiran, slo despus de que s-tas hubieran sido aceptadas por la corriente principal: la corporativa de Estados Unidospor las as llamadas compaas de la vieja economa. En la aplicacin actual deesta tecnologa de bases de datos subyacen importantes oportunidades para cada tipode negocios y actividades empresariales (as como para los futuros profesionales de ba-ses de datos).

    Lo anterior signica que nunca ha existido un momento mejor para estudiar elprocesamiento de bases de datos. De las bases de datos de los escritorios personales, alas grandes bases de datos interorganizacionales distribuidas en las computadoras de lared mundial, las bases de datos estn aumentando en forma importante los activos delas empresas. La tecnologa de las bases de datos se utiliza en mercadotecnia, ventas,produccin, operaciones, nanzas, cuentas bancarias, administracin y, de hecho, entodas las disciplinas empresariales, con el n de aumentar la productividad en sus res-pectivas actividades.

    Adems, despus del frenes de aos recientes con respecto a las nuevas tecnolo-gas y sus productos, los elementos principales de la administracin moderna de las ba-ses de datos ahora se han vuelto claras. Contina siendo esencial el conocimiento con-ceptual de la modelacin y diseo de bases de datos; as mismo, el modelo relacional yel SQL son tan importantes como en el pasado. La administracin de bases de datos,especialmente la tecnologa que apoya a los administradores de bases de datos multi-usuarios, ha adquirido mayor importancia debido a que todas las que usan la nuevatecnologa son multiusuario.

    Adems, la tecnologa para las bases de datos publicadas en la Web, especialmentelas arquitecturas tritier y multitier, XML, pginas de servidor activo (ASP) y pginas delservidor Java (JSP), han surgido como vencedoras entre muchos contendientes para lapublicacin de la base de datos. De acuerdo con estas tecnologas, tanto ODBC, con

    OLE DB, como JDBC continan siendo importantes.En resumen, la tecnologa de bases de datos es ms importante que nunca y es nece-sario ensearla de una manera mucho ms clara que durante los cinco aos anteriores.

    C ARACTERSTICAS DE LA PRESENTE EDICINDe acuerdo con lo que ya comentamos, la segunda parte de este texto ha sido reescritapor completo. Casi todo el contenido de los captulos 11 al 16 es nuevo. Las principa-les tareas de la administracin de bases de datos se estudian en el captulo 11, en el 12se ilustran con Oracle, y en el captulo 13 de nuevo con el servidor SQL. En el captulo14 se estudian las tecnologas bsicas para la publicacin de bases de datos en la Web,y dichas tecnologas se ilustran para ODBC, OLE DB, IIS, y ASP en el captulo 15, y de

    xiii

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    16/687

    xiv Pre fac io

    nueva cuenta con JDBC, JSP, y MySQL en el captulo 16. El captulo 17 incluye infor-macin sobre OLAP, mientras que el 18 introduce construcciones con el nuevo objetorelacional de Oracle.

    Dirigir todos estos temas a una sola meta es un reto y creo que debemos conside-rar muy seriamente que es necesario dedicarse todo un ao al estudio de las bases dedatos. Mientras tanto, si quiere estudiar slo un tema y no tiene tiempo, esta edicinha sido escrita para que usted elija entre tres series de tecnologas alternativas.

    Especcamente, considerando el modelado de datos, el texto se reere al modeloentidad-relacin y al modelo de objeto semntico. Si el tiempo es breve, quizs ustedquiera abarcar slo el modelo E-R, porque es el ms popular. De manera similar, consi-derando las bases de datos de usuarios mltiples, elija Oracle en el captulo 12 o el Ser-vidor SQL en el captulo 13, dependiendo de las necesidades de los profesionales en sucomunidad. Finalmente, considere la publicidad en la Web y si el tiempo es breve, eli-ja IIS, ASP y ODBC en el captulo 15; o Java, JDBC y JSP en el 16. No se perder la con-tinuidad si selecciona slo uno de estos. Por supuesto, si no tiene restricciones de tiem-po, todos los temas son importantes.

    Concepto Alternativa 1 Alternativa 2

    Modelacin de datos Modelo entidad-relacin Modelo de objetocaptulos 3 y 6 semnticocaptulos 4 y 7

    DBMS1 multiusuario Oracle SQL Servercaptulo 13 captulo 14

    Publicidad en la Web IIS, ASP, ODBC Java, JDBC, JSPcaptulo 15 captulo 16

    Esta edicin incluye tambin nuevas series de ejercicios al nal del captulo, loscuales se aplican a una compaa pequea que produce, comercializa y promocionauna lnea de estufas de campamento. El objetivo de estos ejercicios es capacitar a los es-

    tudiantes para que apliquen los conocimientos que obtengan de cada captulo en unapequea, real, aunque limitada aplicacin.

    P ANORAMA CAPTULO POR CAPTULOEste texto consta de siete partes. La primera introduce al procesamiento de bases de da-tos. El captulo 1 ilustra aplicaciones simples, dene trminos bsicos y bosqueja la his-toria del procesamiento de bases de datos. El captulo 2 ilustra el desarrollo de una basede datos simple y una aplicacin usando Microsoft Access XP.

    La segunda parte versa sobre el modelado de datos. En el captulo 3 se analiza elmodelo entidad-relacin y muestra cmo se ha integrado a UML, o al lenguaje de mo-delacin unicado. El captulo 4 presenta el modelo de objeto semntico, una alternati-va de modelacin de datos para el modelo E-R. El tema de la tercera parte es el diseo de

    la base de datos. En el captulo 5 se analizan el modelo relacional y la normalizacin. Elcaptulo 6 aplica las ideas de los captulos 3 y 5 para transformar los modelos entidad-re-lacin en diseos de bases de datos relacionales. En el captulo 7 se trabajan las ideas delos captulos 4 y 5 para transformar los modelos de los objetos semnticos en diseosde bases de datos relacionales.

    La cuarta parte aborda los fundamentos de la implementacin de la base de datosrelacional. El captulo 8 presenta un panorama, el 9 estudia un proceso SQL y el 10 des-cribe el diseo de las aplicaciones de la base de datos relacional. En la quinta parte se

    1 Database management system, DBMS por sus siglas en ingls.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    17/687

    Pre fac io xv

    aborda la administracin de una base de datos multiusuarios. En el captulo 11 se des-cribe la administracin de la base de datos y se analizan importantes aspectos de unproceso de base de datos multiusuarios, incluyendo control de concurrencia, seguri-dad, respaldo y recuperacin. Las ideas que se presentan en el captulo 11 se ilustrancon Oracle en el captulo 12. En el captulo 12 tambin se ilustra SQL para la denicinde datos. De igual manera, el 13 reeja el anlisis del captulo 11 para ilustrar la admi-nistracin de bases de datos multiusuarios usando SQL Server.

    La publicacin de bases de datos en la Web se analiza en la sexta parte. En el cap-tulo 14 se establecen los fundamentos del procesamiento de la red, las arquitecturasmulticapa y XML. En el captulo 15 se aplican estos conceptos utilizando la tecnologaMicrosoft, incluyendo ODBC, OLE DB, IIS y ASP. En el captulo 16 se aplican los con-ceptos del captulo 14 utilizando Java; esto incluye JDBC, JSP y MySQL. Los conceptosse ilustran con ejemplos utilizando Linux y Apache Tomcat. Despus, en el captulo17 se abordan los usos de la administracin de datos y se analiza OLAP.

    La sptima parte slo contiene un captulo en el cual se analiza el procesamientode bases de datos orientadas a objetos. Lo nuevo en este captulo es un anlisis del ob-jeto relacional de Oracle, sus caractersticas y funciones. El apndice A contiene un bre-ve comentario con respecto a las estructuras de datos, y el apndice B ilustra el uso deldiseador de tablas, un producto que se puede utilizar para desarrollar los modelos deobjeto semntico y convertirlos en diseos de bases de datos y pginas ASP.

    R ECONOCIMIENTOSEl cambio drstico en la segunda mitad de esta edicin se debe a conversaciones muyconstructivas y tiles con mi editor, Bob Horan, as como a las revisiones excepcional-mente provechosas e ilustrativas de las siguientes personas:

    Jack Becker, Universidad del Norte de TexasWilliam D. Burg, Universidad de Alabama en BirminghamBhushan Kapoor, Universidad Estatal de California-FullertonDonald. R. Moscato, Colegio IonaNancy L. Russo, Universidad del Norte de IllinoisBehrooz Sagha, Universidad Estatal de Chicago

    Joseph L. Sessum, Universidad Estatal KennesawAshraf Shirani, Universidad estatal de San JosLudwig Slusky, Universidad estatal de California-Los ngelesAdems, a Marty Murray del Colegio de la Comunidad de Portland quien me alen-

    t y ayud a desarrollar el material de Oracle en el captulo 12. Estoy en deuda conWarner Schyerer de la Corporacin SoundDev, en Seattle, por la idea de incluir JSP yMySQL en el captulo 16. Tambin gracias a Jude Stoller, de SoundDev, quien revis elmaterial. Agradezco especialmente a Chris Wilkens de Safaridog.com, quien me con-dujo a travs del proceso de instalacin de Linux, Apache y Tomcat.

    Gracias a Microsoft por comercializar la versin para estudiantes de su producto.Tambin gracias a Thorsten Ganz, presidente de Coolstrategy.com, quien hizo dispo-nible el diseador de tablas para estudiantes utilizando este texto y a Kenji Kawai, elcual contina desempeando un papel fundamental en el desarrollo de los productosbasados en el modelo de objeto semntico. Gracias especiales a Kyle Hannon de Pren-tice-Hall quien dirigi el texto y los componentes de apoyo y se asegur que funciona-ran bien; tambin agradezco a Vanessa Nuttry, de Prentice-Hall, la cual hbilmente di-rigi el proceso de produccin. Por ltimo, expreso mi agradecimiento a Lynda por suamor, apoyo y aliento.

    El procesamiento de bases de datos es un tema fascinante que se ha desarrollado yha evolucionado durante ms de treinta aos, y creo que continuar cuando menos enlos siguientes aos. A usted lector, le deseo un gran xito en su exploracin de muchasoportunidades futuras!

    David KroenkeSeattle, Washington

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    18/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    19/687

    PARTE

    INTRODUCCIN

    lLos dos captulos que conforman la parte I introducen eltema del procesamiento de la base de datos. El captulo 1describe cuatro aplicaciones fundamentales de sta y ana-liza sus ventajas con respecto al antiguo procesamiento desistemas de archivos. Tambin se define el trminobasede datos y se estudia la historia de su procesamiento. En elcaptulo 2 se describen los elementos de una base de datosy se analizan las funciones de un sistema de administra-

    cin de base de datos (DBMS, por sus siglas en ingls). Estaintroduccin concluye en el captulo 2 con el resumen delas tareas que son necesarias para desarrollar una basede datos y sus aplicaciones.

    La parte I proporciona un panorama con respecto a lasnecesidades de las bases de datos, la naturaleza de suscomponentes y sus aplicaciones. El propsito es establecerel fundamento para estudiar los detalles relativos a losconceptos y la tecnologa de la base de datos en los captu-los siguientes.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    20/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    21/687

    Introduccinal procesamientode bases de datosEl procesamiento de bases de datos ha sido siempre un tema importante en el estudiode los sistemas de informacin. Sin embargo, en los ltimos aos la expansin de In-ternet y el drstico desarrollo de la nueva tecnologa para Internet ha hecho del cono-cimiento de la tecnologa de bases de datos una de las carreras ms apasionantes. Latecnologa de bases de datos permite que las aplicaciones de Internet den un paso msall del simple folleto publicitario que caracteriz a las primeras aplicaciones. Al mis-

    mo tiempo, proporciona un medio estandarizado y de rpido acceso para dar a conocera los usuarios el contenido de bases de datos. Ninguno de estos nuevos desarrollos igno-ra la necesidad de bases de datos de aplicaciones bsicas que fueron vitales para los in-tereses de los negocios antes de que surgiera Internet. Simplemente aumentan la impor-tancia que tiene el conocimiento de bases de datos.

    Para muchos estudiantes este tema es agradable e interesante, aunque lo conside-ren un gran reto. El diseo y desarrollo de bases de datos implica arte e ingeniera. Lacomprensin de los requerimientos del usuario y su traduccin en diseos eficaces debases de datos es un proceso artstico. Transformar esos diseos en bases de datos fsicascon plena funcionalidad, y hacer aplicaciones de alto rendimiento es un proceso de in-geniera. Ambos aspectos estn llenos de retos y son acertijos intelectuales divertidos.

    Debido a la inmensa necesidad tecnolgica de bases de datos, a las habilidades queusted desarrollar y al conocimiento que obtendr en este curso, le auguramos que ten-

    dr muchas oportunidades de trabajo. El objetivo de este texto es proporcionarle fun-damentos slidos sobre la tecnologa fundamental de bases de datos para que puedainiciar una afortunada carrera en este campo, si as lo decide.

    CUATRO EJEMPLOS DE BASES DE DATOS

    El propsito de una base de datos es ayudar a las personas a dar seguimiento a las co-sas. Las aplicaciones clsicas de bases de datos se refieren al seguimiento de artculos ta-les como rdenes, clientes, empleos, empleados, llamadas telefnicas, u otros aspectosde inters para una persona de negocios. Recientemente se ha aplicado la tecnologa de

    3

    CAPTULO 1

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    22/687

    4 P ar te u no I nt ro du cc i n

    FIGURA 1-1

    Tablas de datos parala pintora de casas

    Mary Richards

    bases de datos en Internet, no slo en el caso de aplicaciones clsicas, sino tambin enel de nuevas aplicaciones como anuncios dirigidos a las caractersticas del cliente y alseguimiento de las observaciones de ste y de sus hbitos de compra en las pginasWeb. Estas bases de datos incluyen datos fotogrficos, de audio y de vdeo, as como in-formacin tradicional como nombres, antecedentes y nmeros telefnicos. Los cuatroejemplos que veremos a continuacin ilustran el uso de la tecnologa de las bases dedatos a travs de este amplio rango de aplicaciones.

    PINTORA DE CASAS M ARY R ICHARDSMary Richards es una pintora profesional de casas que es la propietaria y operadora deuna pequea compaa, integrada por ella, otro pintor profesional y, cuando es necesario,pintores de medio tiempo. Mary ha estado en el negocio durante diez aos y se ha gana-do la reputacin de ser profesional y ofrecer precios razonables. Ella consigue la mayorade los trabajos con clientes que la contratan en varias ocasiones y tambin a travs de lasreferencias y recomendaciones que dan sus clientes a otras personas; adems consigue al-go de trabajo con los constructores y diseadores profesionales de interiores.

    Los clientes recuerdan mejor a Mary de lo que ella los recuerda a ellos. De hecho,algunas veces se avergenza cuando un cliente le llama y le dice algo como: Hola Ma-ry, habla John Maples. Pintaste mi casa hace tres aos. Ella sabe que debera recordara todo aquel que le llama por el trabajo que realiz, pero pinta ms de 50 casas al aoy es difcil que recuerde algunos clientes en particular. Esta situacin empeora cuandoellos le dicen: A mi vecino le gust el trabajo que realizaste en nuestra casa y le gusta-ra algo similar para la suya.

    Con el fin de ayudar a su memoria y dar un mejor seguimiento a sus registros, Marytena un especialista que desarroll una base de datos y la aplicacin que utiliza en sucomputadora personal. La base de datos almacena registros de los clientes, trabajos y fuen-tes de referencias en forma de tablas, como se muestra en el ejemplo de la figura 1-1.

    ste es el trabajo de un programa llamado sistema administrador de base de datos(DBMS) que almacena y recupera datos de estas tablas. Por desgracia, cuando estos da-

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    23/687

    C a p tu l o u n o I n t r o du c c i n a l p r o c e sa m i e nt o de b as e s d e da t o s 5

    FIGURA 1-2

    Muestra de la formade entrada de datos dela pintora de casas

    Mary Richards

    FIGURA 1-3

    Muestra de unreporte para la

    pintora de casas Mary Richards

    tos estn en forma de tablas no son muy tiles para Mary, porque lo que ella necesitaes saber cmo se relacionan entre s los clientes, trabajos y referencias; por ejemplo,qu trabajos se han hecho para determinado cliente, o quin ha llegado gracias a unarecomendacin de alguien en particular.

    Para lograr esto, el asesor de Mary cre una aplicacin de base de datos que procesaformas de entrada de datos y produce reportes. Considere como ejemplo la forma de lafigura 1-2. Aqu, Mary teclea los datos de sus clientes, tales como nombre, telfono y di-reccin. Tambin los relaciona con una fuente de referencia en particular y teclea losdatos de los trabajos que realiz para ellos. Dichos datos se pueden mostrar entonces enforma de reportes, como el que se muestra en la figura 1-3. Otros usos de la base de da-tos incluyen el registro de las cotizaciones, el seguimiento de las fuentes de referencia yla produccin de etiquetas para enviar por correo la publicidad de ventas directas.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    24/687

    6 P ar te u no I nt ro du cc i n

    Servidor de labase de datos

    Computadora de lagerente del almacn

    Computadorasde los vendedores

    Red de rea local

    Base de datospara

    alquiler deinstrumentos

    FIGURA 1-4

    Red de rea local conel servidor de la basede datos que usa lacasa de msicaTreble Clef

    La aplicacin de la base de datos y el DBMS procesan la forma y almacenan los da-tos que se introducen en tablas como las de la figura 1-1. De igual manera, la aplica-cin y el DBMS extraen los datos de dichas tablas para crear un reporte similar al dela figura 1-3.

    Considere nuevamente los datos de la figura 1-1 y observe que los renglones en lastablas son referencias cruzadas y estn vinculados entre s. Cada JOB (TRABAJO) contie-ne CUSTOMER_ID (identificacin del cliente) (CLIENTE_ID), el CLIENTE que pag por

    ese TRABAJO y cada CLIENTE lleva SOURCE_ID (la identificacin de la fuente) (FUENTE_ID), o la persona que lo recomend. Estas referencias se usan para combinar datos yproducir formas y reportes como los que se muestran en las figuras 1-2 y 1-3.

    Como se podr imaginar, es poco probable que Mary sepa cmo disear las tablasde la figura 1-1, cmo utilizar un DBMS para crear esas tablas, y cmo desarrollar laaplicacin para elaborar formas y reportes. Cuando termine este curso, usted sabr c-mo usar la tecnologa de bases de datos para crear una, as como sus aplicaciones. Tam-bin ser capaz de disear y manipular tablas para crear formatos y reportes de mayorcomplejidad.

    C ASA DE MSICA TREBLE CLEF

    La base de datos de Mary Richards se llama base de datos de unsolo usuario , porque s-lo uno tiene acceso a sta en un momento determinado. En algunos casos, esta limita-cin es demasiado restrictiva; mucha gente necesita tener acceso a la base de datos si-multneamente desde mltiples computadoras. Estas bases de datosmultiusuarios sonms complicadas porque el DBMS y la aplicacin deben sostener el trabajo del usuariosin la interferencia de los otros usuarios.

    La casa de msica Treble Clef usa una aplicacin de base de datos para mantener elseguimiento de los instrumentos musicales que renta. Necesita una aplicacin multiu-suarios porque, durante los periodos de trabajo, varios vendedores pueden rentar ins-trumentos musicales al mismo tiempo. Tambin, la gerente del almacn necesita teneracceso a la base de datos de renta para determinar cundo ordenar ms instrumentosde determinado tipo, sin que se interrumpa el proceso de alquiler al hacer esto.

    El almacn de la casa Treble Clef tiene una red local que conecta a varias compu-tadoras personales con un servidor, el cual mantiene la base de datos de alquiler, como semuestra en la figura 1-4. Cada empleado tiene acceso a la aplicacin de la base de datosmediante las tres formas ilustradas en la figura 1-5. La Customer form (forma que elcliente llena) se usa para mantener los datos de ste, la Rental Agreement form (forma

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    25/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    26/687

    8 P ar te u no I nt ro du cc i n

    del convenio de renta) se utiliza para darle seguimiento a los instrumentos que han sidorentados, si ya fueron regresados o no, y la Instrument Data form (forma de datos del ins-trumento) que se utiliza para mostrar sus caractersticas y los antecedentes del alquiler.

    Para comprender los problemas que se deben enfrentar en una base de datos mul-tiusuarios, considere lo que sucedera cuando dos clientes intentaran rentar el clarine-te plano-B al mismo tiempo. El DBMS y los programas de aplicacin deben detectarque esta situacin est ocurriendo e informar a los empleados que tienen que escoger

    otro instrumento.

    OFICINA ESTATAL DE LICENCIAS Y REGISTRO DE VEHCULOSAhora consideremos una aplicacin an mayor de la tecnologa de base de datos: unaoficina estatal de licencias y de registro de vehculos. Tiene 52 centros de pruebas demanejo, expedicin de licencias para conductores, renovacin de licencias de manejo,y tambin 37 oficinas que expiden registros de vehculos.

    El personal tiene acceso a una base de datos para realizar su trabajo. Antes de quea las personas se les otorgue o renueve su licencia de conducir, hay que verificar sus re-gistros en la base de datos para buscar posibles infracciones de trnsito, accidentes oarrestos. Estos datos se utilizan para determinar si la licencia debe o no ser renovada,o si se debe otorgar con ciertas limitaciones. De igual manera, el personal del departa-mento de registro de automviles tiene acceso a la base de datos para determinar si unauto ha sido registrado antes y, si es as, quin lo registr, o si existe algn asunto im-portante que impida expedir el registro.

    Esta base de datos tiene cientos de usuarios, incluyendo no slo al personal de laslicencias y registros, sino al del departamento estatal de contribuciones y del departa-mento jurdico. No es de extraar que la base de datos sea grande y compleja, con msde 40 diferentes tablas de datos, muchas de las cuales contienen cientos de miles derenglones.

    Las bases de datos de las grandes organizaciones, como la oficina de licencias y regis-tros, fueron las primeras aplicaciones de este tipo de tecnologa. Estos sistemas han existi-do durante 20 o 30 aos y se han modificado para satisfacer los cambios que ocurrierondurante ese periodo. Otros ejemplos de bases de datos organizacionales se relacionan conel procesamiento de cuentas en bancos e instituciones financieras, sistemas de produc-cin y de suministro de material en fbricas grandes, procesamiento de registros mdicosen hospitales, y en compaas de seguros y agencias gubernamentales.

    Actualmente muchas organizaciones estn adaptando sus aplicaciones de bases dedatos para permitir a los clientes tener acceso, e incluso cambiar sus datos, por mediode Internet. Si usted llegara a trabajar en una gran organizacin importante, probable-mente le podran asignar ese proyecto.

    CENTRO DE RESERVACIONES DE LA ISLA C ALVERTLa isla Calvert es muy poco conocida; es una isla hermosa en la costa oeste de Canad.

    Para promover el turismo en un mercado internacional, la Cmara de Comercio de laisla Calvert ha desarrollado un sitio Web que tiene tres finalidades:

    Promover la belleza y las oportunidades recreativas que brinda la isla Obtener y almacenar datos de nombres y direcciones de los visitantes del sitio Web

    para darles seguimiento con el envo de promociones por correo Obtener y almacenar solicitudes de reservacin para hoteles, cabaas y servicios tu-

    rsticos y comunicrselo a los vendedores

    Se utilizan dos bases de datos para apoyar a este sitio Web. La primera es una basede datos promocional que almacena datos, fotos, vdeoclips y algunos pequeos soni-

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    27/687

    C a p tu l o u n o I n t r o du c c i n a l p r o c e sa m i e nt o de b as e s d e da t o s 9

    FIGURA 1-6

    Pgina Webdel Centro dereservacionesde la isla Calvert

    dos del lugar, actividades e instalaciones en la isla Calvert. Esta base de datos tiene dostipos de usuarios: el normal, que ingresa slo con fines de lectura y utiliza explorado-res estndar. Estos usuarios pueden posicionarse y hacer clic alrededor del sitio Webpara ver las actividades e instalaciones que les pueden interesar. Detrs de escena, unaaplicacin de base de datos est extrayendo datos y elementos multimedia de la basede datos promocional (vase la figura 1-6).

    El segundo tipo de usuario de la base de datos promocional es un empleado de la

    Cmara de Comercio que se encarga del sitio. El empleado agrega, cambia, borra datosy archivos multimedia en la base de datos, como por ejemplo cambios de promocio-nes. Los vendedores entran y salen del programa y dan respuesta a las preguntas de losusuarios.

    Adems de la base de datos promocional, las aplicaciones en el sitio Web procesanuna base de clientes y reservaciones, la cual almacena los datos que ingresan cuando losvisitantes del sitio Web llenan un formato de encuesta y solicitan una reservacin.Los datos acerca del nombre del cliente, la direccin postal y de correo electrnico, in-tereses, preferencias y las solicitudes de reservacin se conservan en la base de datos.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    28/687

    10 P ar te u no I nt ro du cc i n

    Incluye datos estructurados y datos multimedia

    Las formas y reportes se despliegan a travs de un explorador estndar

    Los datos se transfieren a travs de estndares de Internet, tales comoHTTP, DHTML y XML

    FIGURA 1-7

    Caractersticas de lasaplicaciones detecnologa de Internet

    Cuando ingresa una solicitud, la aplicacin la enva a un vendedor a travs del correoelectrnico. Peridicamente se prepara un resumen de los reportes de reservacin y se leenva por correo electrnico a los vendedores para que den seguimiento a los posiblesclientes, pero tambin sirve para otros propsitos de administracin.

    Tres caractersticas principales de la base de datos de la isla Calvert la distinguen delas aplicaciones anteriores. En primer lugar, una gran parte de la primera base de datoscontiene no slo datos estructurados, tales como los nombres de los vendedores, sinotambin corrientes de bits no estructuradas de archivos multimedia. Segundo, el conte-nido de la aplicacin se reparte al usuario a travs de un explorador estndar. Las for-mas que se usan para Treble Clef y la oficina de licencias tienen un formato especficoque cre el diseador y slo cambia cuando se modifica la aplicacin. En contraste, los

    usuarios de la isla Calvert ven la forma en un formato que se determina no slo me-diante las aplicaciones, sino tambin por la etiqueta, la versin y las opciones localesque usan sus exploradores.

    La tercera caracterstica diferente de la aplicacin de la isla Calvert es que se us la tec-nologa estandarizada orientada a la Web para transferir datos entre el explorador, la aplica-cin y la base de datos. Se utilizanprotocolo de transferencia de hipertexto (HTTP,por sus siglas en ingls), lenguaje dinmico para marcar hipertexto (DHTML, porsus siglas en ingls), y el lenguaje de marcado extendible (XML, por sus siglas eningls). Usando estos medios estndar cualquier usuario que tenga un explorador puede ac-ceder a esta aplicacin. El software no debe estar instalado previamente en sus computado-ras. Consecuentemente, el uso de esta aplicacin es virtualmente ilimitado. Analizaremosel papel de HTTP, DHTML y XML para las aplicaciones de bases de datos en los captulos 14al 16. (Vase la figura 1-7.)

    COMPARACIN DE APLICACIONES DE BASES DE DATOSEstos ejemplos representan una muestra con respecto a los usos de la tecnologa de ba-ses de datos. Cientos de miles de bases de datos son como la que usa la pintora de casasMary Richards: de un solo usuario con una cantidad relativamente pequea de datos,digamos de tan slo 10 megabytes. Las formas y reportes por lo general son simples ysencillas.

    Hay otras bases, como la que usa la casa de msica Treble Clef, que tienen ms de unusuario, pero casi siempre un poco menos de 20 o 30 usuarios juntos. Contienen unacantidad moderada de datos, digamos 50 o 100 MB. Las formas y reportes son necesa-riamente bastante ms complicados para apoyar diferentes funciones de negocios.

    Las bases de datos ms grandes, como las del registro de autos, tienen miles deusuarios y trillones de bytes de datos. Estn en uso muchas aplicaciones diferentes, y ca-da una tiene sus propias formas y reportes. Por ltimo, algunas bases de datos implicanel uso de la tecnologa de Internet y de procesos, de caracteres y datos multimedia talescomo fotografas, sonidos, animaciones, pelculas y similares. En la figura 1-8 se resu-men las caractersticas de estos tipos de bases de datos.

    Cuando usted concluya este libro deber ser capaz de disear y crear bases de da-tos y aplicaciones como las que se usaron con Mary Richards y la casa Treble Clef. Pro-bablemente no podr crear una tan grande y compleja como la de la oficina de registrode vehculos, pero podr desempearse como un miembro eficaz de un equipo que di-see y cree una. Tambin deber ser capaz de crear una base de datos pequea o media-na utilizando la tecnologa de Internet.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    29/687

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    30/687

    12 P ar te u no I nt ro du cc i n

    Aplicacin delprocesamiento

    de clientes

    Usuario delarchivo de clientes

    Aplicacin delprocesamiento

    de renta

    Usuario delarchivo de renta

    Archivode clientes

    Archivode renta

    FIGURA 1-10

    Sistemas de procesamientode archivos

    te texto considera el diseo y la formacin de bases de datos, con frecuencia nos referi-remos al diseo y desarrollo de la aplicacin de la base de datos. Despus de todo, nin-gn usuario quiere slo una base de datos. En realidad, los usuarios quieren formas, re-portes y consultas que estn basadas en sus datos.

    Segunda, de vez en cuando observar una sobreposicin entre el material analiza-do en esta clase y el que estudi en su clase de desarrollo de sistemas, debido a que de-sarrollar aplicaciones de bases de datos eficaces requiere muchas de las habilidades que

    ha aprendido o aprender en su clase de desarrollo de sistemas. Asimismo, actualmen-te la mayora de las clases de desarrollo de sistemas comprenden el diseo de bases dedatos. La diferencia entre los dos cursos es el nfasis. Aqu, nuestro enfoque se centraen el diseo, la construccin y el procesamiento de bases de datos. En una clase de sis-temas, el inters principal radica en el desarrollo de los sistemas de informacin, mu-chos de los cuales usan tecnologa de bases de datos.

    SISTEMAS DE PROCESAMIENTO DE ARCHIVOS

    La mejor forma para entender la naturaleza general y las caractersticas de las bases dedatos actuales es ver las caractersticas de los sistemas que precedieron al uso de la tec-nologa de bases de datos. Estos sistemas revelan los problemas que ha resuelto dichatecnologa.

    Los primeros sistemas de informacin de negocios almacenaban grupos de regis-tros en archivos por separado y eran llamados sistemas de procesamiento de archivos.Por ejemplo, la figura 1-10 representa dos sistemas de procesamiento de archivos quepodra usar Treble Clef. Un sistema procesa los datos de CUSTOMER y otro los datosdel RENTAL (ALQUILER).

    Aunque los sistemas de procesamiento de archivos han mejorado mucho con res-pecto a los sistemas manuales de registro, tienen importantes limitaciones: Los datos estn separados y aislados La mayora de los datos estn duplicados Los programas de aplicacin dependen de los formatos de los archivos Con frecuencia los archivos son incompatibles entre s Es difcil representar los datos de acuerdo con las perspectivas de los usuarios

    D ATOS SEPARADOS Y AISLADOSLos vendedores de Treble Clef necesitan relacionar a sus clientes con los instrumentos quealquilan. Para el sistema de la figura 1-10, los datos necesitan extraerse de algn modo delos archivos CUSTOMER y RENTAL y combinarse en un tercer archivo. Con el procesa-miento de archivos esto es difcil de realizar. Primero, los analistas de sistemas y los pro-gramadores deben determinar qu partes de cada archivo son necesarias; entonces, tienenque decidir cmo se relacionan entre s los archivos, y por ltimo, deben coordinar el pro-

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    31/687

    C a p tu l o un o I n t r o du c c i n a l p r o c es a m i e nt o de b as e s de d a to s 13

    cesamiento de stos de tal modo que se extraigan los datos correctos. La coordinacin dedos archivos es bastante difcil, pero imagnese la tarea de coordinar 10 o ms de ellos!

    DUPLICACIN DE DATOSEn el ejemplo de Treble Clef se puede almacenar muchas veces el nombre de un clien-te, su direccin y otros datos. Esto es, los datos de CUSTOMER son almacenados unavez y otra ms por cada contrato de RENTAL que tenga el cliente. Si bien con esta du-plicacin de datos se desperdicia espacio de archivo, este no es el problema ms serio,sino que esa duplicacin afecta laintegridad de datos.

    Un conjunto de datos tiene integridad si stos son lgicamente consistentes. Confrecuencia se tienen datos de integridad pobre cuando estn duplicados. Por ejemplo,si un cliente cambia su nombre o direccin, entonces deben actualizarse todos los ar-chivos que contienen los datos; pero lo peligroso es que todos los archivosno puedanactualizarse y causen discrepancias entre s. En el ejemplo de Treble Clef el cliente nopuede tener una direccin para un registro de RENTAL y una direccin diferente paraun segundo registro de RENTAL.

    Los problemas de integridad de datos son serios. Si los elementos de datos difieren,se producirn resultados inconsistentes e incertidumbre. Si un reporte de una aplica-cin es diferente al de otra, quin decidir cul es el correcto? Cuando los resultadosson inconsistentes se duda de la credibilidad de los datos almacenados, e incluso de lapropia funcin MIS.

    DEPENDENCIA DEL PROGRAMA DE APLICACINCon el procesamiento de archivos los programas de aplicacin dependen de los formatosde los archivos. Usualmente, en sistemas de procesamiento de archivos las formas fsi-cas de archivos y registros son parte del cdigo de aplicacin. En COBOL, por ejemplo,los formatos de los archivos estn escritos en DATA DIVISION. El problema es quecuando se hacen cambios en los formatos de archivos, tambin se deben modificar losprogramas de aplicaciones.

    Por ejemplo, si se modifica el registro del cliente para extender el campo de zip code

    (cdigo postal) de cinco a nueve dgitos, se deben modificar todos los programas que em-plean el registro del cliente, aun cuando no se utilice el campo de cdigo postal. Lo ante-rior se debe a que ah puede haber 20 programas que procesen el archivo CUSTOMER; es-to significa que cuando hay cambio el programador tiene que identificar todos losprogramas afectados, modificarlos y despus probarlos nuevamente; estas tareas consu-men tiempo y tienden a producir errores. Tambin, los programadores requieren modifi-car los programas que no usen el campo cuyo formato ha cambiado, lo cual es una prdi-da de dinero.

    ARCHIVOS INCOMPATIBLESUna de las consecuencias que tiene la dependencia de datos del programa es que losformatos de los archivos dependen del lenguaje o del producto que se us para gene-rarlo. De esta forma, el formato de un archivo procesado con un programa de COBOLes diferente al de uno procesado con un programa C++.

    Como resultado, los archivos no se pueden combinar o comparar rpidamente. Sesupone, por ejemplo, que el archivo FILE-A contiene los datos de CUSTOMER, que in-cluyen el CustomerNumber (NmerodeCliente), y el archivo FILE-B contiene los datosde RENTAL, que tambin incluyen NmerodeCliente. Suponga que una aplicacin re-quiere que combinemos registros donde coinciden los nmeros de clientes. Si el FILE-Afuera procesado mediante un programa de Visual Basic, y el FILE-B con un programaC++, necesitaramos convertir ambos archivos a una estructura comn antes de podercombinar los registros. Esto tomara tiempo y a veces sera difcil. Los problemas em-peoran conforme aumenta el nmero de archivos que hay que combinar.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    32/687

    L A DIFICULTAD DE REPRESENTAR LOS DATOSDESDE LA PERSPECTIVA DE LOS USUARIOS

    Es difcil representar los datos del procesamiento de archivos de una manera que parez-ca natural a los usuarios. Ellos quieren ver los datos de RENTAL en un formato como elde la figura 1-5(b). Pero para mostrarlos de esta forma se necesitan extraer, combinar ypresentar juntos varios archivos diferentes. Esta dificultad surge porque con el procesa-miento de archivos las relaciones entre los registros no se representan o procesan rpi-damente. Debido a que un sistema de procesamiento de archivos no puede determinarde inmediato cul CUSTOMER ha alquilado qu instrumento, es difcil producir unaforma que muestre las preferencias del cliente.

    SISTEMAS DE PROCESAMIENTO DE BASE DE DATOS

    La tecnologa de bases de datos se desarroll para superar las limitaciones de los siste-mas de procesamiento de archivos. Para entender cmo, compare el sistema de proce-samiento de archivos de la figura 1-10 con el sistema de bases de datos de la figura 1-9.Los programas de procesamiento de archivos acceden directamente a los archivos de

    datos almacenados. En contraste, los programas de procesamiento de la base de datosinvocan al DBMS para tener acceso a los datos almacenados. Esta diferencia es signifi-cativa porque facilita la programacin de la aplicacin; es decir, los programadores deaplicaciones no tienen que preocuparse por cmo se almacenan fsicamente los datos,y quedan en libertad de concentrarse en asuntos que sean importantes para el usuario,en lugar de distraerse con aquellos que competen al sistema de computacin.

    D ATOS INTEGRADOSEn un sistema de base de datos todos los datos de aplicacin estn almacenados en unmedio simple llamadobase de datos. Un programa de aplicacin puede ordenarle alDBMS que acceda a los datos del cliente, a los de las ventas, o a ambos. Si los dos sonnecesarios, el programador de la aplicacin slo especifica cmo se combinan y el DBMSrealiza las operaciones necesarias. As, el programador no es responsable de escribir los pro-gramas para consolidar los archivos, como se debe hacer en el sistema de la figura 1-10.

    R EDUCCIN DE DATOS DUPLICADOSCon el procesamiento de bases de datos la duplicacin es mnima. Por ejemplo, en la ba-se de datos de Treble Clef el nmero de cliente, nombre y direccin se almacenan una so-la vez. Siempre que el DBMS necesita estos datos puede recuperarlos y despus modificar-los, slo requiere autorizacin. Debido a que los datos se almacenan en un solo lugar, losproblemas de integridad son menos comunes y hay menos oportunidad de que existandiscrepancias entre las mltiples copias de los mismos elementos de los datos.

    INDEPENDENCIA DE DATOS / PROGRAMASEl procesamiento de bases de datos reduce la dependencia de los formatos del archivo.Todos los formatos de registro se almacenan en la misma base (junto con los datos) y elDBMS tiene acceso a ellos, no mediante los de aplicacin. A diferencia de los progra-mas de procesamiento de archivos, los de aplicacin de base de datos no necesitan in-cluir el formato de todos los registros y los archivos que procesan. En cambio, slo losprogramas de aplicacin deben contener una definicin (la longitud y el tipo de datos)de cada uno de los datos que se necesitan de la base. El DBMS localiza los datos en losregistros y maneja otras transformaciones similares.

    La independencia de datos/programas minimiza el impacto de los cambios en el for-mato de los datos en los programas de aplicacin. Los cambios en los formatos se introdu-

    14 P ar te u no I nt ro du cc i n

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    33/687

    cen al DBMS, el cual actualiza los datos y mantiene la relacin con la estructura de la ba-se de datos. La mayora de las veces los programas de aplicacin no se enteran de que elformato ha cambiado. Esto tambin significa que cuando se agregan, cambian o borrandatos de la base slo deben modificarse los programas que usan esos datos en particular.En aplicaciones que constan de docenas de programas esto representa un considerableahorro de tiempo.

    R EPRESENTACIN FCIL DE LAS PERSPECTIVAS DEL USUARIOComo descubrir a travs de este texto, la tecnologa de bases de datos hace posible re-presentar en una forma sencilla los objetos que se encuentran en el mundo del usua-rio. Las formas de la figura 1-5 pueden producirse rpidamente a partir de una base dedatos, ya que estn almacenadas en ella las relaciones entre los registros de datos.

    DEFINICIN DE UNA BASE DE DATOS

    El trminobase de datos tiene muchas interpretaciones diferentes. Se ha usado para re-ferirse a un conjunto de tarjetas indexadas a los volmenes y volmenes de datos queun gobierno recopila acerca de sus ciudadanos. En este texto, usamos este trmino con unsignificado especfico:una base de datos es un conjunto autodescriptivo de registros integrados.Es importante comprender plenamente esta definicin.

    UNA BASE DE DATOS ES AUTODESCRIPTIVAUna base de datos es autodescriptiva: contiene, adems de los datos fuente del usua-rio, una descripcin de su propia estructura. Esta descripcin se llamadiccionariode datos (o tambin directorio de datos o metadatos ).

    En este sentido, una base de datos es similar a una biblioteca, la cual integra unacoleccin de libros autodescriptivos. Adems de los libros, la biblioteca contiene un ca-tlogo de tarjetas que los resean. De la misma manera, el diccionario de datos (que esparte de la base, al igual que el catlogo de tarjetas es parte de la biblioteca) describe lo

    que contiene la base de datos.Por qu es tan importante la caracterstica autodescriptiva de una base de datos?En primer lugar, porque fomenta la independencia de datos/programas; es decir, haceposible determinar la estructura y el contenido de la base de datos examinndola. Noes necesario adivinar qu contiene, ni necesitamos mantener documentacin externadel archivo, o de los formatos de registro (como se hace en los sistemas de procesa-miento de archivos).

    En segundo lugar, si cambiamos la estructura de los datos en la base (por ejemplo,cuando se agregan nuevos datos a un registro existente), slo se introduce el cambio enel diccionario de datos. Se necesita cambiar muy pocos programas, si es que realmente esmuy necesario. En la mayora de los casos slo se debe suplir aquellos programas queprocesan los datos modificados.

    UNA BASE DE DATOS ES UN CONJUNTO DE REGISTROS INTEGRADOSLa jerarqua estndar de los datos es la siguiente: los bits se agrupan en bytes o caracte-res; los caracteres se agrupan en campos; los campos integran registros, y los registrosse agrupan en archivos (vase la figura 1-11 [a]). Es tentador seguir la tendencia estable-cida y decir qu archivos conforman las bases de datos. Aunque este enunciado es ver-dadero, no funciona del todo bien.

    Una base de datos incluye archivos de datos del usuario, pero tambin ms. Comomencionamos anteriormente, una base de datos contiene una descripcin de s mismaen los metadatos. Adems, incluyendices que se utilizan para representar las relacio-nes entre los datos, y tambin para mejorar el desarrollo de las aplicaciones de la base

    C a p tu l o un o I n t r o du c c i n a l p r o c es a m i e nt o de b as e s de d a to s 15

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    34/687

    16 P ar te u no I nt ro du cc i n

    Bits Campos

    (a )

    (b )

    Registros ArchivosBytes

    ocaracteres

    Bits Campos Registros Archivos+

    Metadatos+

    ndices+

    Metadatosde aplicacin

    Byteso

    caracteres

    Basede datos

    FIGURA 1-11

    Jerarqua de los elementos de datos en: (a) sistemas de procesamiento de archivos, y (b) sistemas de base de datos

    de datos. Por ltimo, la base con frecuencia contiene datos acerca de las aplicaciones queusa. La estructura de la forma de entrada de datos, o de un reporte, a veces es parte dela base. A esta ltima categora de datos se le llamametadatos de aplicacin. As, unabase contiene los cuatro tipos de datos que se muestran en la figura 1-11(b): archivos dedatos del usuario, metadatos, ndices y metadatos de aplicacin.

    UNA BASE DE DATOS ES UN MODELO DE UN MODELOUna base de datos es un modelo. Es tentador decir que es un modelo de la realidad, o dealguna parte de la realidad en la medida en que se relaciona con un negocio. Sin embar-go, esto no es verdad. Una base de datos no es un modelo de la realidad ni de una partede sta, sino un modelo delmodelo del usuario . Por ejemplo, la base de datos de Mary Ri-chards es un modelo de la forma en que ella percibe su negocio. Para ella, su negociotiene clientes, trabajos y referencias, as que su base de datos contiene representacionesde los hechos que relacionan esas caractersticas. Los nombres y las direcciones de losclientes, las fechas y las descripciones de sus trabajos, y los nombres de sus fuentes dereferencias son medidas importantes para ella, desde el punto de vista de su negocio.

    Las bases de datos varan en su nivel de detalle. Algunas son simples y burdas. Unalista de clientes y de las cantidades que stos adeudan es una representacin aproxima-da del modelo mental de Mary. Una representacin ms detallada incluye trabajos, re-ferencias y los viajes que se efectan para llevar a cabo cada trabajo. Una representa-cin muy detallada contiene la cantidad y el tipo de pintura que se utiliz, cuntasbrochas se necesitaron y las horas que requiri cada tarea en particular; por ejemplo,medir, pintar madera, pintar paredes, limpiar, etctera.

    El grado de detalle que debe incorporarse a una base de datos depende de la infor-macin que se requiera. Evidentemente, mientras ms informacin se necesita, la basede datos debe ser lo ms detallada posible. Decidir la cantidad apropiada de detalles esuna parte importante del trabajo para el diseo de una base de datos. Como lo descu-brir, el criterio principal es el nivel de detalle que est en la mente de los usuarios.

    La base de datos es un modelo dinmico porque cambia los negocios. Las personasvan y vienen, los productos surgen y se descontinan, el dinero se gana y se gasta. Dela misma manera en que ocurren estos cambios, los datos que representan los negociostambin deben ser modificados. De lo contrario, los datos se volvern obsoletos y re-presentarn errneamente al negocio.

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    35/687

    Las transacciones son representaciones de sucesos. Cuando stos ocurren, lastransacciones respectivas se deben procesar en funcin de la base de datos. Para realizarlo anterior, alguien (un empleado que introduce datos, un vendedor, o un cajero) activaun programa de proceso de transaccin e introduce los datos correspondientes. El pro-grama llama al DBMS para modificar la base de datos. Los programas transaccin-proce-samiento usualmente producen representaciones o respuestas impresas, tales como lasconfirmaciones de rdenes o los recibos.

    HISTORIA DEL PROCESAMIENTO DE LA BASE DE DATOS

    El procesamiento de la base de datos fue utilizado originalmente en corporaciones im-portantes y en grandes organizaciones, como la base de los sistemas de procesamientode grandes transacciones. Un ejemplo que ya hemos considerado es la oficina de licen-cias y registro de vehculos. Despus, conforme las microcomputadoras ganaron popu-laridad, la tecnologa de bases de datos emigr a las micros y fue utilizada por un slousuario, como las aplicaciones de la base de datos personal que describimos en el caso deMary Richards. Despus, conforme se conectaron en conjunto las micros en gruposde trabajo, la tecnologa de bases de datos avanz hacia grupos de trabajo, como en elejemplo de Treble Clef. Finalmente, ahora las bases de datos se usan para las aplicacio-nes de Internet e intranet.

    EL CONTEXTO ORGANIZACIONALLa aplicacin inicial de la tecnologa de bases de datos fue resolver problemas con elsistema de procesamiento de archivos que analizamos anteriormente. A mediados de1960 las grandes corporaciones estaban produciendo datos con una rapidez impresio-nante en los sistemas de procesamiento de archivos, pero esos datos se volvan difcilesde manejar y el desarrollo de los nuevos sistemas era cada vez ms complicado. Ade-ms, se requera que los procesos de administracin fueran capaces de relacionar losdatos de un sistema de archivo con los de otro.

    Las limitaciones del procesamiento de archivos impidieron la fcil integracin delos datos. Sin embargo, la tecnologa de bases de datos prometi una solucin a estosproblemas, y las grandes compaas comenzaron a desarrollar bases de datos organiza-cionales. Las compaas centralizaron sus datos operativos, tales como rdenes de tra-bajo, inventarios y datos de contabilidad en estas bases. Las aplicaciones fueron inicial-mente sistemas de procesamiento de transaccin en el mbito organizacional.

    Primero, cuando la tecnologa era nueva, las aplicaciones eran difciles de desarrollary haba muchas fallas. Incluso las aplicaciones que funcionaban eran lentas y poco con-fiables, el hardware de la computadora no poda manejar rpidamente el volumen de lastransacciones, los tcnicos de desarrollo an no haban descubierto formas ms eficien-tes para almacenar y recuperar datos, y los programadores an no tenan experiencia enel acceso a bases de datos, o a veces sus programas no trabajaban correctamente.

    Las compaas se enfrentaron a otra desventaja del procesamiento de bases de da-

    tos: la vulnerabilidad. Si un sistema de procesamiento de archivos fallaba, slo esa apli-cacin en particular era eliminada del proceso; pero si la base de datos fallaba, todas lasaplicaciones dependientes seran eliminadas.

    Gradualmente la situacin mejor. Los ingenieros de software y hardware apren-dieron a construir sistemas lo suficientemente poderosos como para manejar muchosusuarios a la vez, con la rapidez suficiente para mantener la carga de trabajo diaria delas transacciones. Se planearon nuevas formas de controlar, proteger y respaldar las ba-ses de datos. Evolucionaron los procedimientos normales para el procesamiento de di-chas bases, y los programadores aprendieron a escribir cdigos ms eficientes y sosteni-bles. A mediados de la dcada de 1970, las bases de datos podan manejar eficientementeaplicaciones de procesos organizacionales confiables. La mayora de estas aplicacionesan funcionan, despus de ms de 25 aos de haber sido creadas!

    C a p tu l o un o I n t r o du c c i n a l p r o c es a m i e nt o de b as e s de d a to s 17

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    36/687

    18 P ar te u no I nt ro du cc i n

    1 E. F. Codd, A relational Model of Data for Large Shared Databanks,Communications of the ACM , junio de 1970, pp. 377-387.

    EL MODELO RELACIONALEn 1970, E. F. Codd public un artculo1 de vanguardia en el que aplic conceptos deuna rama de las matemticas llamada lgebra relacional al problema del almacena-miento de grandes cantidades de datos. El artculo de Codd inici un movimiento enla comunidad vinculada a bases de datos, que en muy pocos aos llev a la definicindel modelo de las bases de datos relacionales. ste constituye una forma particu-

    lar de estructuracin y procesamiento de una base de datos y se analiza detalladamen-te en los captulos 5 y 9-14.La ventaja del modelo relacional es que los datos se almacenan de tal forma que mi-

    nimizan la duplicacin y se eliminan ciertos tipos de errores de procesamiento que pue-den ocurrir cuando se almacenan datos de otras maneras. Los datos se guardan en tablas,con renglones y columnas, como los de la figura 1-1.

    De acuerdo con el modelo relacional, no todas las tablas son igualmente deseables.Utilizando un proceso llamadonormalizacin , una tabla se puede cambiar por dos o msque ya existen. En el captulo 5 aprender con mayor detalle el proceso de normalizacin.

    Otra ventaja importante del modelo relacional es que las columnas contienen da-tos que relacionan un rengln con otro. Por ejemplo, en la figura 1-1 CUSTOMER_IDen la tabla JOB se relaciona con CUSTOMER_ID en la tabla CUSTOMER. Esto hace larelacin entre los renglones visibles al usuario.

    Al principio se pensaba que el modelo relacional permitira al usuario obtener in-formacin de las bases de datos sin ayuda de los profesionales de MIS. Parte de lo razo-nable de esta idea era que las tablas conforman construcciones simples que son intuiti-vamente comprensibles. Adems, puesto que las relaciones estn almacenadas en losdatos, los usuarios podran combinar los renglones cuando fuera necesario. Por ejem-plo, para acceder a un registro de RENTAL, un usuario de la casa Treble Clef podracombinar un rengln de la tabla CUSTOMER con los renglones de la tabla RENTAL.

    Lo anterior volvi este proceso demasiado difcil para la mayora de los usuarios.Por lo tanto, nunca se cumpli la promesa del modelo relacional como medio de acce-so a la base de datos para aquellos que no son especialistas. En retrospectiva, el princi-pal beneficio del modelo relacional era que proporcionaba una forma estndar paraque los especialistas (como usted!) estructuraran y procesaran una base de datos.

    PRODUCTOS DBMS PARA MICROCOMPUTADORASEn 1979 una pequea compaa llamada Ashton-Tate introdujo un producto para mi-crocomputadora: el dBase II (que se pronuncia dibeis dos) al que se le llam un DBMSrelacional. Con una estrategia profesional exitosa, Ashton Tate distribuy gratis ms de100,000 copias para aquellos que compraron la entonces nueva microcomputadora Os-borne. Muchos de los que compraron esas computadoras eran pioneros en la industriade las microcomputadoras. Comenzaron a inventar aplicaciones de microcomputado-ras usando dBase, y el nmero de aplicaciones dBase creci rpidamente. Como resulta-do, Ashton-Tate se convirti en una de las primeras y principales corporaciones en la in-dustria de la microcomputacin. Despus, Borland compr Ashton-Tate, el cual ahoravende la lnea de productos dBase.

    Sin embargo, el xito de este producto confundi y desvirtu el objetivo del procesa-miento de la base de datos. El problema era que de acuerdo con la definicin prevalecien-te a finales de la dcada de 1970, dBase II no era un DBMS ni tampoco era relacional. Enrealidad, era un lenguaje de programacin con capacidades generalizadas de procesamien-to de archivos. Los sistemas que se desarrollaron con dBase II se parecan mucho ms a losque se muestran en la figura 1-10 que a los de la figura 1-9. El milln de usuarios de dBase IIpensaban que estaban usando un DBMS relacional cuando, en realidad, no era cierto.

    As, los trminossistema de administracin de base de datos y base de datos relacionaleran usados libremente cuando comenz el auge de las microcomputadoras. La mayora

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    37/687

    C a p tu l o un o I n t r o du c c i n a l p r o c es a m i e nt o de b as e s de d a to s 19

    de las personas que procesaban una base de datos en microcomputadora realmente admi-nistraban archivos y no tenan los beneficios del procesamiento de la base de datos, aun-que no se daban cuenta. La situacin ha cambiado a medida que el mercado de la micro-computadora se ha vuelto ms maduro y sofisticado. Los productos dBase IV y dBase hanavanzado, al igual que Foxpro, y son verdaderamente productos DBMSrelacionales .

    Aunque dBase fue un pionero en la aplicacin de la tecnologa de bases de datosen microcomputadoras, al mismo tiempo otros vendedores comenzaron a trasladar sus

    productos de las macrocomputadoras a las microcomputadoras. Oracle, Focus e Ingressson tres ejemplos de productos DBMS que voltearon hacia las microcomputadoras. s-tos son realmente productos DBMS y la mayora estara de acuerdo en que tambin sonrelacionales.

    Un impacto del avance de la tecnologa con respecto a las bases de datos en la mi-crocomputadora fue la drstica mejora en las interfaces que emplean los usuarios delos DBMS. Los usuarios de sistemas de microcomputadoras no toleran las torpes y de-sordenadas interfaces con las que generalmente trabajan los usuarios en los productosDBMS de macrocomputadoras. As, conforme se inventaron productos DBMS para mi-crocomputadoras, las interfaces de los usuarios se hicieron ms fciles de usar. Esto fueposible porque los productos DBMS operan en computadoras dedicadas y porque compu-tadoras ms poderosas estn disponibles para procesar la interfaz del usuario. Actualmen-te los productos DBMS son mejores y ms poderosos, con interfaces de usuario grficas ta-

    les como Microsoft Windows.La combinacin de las microcomputadoras, el modelo relacional y las interfaces deusuario bastante mejoradas permitieron que la tecnologa de la base de datos pasara de uncontexto organizacional a uno de computadora personal. Cuando ocurri esto, aumentel nmero de lugares en los que se usaba la tecnologa de las bases de datos. En 1980haba casi 10000 sitios que usaban productos DBMS en Estados Unidos; ahora hayaproximadamente 40 millones de sitios!

    APLICACIONES DE BASES DE DATOS CLIENTE-SERVIDOR A mediados de 1980 los usuarios comenzaron a conectar sus microcomputadoras porseparado utilizando una red de rea local (LAN, por sus siglas en ingls). Dichas redespermitieron a las computadoras el envo de datos de una a otra, a velocidades inimagi-nables. Las primeras aplicaciones de esta tecnologa compartan perifricos, tales comodiscos rpidos de gran capacidad, impresoras costosas y graficadoras, y facilitaban laintercomunicacin a travs del correo electrnico. Sin embargo, con el tiempo losusuarios tambin queran compartir las bases de datos, lo que condujo al desarrollo deaplicaciones multiusuarios en las LAN.

    La arquitectura multiusuarios basada en LAN es muy diferente a la que se usa en lasbases de datos de macrocomputadoras. Con una de stas slo se requiere una CPU en elprocesamiento de la aplicacin de base de datos, pero con los sistemas LAN puedenconfluir simultneamente varias CPU. El hecho de que esta situacin fuera ventajosa(mayor funcionalidad), pero problemtica (coordinar las acciones independientes delas CPU), condujo a un nuevo estilo de procesamiento de bases de datos multiusuarios,que se denomina arquitectura de base de datos cliente-servidor.

    No todo el procesamiento de bases de datos en una LAN es un proceso cliente-ser-vidor. Una forma simple de procesamiento, aunque menos poderosa, se llamaarqui-tectura de archivos compartidos. Una compaa como Treble Clef podra usarmejor esta ltima, puesto que su organizacin es pequea y tiene requerimientos deprocesamiento modestos. Sin embargo, los grandes grupos de trabajo podran requerirun procesamiento cliente-servidor. En el captulo 17 describiremos estos planteamien-tos y los analizaremos detalladamente.

    B ASES DE DATOS UTILIZANDO LA TECNOLOGA DE INTERNETComo se mostr en el ejemplo del centro de reservaciones de la isla Calvert, la tecno-loga de bases de datos se usa en conjunto con la de Internet para publicar bases de da-

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    38/687

    20 P ar te u no I nt ro du cc i n

    tos en la Web. Esta misma tecnologa se usa para publicar aplicaciones sobre intranetscorporativas y organizacionales. Algunos expertos creen que con el tiempo todas las apli-caciones de las bases de datos sern distribuidas con el uso de exploradores y de las tec-nologas de Internet relacionadas, incluso bases de datos personales que sean edi-tadas para una sola persona.

    As, son dos categoras de aplicaciones de bases de datos las que usan la tecnologaInternet. Una consiste en las aplicaciones puras de la base de datos en la Web, tales co-

    mo las aplicaciones de la isla Calvert; otra consiste en la base personal tradicional, gru-pos de trabajo, y bases de datos organizacionales que no se publican en Internet, peroque usan la tecnologa de los exploradores, DHTML y XML. Debido a que es correcto re-ferirse a esta segunda categora como las bases de datos de Internet, este texto se referi-r a ambas categoras comobases de datos que utilizan la tecnologa de Internet.

    Esta categora maneja la carga actual de la tecnologa de las bases de datos. Tam-bin, como se describe en el captulo 14, la XML en particular satisface las necesidadesde las aplicaciones de las bases de datos excepcionalmente buenas, y es la base de mu-chos nuevos productos y servicios de base de datos.

    PROCESAMIENTO DE BASES DE DATOS DISTRIBUIDAS

    Antes de concluir este estudio sobre la historia del procesamiento de las bases de datos,necesitamos analizar dos aspectos que son importantes en teora, pero que no han sidoampliamente adoptados. El primer procesamiento son las bases de datos distribuidas yel segundo, las bases de datos orientadas a objetos. Analizaremos estos temas con msdetalle en los captulos 17 y 18, respectivamente.

    Las aplicaciones de bases de datos organizacionales resuelven los problemas delprocesamiento de archivos y permiten un procesamiento de datos organizacionalesms integrado. Los sistemas de base de datos personal y de grupos de trabajo causanque la tecnologa de las bases de datos est an ms cerca de los usuarios para permitirel acceso a la base de datos de administracin local. Lasbases de datos distribuidascombinan estos tipos de procesamientos permitiendo las personales, las de grupos detrabajo y las organizacionales para combinarse en bases de datos integradas, pero dis-tribuidas. As, en teora, ofrecen aun mayor flexibilidad de acceso a los datos y al pro-cesamiento, pero por desgracia tambin tienen muchos problemas sin resolver.

    La esencia de las bases de datos distribuidas es que se divulgan todos los datos dela organizacin en muchas computadoras microcomputadoras, servidores LAN ymacrocomputadoras que se comunican entre s conforme efectan los procesos. Losobjetivos de los sistemas de bases de datos distribuidas son hacer parecer que cadausuario es el nico que tiene acceso a los datos de la organizacin y proporcionar lamisma consistencia, exactitud y menor tiempo del que el usuario podra ocupar si noestuviera usando la base de datos distribuida.

    Entre los problemas ms apremiantes de las bases de datos distribuidas estn los deseguridad y control. Permitir que muchos usuarios (pueden ser cientos) tengan accesoa la base de datos y controlar lo que hacen son tareas complicadas.

    Los procesos de sincronizacin y coordinacin pueden ser difciles. Si un grupo deusuarios baja y actualiza parte de la base de datos y despus enva esos cambios a la ma-crocomputadora, cmo puede evitar el sistema que mientras tanto otro usuario inten-te usar la versin de los datos que se encuentra en la macrocomputadora? Imagine queeste problema involucra docenas de archivos y cientos de usuarios que usan muchsi-mas piezas del equipo de cmputo.

    Mientras que las transiciones del procesamiento de las bases de datos, desde la or-ganizacional hasta la personal y las de los grupos de trabajo, eran relativamente fciles,las dificultades que enfrentaban los diseadores de la base de datos y los ingenieros delDBMS distribuido eran monumentales. En realidad, aun cuando durante ms de 25aos se ha desarrollado trabajo sobre sistemas de bases de datos distribuidas, todavapersisten problemas importantes. Microsoft ha definido y est construyendo una ar-quitectura de procesamiento de distribucin y una serie de productos de apoyo llama-

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    39/687

    do servidor de transacciones Microsoft (MTS, por sus siglas en ingls). Aun cuandoMTS lo ha prometido y entre todas las compaas Microsoft es la que tiene los recursospara desarrollar y comercializar un sistema as no se sabe con certeza si las bases de da-tos distribuidas podrn satisfacer las necesidades del proceso organizacional actual. Params informacin sobre este tema vea el anlisis de BD OLE en el captulo 15.

    LOS DBMS ORIENTADOS A OBJETOS (ODBMS)A finales de la dcada de 1980 se comenz a usar un nuevo estilo de programacin lla-mado programacin orientada a objetos (OOP, por sus siglas en ingls), el cual tiene unaorientacin muy diferente a la programacin tradicional, como se explica en el cap-tulo 18. En resumen, las estructuras de datos procesados con OOP son mucho mscomplicadas que las desarrolladas con lenguajes tradicionales. Estas estructuras de da-tos tambin son difciles de almacenar en los productos relacionales DBMS. Comoresultado, una nueva categora de productos DBMS llamadossistemas de bases de da-tos orientadas a objetos est evolucionando para almacenar y procesar estructuras dedatos OOP.

    Por muchas razones, la OOP an no se ha usado ampliamente en los sistemasde informacin de negocios. En primer lugar, las aplicaciones OOP son muy difciles deusar y es muy costoso desarrollarlas. En segundo, la mayora de las organizaciones tie-nen millones o billones de bytes de datos que ya estn organizados en bases de datosrelacionales y estn poco dispuestas a enfrentar el costo y el riesgo de convertir esas ba-ses de datos a un formato ODBMS. Por ltimo, la mayora de los ODBMS que se handesarrollado apoyan aplicaciones de ingeniera y no tienen caractersticas y funcionesque sean apropiadas o rpidamente adaptables a las aplicaciones de negocios de infor-macin.

    Consecuentemente, para el futuro previsible, los ODBMS ocupan un nicho en lasaplicaciones de sistemas de informacin comerciales. En el captulo 18 analizaremosOOP, bases de datos orientadas a objetos, y una forma hbrida de Oracle llamada basede datos orientada a objetos, pero la mayor parte del anlisis se enfoca en el modelo re-lacional, puesto que las tecnologas se refieren a lo que usted comnmente usar du-rante los primeros cinco aos de su carrera.

    RESUMEN

    El procesamiento de bases de datos es uno de los cursos ms importantes en la currcu-la de sistemas de informacin. Las habilidades y los conocimientos sobre bases de datostienen gran demanda, no slo en cuanto a las aplicaciones tradicionales, sino tambina las aplicaciones que usan la tecnologa de Internet para redes pblicas y privadas.

    La tecnologa de bases de datos se usa en muchas aplicaciones. Algunas sirven paraun usuario en una sola computadora; otras se utilizan para grupos de trabajo de 20 a 30personas en una LAN; otras ms las utilizan cientos de usuarios e implican billones debytes de datos. Recientemente, la tecnologa de bases de datos se ha combinado con lade Internet para apoyar las aplicaciones multimedia en redes pblicas y privadas.

    Los componentes de una aplicacin de base de datos son la base de datos misma,el sistema de administracin de sta (los DBMS) y los programas de aplicacin. Algunasveces dichos programas estn separados por completo del DBMS; otras, algunas partesmuy importantes de la aplicacin se proporcionan mediante caractersticas y funcio-nes del DBMS.

    Los sistemas de procesamiento de datos almacenan informacin en archivos porseparado, y cada uno contiene un tipo de datos diferente. Los sistemas de procesa-miento de archivos tienen varias limitaciones. Con archivos por separado, es difcilcombinar los datos almacenados en archivos diferentes, como los datos que con fre-cuencia se duplican entre los archivos, lo cual da como resultado problemas de integri-

    C a p tu l o un o I n t r o du c c i n a l p r o c es a m i e nt o de b as e s de d a to s 21

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    40/687

    dad. Los programas de aplicacin dependen de los formatos de archivo, lo cual causaproblemas de mantenimiento cuando cambian los formatos y los archivos se hacen in-compatibles; por lo tanto, se requiere la conversin de archivos. Tambin es difcil re-presentar datos desde las perspectivas de los usuarios.

    Los sistemas de procesamiento de bases de datos se desarrollaron para superar es-tas limitaciones. En el medio ambiente de las bases de datos, el DBMS es la interfaz en-tre los programas de aplicacin y las bases de datos. Los datos estn integrados y se re-

    duce la duplicacin. Los cambios en los formatos fsicos de los datos almacenados sloafectan al DBMS. Si se cambian, agregan o borran conjuntos de datos, pocos programasde aplicacin requerirn mantenimiento. Con la tecnologa de bases de datos es fcilrepresentar objetos en el medio ambiente de los usuarios.

    Una base de datos es un conjunto autodescriptivo de registros integrados. Es auto-descriptivo porque contiene una descripcin de s misma en un diccionario de datos,el cual tambin se conoce como directorio de datos o metadatos. Una base de datos esun conjunto de registros integrados porque la relacin entre stos se almacena en labase. Este arreglo permite al DBMS construir incluso objetos complicados mediantela combinacin de datos con base en las relaciones almacenadas. Las relaciones con fre-cuencia se almacenan en las bases de datos importantes. As, las tres partes que confor-man una base son: la aplicacin de datos, el diccionario y los datos importantes.

    La tecnologa de bases de datos se desarroll en varias etapas. Las primeras bases se

    concentraban en el procesamiento de transaccin de datos organizacionales. Despus,el modelo relacional, junto con las microcomputadoras, permiti al usuario el uso deaplicaciones personalizadas. Con la llegada de las LAN, los departamentos comenzarona implementar bases de datos cliente-servidor para grupos de trabajo. Actualmente, In-ternet y las aplicaciones tradicionales estn siendo repartidas mediante el uso de la tec-nologa de Internet. El procesamiento de distribucin y bases orientadas a objetos sontemas importantes en el procesamiento de bases de datos. Sin embargo, hasta el mo-mento no han tenido xito comercial ni su uso se ha difundido ampliamente en lasaplicaciones para los negocios.

    PREGUNTAS DEL GRUPO 1

    1.1 Por qu es un tema importante el procesamiento de las bases de datos?1.2 Describa la naturaleza y las caractersticas de una aplicacin de base de datos pa-

    ra un solo usuario, como la que se emple en el caso de Mary Richards.1.3 Describa la naturaleza y las caractersticas de una aplicacin de bases de datos que

    utiliza un grupo de trabajo, como en el caso de la casa de msica Treble Clef.1.4 Describa la naturaleza y las caractersticas de una aplicacin de bases de datos que

    emplea una organizacin como la de la oficina de licencias y registro de vehculos.1.5 Describa la naturaleza y las caractersticas de una aplicacin de bases de datos

    en una organizacin como la del centro de reservacin de la isla Calvert.1.6 Explique la naturaleza y la funcin de cada uno de los componentes de la

    figura 1-9.1.7 Cmo cambia con el tiempo la relacin entre los programas de aplicacin y elDBMS?

    1.8 Enumere las limitaciones de los sistemas de procesamiento de archivos, como sedescribi en este captulo.

    1.9 Explique de qu manera la tecnologa de la base de datos super las limitacionesque enumer en su respuesta de la pregunta 1.8.

    1.10 Defina el trminobase de datos.1.11 Qu son los metadatos? Qu son los ndices? Cules son las aplicaciones de

    los metadatos?

    22 P a r t e u n o I n t r o d u c c i n

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    41/687

    1.12 Explique por qu una base de datos es un modelo. Describa la diferencia entreun modelo de la realidad y un modelo de un modelo de la realidad de un usua-rio. Por qu es importante esta diferencia?

    1.13 D un ejemplo, diferente al de este captulo, sobre una aplicacin de bases dedatos personales.

    1.14 Proporcione un ejemplo, diferente al de este captulo, referente a una aplicacin

    de base de datos de un grupo de trabajo.1.15 Mencione un ejemplo, diferente al que se menciona en este captulo, sobre una

    aplicacin de bases de datos en una empresa grande.1.16 Cules eran algunas de las debilidades de las primeras aplicaciones de las bases

    de datos?1.17 Cules son dos de las principales ventajas del modelo relacional?1.18 Resuma los eventos en el desarrollo de los productos DBMS para microcompu-

    tadora.1.19 Cul fue el factor principal que dio lugar a las aplicaciones de la base de datos

    de grupo de trabajo?1.20 Cul es la diferencia entre las arquitecturas cliente-servidor y las multiusuarios?1.21 Cul es la diferencia entre una aplicacin de base de datos de Internet y una

    que usa la tecnologa de Internet?1.22 Explique la naturaleza general del procesamiento distribuido. Cules son algu-

    nos de los problemas que representa?1.23 Describa el propsito de una base de datos orientada a objetos. Por qu estas

    bases de datos no han sido las ms aceptadas para las aplicaciones de sistemasde informacin?

    PROYECTOS

    A. Ingrese al sitio Web de un fabricante de computadoras, como por ejemplo Dell(www.dell.com). Use el sitio Web para determinar qu modelo de computadora porttil(laptop ) recomendara con un costo mximo de $2500*. Cree que se usan una o msbases de datos para manejar este sitio? Si es as, mencione cules funciones o caracters-ticas del sitio Web podran ayudar a la tecnologa de las bases de datos, considerandotanto la definicin de una base de datos como las ventajas de su procesamiento.

    B. Entre al sitio Web de un vendedor de libros al detalle, como por ejemplo Amazon(www.amazon.com). Use el sitio Web para localizar la biografa ms reciente de WilliamWordsworth. Desde su punto de vista, cree que se usan una o ms bases de datos paraeste sitio? Si es as, cules caractersticas y funciones del sitio Web cree que deberan serde ms ayuda para la tecnologa de base de datos, considerando tanto las definiciones deuna base de datos como las ventajas del procesamiento de base de datos?

    PREGUNTAS DEL PROYECTO FIREDUP

    La compaa FiredUp es un negocio pequeo, cuyos propietarios son Curt y Julia Ro-bard. La sede est en Brisbane, Australia. FiredUp fabrica y vende una estufa para cam-po ligera, llamada FiredNow. Curt, quien trabaj previamente como ingeniero aeroes-

    C a p tu l o un o I n t r o du c c i n a l p r o c es a m i e nt o de b as e s de d a to s 23

    *Tome en cuenta el lector que todas las cifras que aparecen en este libro se expresan en dlares es-tadounidenses, a menos que se indique lo contrario. (N. de la R.)

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    42/687

    24 P ar te u no I nt ro du cc i n

    pacial, invent y patent un mechero con el que la estufa permanecer encendida auncuando el viento sea superior a los 160 kilmetros por hora. Julia, una diseadora in-dustrial muy capaz, desarroll un elegante diseo plegadizo pequeo, ligero, fcil deinstalar y muy estable. Los Robard fabrican las estufas en su cochera y las venden direc-tamente a sus clientes a travs de Internet, fax o correo.

    Los propietarios de FiredUp necesitan dar seguimiento a las estufas que han vendi-do, con el fin de poder entrar en contacto con sus usuarios en caso de fallas del produc-

    to u otros asuntos relacionados con ste. Tambin piensan que podran usar su lista declientes para comercializar otros productos que desarrollen en el futuro.

    A. Qu base de datos cree que sera la apropiada para que FiredUp pudiera dar segui-miento a sus estufas y dispusiera de los datos de sus clientes? Explique en qu circuns-tancias sera apropiada una base de datos y en cules no sera adecuada. Describacundo convendra una base de datos personal. En qu casos sera conveniente unabase de datos de un grupo de trabajo? En qu circunstancias le convendra a FiredUptener una base de datos en Internet?

    B. Aplique el mismo problema al registro de un producto que vende la compaa Ca-f Starbucks. Digamos, por ejemplo, que dicha compaa quiere desarrollar la capaci-dad de dar seguimiento a los clientes que le compran mquinas para caf exprs. C-mo responde a las preguntas del inciso A para este caso en particular?

  • 8/10/2019 Procesamiento de Bases de Datos.pdf

    43/687

    Introduccinal de