Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
operativos corre paralela a la de la arquitectura de los computadores. Podemos decir que hasta que no aparecieron los circuitos integrados y el sistema operativo OS/360 de IBM (1965), no se popularizaron varias tcnicas fundamentales, de las que la ms importante es la multiprogramacin. Otra de las caractersticas del OS/360 (y otros de su generacin), era la capacidad de leer trabajos de las tarjetas al disco, de maneras que estos quedaban encolados a la espera de que el sistema operativo concluyera con un trabajo, cargando un nuevo trabajo del disco en la particin de memoria que haba quedado desocupada. Esta tcnica se llama spooling. Posteriormente, surgi otra tcnica relacionada con la multiprogramacin: la de tiempo compartido. Se trata de que en un sistema donde hay varios usuarios con sesiones abiertas, la CPU puede ser asignada a los que requieran servicio. As, unos mandarn trabajos cortos, como la compilacin de programas de cinco pginas, y otros requerirn del sistema que ordene un milln de registros de una cinta. La computadora podra dar un servicio rpido e interactivo a varios usuarios y realizar los trabajos ms largos cuando est ms inactiva. En este sentido, quizs el sistema operativo ms representativo fue MULTICS (MIT, Bell Labs y General Electric), con el que se pretenda soportar cientos de sesiones con tiempo compartido. El proyecto se fue abandonado poco a poco y slo en cierto ambiente de produccin del MIT lleg realmente a ejecutarse. Sin embargo muchas de las ideas de MULTICS tuvieron una enorme influencia en sistemas subsecuentes. Con el desarrollo de los circuitos LCI (Large Scale Integration), chips con miles de transistores en un cm2 de silicio, se inici la era de la computadora personal. La amplia disponibilidad del poder de cmputo, que dio lugar a que podan contarse con grficos excelentes, condujo al crecimiento de una gran industria de produccin de software para computadoras personales. Gran parte de este software es amigable con el usuario, lo que indica que est destinado al usuario que no sabe nada acerca de computadores. Dos sistemas operativos han dominado la escena de las computadoras personales y las estaciones de trabajo (en realidad, computadoras personales grandes): MS-DOS de Microsoft y UNIX. MS-DOS tiene un amplio uso en la IBM PC y otras mquinas con la CPU de la familia Intel (del 8088 al ltimo Pentium o Itanium). UNIX domina en las computadoras que no utilizan a Intel, as como en las estaciones de trabajo (en especial las que poseen chips de alto desempeo RISC). Concepto de sistema operativo Los programas de computador se pueden dividir es dos grupos: los programas del sistema, que gestionan las actividades del computador en s, y los programas de aplicacin, que resuelven los problemas de los usuarios. Si cada programador se tuviera que preocupar de cmo funciona el controlador del disco y de la gran cantidad de errores que pueden ocurrir al leer un bloque de disco, es muy probable que muchos programas no se llegasen a escribir. Precisamente, uno de los programas de sistema ms importante, el sistema operativo, se encarga de administrar todos los recursos del computador y proporcionar el soporte necesario para escribir los programas de aplicacin.
En otras palabras: el sistema operativo es la capa de software sobre el hardware, que se encarga de gestionar todos los elementos del sistema y presentar al usuario una interfaz (funciones de llamadas al sistema), o mquina virtual ms fcil de entender y programar. Pero el sistema operativo, como se ha sealado, no slo proporciona soporte a los programadores, tambin (y quizs sea su labor ms importante), administra los recursos del computador. Un computador consta de procesadores, memorias, temporizadores, discos, terminales, unidades de disco, interfaz a redes de comunicacin, impresoras, etc. El sistema operativo debe asignar, de forma ordenada, los procesadores, memorias y dispositivos de E/S a los diversos programas (procesos) que compiten por ellos. Por ltimo digamos, que la perspectiva que se utiliza aqu (y en el resto de temas relacionados) es la de los sistemas operativos llamados "tradicionales" o centralizados, en contraposicin de los "distribuidos". Un sistema operativo distribuido realiza las mismas funciones que el centralizado pero utilizando un gran nmero de CPU (con todas sus memorias, discos, etc., y dems recursos asociados), y que estn conectados mediante una red de alta velocidad. Objetivos y funciones de un sistema operativo Podemos afirmar que todo sistema operativo tiene dos objetivos: Comodidad: Un sistema operativo hace que un computador sea ms fcil y cmodo de utilizar. Eficiencia: Un sistema operativo permite que los recursos del computador se utilicen de forma eficiente. Las funciones o servicios que proporciona un sistema operativo se llevan a cabo en las siguientes reas: Creacin de programas: El sistema operativo proporciona cierta variedad de servicios y medios para ayudar al programador en la elaboracin de programas. Usualmente, estos servicios son utilidades que no son propiamente del sistema operativo, pero se accede a ellos a travs del mismo. Ejecucin de programas: Para ejecutar un programa es preciso realizar una serie de tareas. Las instrucciones y datos deben cargarse en memoria principal, los dispositivos de E/S y los ficheros deben iniciarse, y deben prepararse otros recursos. El sistema operativo proporciona todo eso al usuario. Acceso a los dispositivos de E/S: El sistema operativo se encarga del conjunto particular de instrucciones y seales de control que necesitan los dispositivos de E/S para operar. De esta manera, el programador piensa slo en trminos de lecturas y escrituras. Acceso controlado a los ficheros: El sistema operativo se ocupa de los detalles sobre la naturaleza del dispositivo donde estn almacenados los ficheros (disco fijo, CD-ROM, etc.), as como del formato de los mismos. Tambin, en el caso de sistemas multiusuarios, el sistema operativo proporciona mecanismos de proteccin para controlar el acceso a los ficheros compartidos. Deteccin de errores: Mientras el computador est funcionando, se pueden producir errores de hardware, internos y externos, tales como errores de memoria, o comportamientos incorrectos de los dispositivos, y errores diversos de software, tales como desbordamientos, el intento de acceso a una posicin de memoria no permitida. En cada caso, el sistema operativo debe responder de forma que se supere el error con el menor impacto para las aplicaciones que se estn ejecutando. Normalmente, lo que har el sistema operativo es abortar el programa que caus el error, reintentar la operacin o notificar el error a la aplicacin.
Contabilidad: El sistema operativo debe almacenar la estadstica de uso de los distintos recursos. Esta informacin es til para anticipar la necesidad de futuras ampliaciones, y ajustes que mejoren las prestaciones del sistema. Tipos de sistemas operativos Para distinguir entre los distintos tipos de sistemas operativos, existen ciertas caractersticas clave. La primera caracterstica clave es si se trata de un sistema de colas (batch) o interactivo. En un sistema interactivo, el usuario interacta directamente con el computador, para solicitar la ejecucin de un trabajo o realizar una transaccin. Un sistema de colas, es lo opuesto. El programa usuario se introduce en una cola junto con programas de otros usuarios. Despus de que el programa ha terminado, los resultados se proporcionan al usuario. La otra caracterstica clave es si el sistema utiliza multiprogramacin o no. Con la multiprogramacin se intenta mantener al procesador ocupado tanto como sea posible, hacindolo trabajar en ms de un programa al mismo tiempo. La alternativa es un sistema de monoprogramacin, que trabaja slo en un programa en cada momento. Hay muchas clasificaciones de sistemas operativos, dependiendo del criterio en que se basen. Segn el punto de vista del usuario Sistemas monousuario: Tienen un solo usuario y estn dedicado, generalmente, a una sola funcin. El interfaz del SO constar bsicamente de un gestor de ficheros sencillo, utilidades que proporcionen facilidades de E/S y un intrprete de comandos tambin sencillo. Sus cualidades son fiabilidad, eficacia, sencillez de uso y facilidad de extensin. Sistemas de tiempo real: Dan respuesta a unas entradas con un tiempo de proceso limitado. Sus funciones principales son: interactuar con dispositivos externos (sensores, vlvulas, etc.), reaccionar de forma inmediata ante cualquier suceso externo, registrar la informacin, tener nocin de tratamientos prioritarios y realizar una planificacin eficiente. Su cualidad principal es la tolerancia a fallos y la disponibilidad. Los campos de aplicacin son gestin de centralitas telefnicas, pilotaje de aviones o vigilancia mdica. Sistemas transaccionales: Sus funciones son gestionar un gran volumen de informacin desde distintos y numerosos puntos de acceso, gestin de un gran nmero de transacciones que se desarrollan simultneamente. Sus cualidades son fiabilidad y disponibilidad. Ejemplos de estos sistemas los tenemos en los de reservas de plazas en lneas areas, gestin de cuentas bancarias o consultas de documentos. Sistemas time-sharing/multiprogramados: Se caracterizan por prestar servicio a un conjunto de usuarios simultneamente, dividiendo el tiempo de mquina en "quantums" para cada usuario (a diferencia de los sistemas multiprogramados en el que el procesamiento es concurrente). El SO es el encargado de conmutar entre los diversos procesos. Sistemas multiprocesador: Se caracterizan por la existencia de varios procesadores centrales compartiendo a veces memoria y perifricos en la ejecucin de instrucciones en paralelo. Sus funciones son las mismas que las de los sistemas timesharing/multiprogramados. Segn la arquitectura del computador Sistemas monolticos: Estn diseados como un conjunto de rutinas compiladas por separado, que pueden llamarse entre s y que se montan para formar el SO, que ser la rutina principal. Como ejemplos tenemos DOS y UNIX. El principal problema de los sistemas monolticos es su diseo poco apropiado para sistemas operativos grandes, son difciles de especificar, codificar, probar y depurar.
Sistemas por niveles o capas: Se introdujeron para mejorar los monolticos. Estos sistemas estn diseados como una jerarqua de niveles, en la que cada nivel hace uso de las facilidades que le proporcionan el hardware y los niveles inferiores a l. Estn constituidos por una serie de mdulos pequeos y fciles de manejar. Un ejemplo de este tipo de SO es MINIX (vase [3]). La principal ventaja de este tipo de sistema es su facilidad de mantenimiento. La principal dificultad es elegir las funciones que deben de asignarse a cada nivel. Tipologa de los sistemas de informacin La tarea de los SI consiste en procesar la entrada, mantener archivos de datos en relacin con la empresa y producir informacin, informes y otras salidas. Estos sistemas estn constituidos por otros subsistemas que incluyen el hardware, software y almacenamiento de datos para los archivos y bases de datos. Llamaremos aplicacin de un sistema de informacin al conjunto formado por equipos, programas, archivos y procedimientos. Por lo tanto, los sistemas de informacin podrn tener aplicaciones de compras, contabilidad, ventas, etc. Los analistas, a la hora de disear los sistemas de informacin se ayudan de organigramas que describen las relaciones de los componentes de una empresa. Sin embargo, existen otros datos que no pueden reflejarse utilizando dichos organigramas, pero que un analista tendr que tener en cuenta. Algunos de estos datos son: Qu interacciones existen entre el personal y los departamentos, pero que no aparecen en los organigramas? En qu otros departamentos y componentes de la empresa se encuentra una de pendencia especfica? Cules son los individuos y elementos del sistema ms importantes para alcanzar con xito los trabajos? Cmo circulan la informacin y las instrucciones entre los componentes de la empresa, y cmo interactan las diferentes reas con las dems? En las empresas, los analistas desarrollan dos tipos diferentes de sistemas de informacin: Los sistemas de procesamiento de transacciones que se ocupan de tareas rutinarias que es necesario efectuar peridicamente. Los sistemas de informacin para la gestin que hacen referencia a la parte de los SI que no se dedica al procesamiento y tratamiento de transacciones, sino a los niveles operativo, tctico y estratgico de la direccin. Son llamados tambin Sistemas de decisiones administrativas se utilizan para dar apoyo directo a los gerentes responsables de la toma de decisiones de la empresa. Les ayudan proporcionndoles informacin importante que servir de entrada al proceso de decisin. Los sistemas de apoyo para la toma de decisiones son un tipo de sistemas de decisiones administrativas: apoyan las decisiones que estn menos estructuradas y que no es rutinaria. Sistemas de apoyo para la toma de decisiones Los Sistemas de Apoyo de Decisiones son usados por los directivos para realizar anlisis de los datos de la empresa, y tomar las mejores decisiones. Proporcionan bases de datos y herramientas de anlisis y modelado. El propsito de estos sistemas es ayudar a la administracin para que marque tendencias, seale problemas y tome decisiones inteligentes. El origen de estos sistemas es anterior, incluso, a la existencia de computadores, y la idea bsica es recolectar datos operacionales del negocio, y reducirlos a una forma que pudiera ser usada para analizar el comportamiento del mismo y modificarlo inteligentemente.
En la dcada de los setenta las propias empresas construyeron varios sistemas personalizados de apoyo para la toma de decisiones. Fueron implantados usando generadores de informes como RPG, o productos de recuperacin de datos como Focus, Datatrieve y NOMAD. Con estos sistemas los gerentes de la empresa formulaban consultas sin requerir ayuda del departamento de procesamiento de datos. Las bases de datos para el apoyo de toma de decisiones tienen caractersticas especiales: generalmente son slo de lectura. Otras caractersticas destacables de dichas bases son: No preocupa la integridad. Tienden a ser grandes. Estn muy indexadas. Contienen a menudo redundancias controladas La redundancia es controlada cuando es controlada por el SGBD y est oculta a los usuarios. Hay dos tipos de estas redundancias: Mediante el mantenimiento de rplicas de los datos. Mediante el mantenimiento de datos derivados, muy frecuentes en las tablas resumen o columnas derivadas calculadas. Las tablas resumen son tablas que guardan totales (sumas, promedios, etc.) de los valores que estn en otras tablas. Preparacin de datos Los datos en los sistemas de apoyo para la toma de decisiones deben de ser extrados de diversas fuentes, limpiados, transformados y consolidados, as como cargados en la base de datos de apoyo. Adems, sern actualizados peridicamente: La extraccin es el proceso de capturar datos de las bases de datos operacionales (tratadas ms adelante) o de otras fuentes. La limpieza incluye el llenado de valores faltantes, la correccin de errores tipogrficos, etc. Los datos que son errneos y que no pueden ser limpiados sern reemplazados. La transformacin y consolidacin puede involucrar la divisin o la combinacin de los registros fuente. Llamamos consolidacin al proceso mediante el cual se mezclan varias fuentes de datos. Las operaciones de carga incluyen: el movimiento de los datos transformados y consolidados hacia la base de datos de apoyo para la toma de decisiones; la verificacin de su integridad; y la construccin de cualquier ndice necesario. La actualizacin se refiere a que la mayora de las bases de datos de apoyo de decisiones requiere peridicamente: una carga parcial, y a menudo la eliminacin de la base y una carga completa. Los almacenes de datos operacionales son un tipo especial de bases de datos. Estn orientados a un tema: los datos en cuestin tienen que ver con alguna rea temtica (como por ejemplo: clientes o productos). Son a menudo reas transitorias para la reorganizacin fsica de los datos operacionales extrados o para apoyar la toma de decisiones operacionales. Data warehouses y data marts Los sistemas de apoyo para la toma de decisiones tienen requerimientos de rendimiento variables, cargas de trabajo impredecibles, y una utilizacin errtica. Sin embargo, a pesar de estas diferencias con respecto a los sistemas operacionales, los datos de apoyo para la toma de decisiones necesitan ser recolectados a partir de los operacionales, y mantenidos en un almacn de datos propio en una plataforma independiente. A dichos almacenes se les conoce como data warehouse. Un almacn data warehouse es un tipo especial de base de datos. Surgieron por dos razones: la necesidad de proporcionar una nica fuente de datos limpia y consistente
para datos de apoyo de toma de decisiones; y la necesidad de hacerlo sin afectar a los sistemas operacionales. Pronto se hizo evidente que los usuarios realizaban amplias operaciones de informes y anlisis de datos sobre un subconjunto relativamente pequeo de los data warehouse. Por lo que se vio la necesidad de construir algn tipo de almacn a medida para ciertos propsitos. Estos almacenes son los data marts. Esquemas dimensionales Los primeros sistemas de apoyo para la toma de decisiones mantenan generalmente un simple archivo como historial de las transacciones de negocios a efectos de anlisis. Ms tarde, por medio de exploracin secuencial, se podra acceder al mismo. Sin embargo, conforme el volumen de informacin aumenta, se hace necesario el mantener desde varias perspectivas diferentes, un acceso directo a dicho archivo. Por ejemplo, encontrar las transacciones que involucran a un producto en particular. Se llam multicatlogo al mtodo de organizacin que soporta este tipo de acceso directo. El archivo se convirti en uno general que mantena los datos de las transacciones de negocios y tres archivos: para productos, periodos y clientes. Estos ltimos archivos se parecen a los archivos de ndice, aunque las entradas pueden ser colocadas explcitamente por el usuario, y pueden contener informacin suplementaria (por ejemplo, la direccin del cliente). Bajo el punto de vista del modelo relacional, a los archivos de datos se les llama tablas de hechos y a los de catlogo tablas de dimensin. Al diseo general se le llama esquema dimensional. Minera de datos Con el trmino minera de datos se entiende un anlisis de datos exploratorio. El propsito es buscar patrones interesantes en los datos, que pueden usarse para especificar la estrategia del negocio, o para identificar comportamientos fuera de lo comn. Las herramientas de minera de datos aplican tcnicas estadsticas a una gran cantidad de datos almacenados para buscar patrones. Consideremos la siguiente tabla: Transaccin Cliente Marca de tiempo Producto TX1 1 D1 ZAPATOS TX1 1 D1 CALCETINES TX1 1 D1 CORBATAS TX2 2 D2 CALCETINES TX2 2 D2 CORBATAS TX2 2 D2 CINTURONES TX2 2 D2 CAMISAS TX3 3 D2 ZAPATOS TX3 3 D2 CORBATAS TX4 2 D3 ZAPATOS TX4 2 D3 CALCETINES TX2 2 D3 CINTURONES Al negocio le gustara realizar un anlisis de canasta de mercado sobre los datos de la tabla (canasta de mercado se refiere al conjunto de productos comprados en una sola transaccin). De ese modo, espera descubrir correlaciones como: un cliente que compra zapatos, tambin compra calcetines. A dicha correlacin se la conoce como regla de asociacin, y puede expresarse como: FORALL TX (ZAPATOS TX => CALCETINES TX) Otra terminologa en minera de datos es: llamamos poblacin en el ejemplo, al conjunto de todas las transacciones de ventas. El nivel de soporte es el fragmento de poblacin que satisface la regla. El nivel de confianza es la fraccin de la poblacin en la que, si se cumple el antecedente, tambin se satisface el consecuente. En el ejemplo, dada la regla: FORALL TX (CALCETINES TX => CORBATAS TX) La poblacin es 4, el soporte es del 50% y la confianza es del 66.67%.
Tambin podramos definir otros tipos de reglas. Una regla de correlacin de secuencia podra ser usada para identificar patrones de compras a lo largo del tiempo: si un cliente compra zapatos hoy, es probable que compre calcetines dentro de los 5 das siguientes. BIBLIOGRAFIA [1] James A. Senn. Anlisis y Diseo de Sistemas de Informacin. 1988, McGraw-Hill. [2] Date, C.J. Introduccin a los Sistemas de Bases de Datos, Addison Wesley, 2001, (7 Edicin). [3] Mario G. Piattini y otros. Anlisis y diseo detallado de aplicaciones informticas de gestin. RA-MA, 1996. SISTEMAS GESTORES DE BASES DE DATOS. Resumen Los sistemas gestores de bases de datos (SGBD) surgieron ante la necesidad que tenan las grandes compaas de manejar convenientemente sus datos. Existan una serie de motivaciones que se detallan primeramente (como problemas de redundancia e inconsistencia, difcil acceso y aislamiento de los datos, etc.), que dieron origen a dichos sistemas. Antes de pasar a tratar las funciones y componentes de un SGBD, estudiamos algunos de las definiciones que se han dado de un SGBD, y las ventajas e inconvenientes de utilizarlos en grandes compaas (que es donde realmente tiene sentido que se usen). En cuanto a las funciones de un SGBD, quizs las ms importantes sean el acceso y modificacin de los datos (que, normalmente, realizan los usuarios del sistema), aunque hay otras como la descripcin destinada a los administradores, que permiten definir los esquemas que va a manejar el sistema. Las componentes son muy variadas, y dependen del modelo que su utiliza. La arquitectura de referencia es la ANSI/SPARC que propone 3 niveles bien diferenciados para la estructura de cualquier SGBD: nivel fsico, donde se manipulan las estructuras de almacenamiento de los datos (ficheros indexados, rboles B, etc.); el nivel conceptual, donde se ocultan los detalles del almacenamiento y se tratan las distintas entidades que van a manejar los usuarios; y el nivel de vistas, donde slo son visibles diferentes vistas de la base de datos destinadas a ciertos grupos de usuarios. Entre cada dos niveles se ha de definir las reglas de transformacin de datos entre niveles. A continuacin hacemos una descripcin de un SGBD real, DB2, que se ajusta bastante a la arquitectura ANSI/SPARC. Por ltimo, se relacionan distintos tipos de SGBD utilizando diferentes criterios de clasificacin. Sistemas gestores de bases de datos Antes de que se comenzase a emplear el trmino de bases de datos, las organizaciones contaban con un gran nmero de archivos donde tenan almacenados los datos en muy variados formatos, y con programas de aplicacin especficos para cada archivo, escritos en los ms diversos lenguajes de programacin. Lo cierto era que el panorama era bastante desolador. La relacin que hacemos a continuacin muestra algunas de las dificultades con las que se tenan que enfrentar los usuarios de dichos sistemas (que se han dado en llamar de procesamiento de archivos): Redundancia e inconsistencia de los datos: Dado que los diferentes archivos tenan distintos formatos, y los programas que los manipulaban estaban escritos en leguajes diferentes; ocurra con frecuencia que la misma informacin estaba repetida en distintos archivos. Esta redundancia tena como consecuencia un aumento en el coste de almacenamiento y en el de acceso de los datos.
Pudiendo conducir a inconsistencias de los mismos: si se cambiaba un dato en un archivo, los datos eran inconsistentes al no modificarlos en el resto de archivos. Difcil acceso a los datos: Para las operaciones no previstas solicitadas por un usuario, que consisten generalmente en buscar unos datos que cumplan ciertas propiedades, era necesario listarlos todos y filtrar los que no cumplan dichas propiedades, con lo que la tarea de encontrar datos se haca bastante tediosa. Aislamiento de los datos: Debido a que los datos estn dispersos en varios archivos, resultaba difcil escribir aplicaciones que recuperaran los datos adecuados. Problemas de integridad: Es necesario garantizar que los usuarios autorizados realicen operaciones correctas sobre los datos. En general, decimos que los datos deben cumplir ciertas propiedades llamadas ligaduras de integridad. Para hacerlas cumplir es necesario aadir el cdigo apropiado a las diferentes aplicaciones, resultando muy difcil esta adicin si estas ligaduras deben cumplirse entre elementos de datos que estn en diferentes archivos. Problemas frente a fallos del sistema: Algunas operaciones realizadas con datos del sistema deben de ocurrir o no de manera completa (la operacin debe ser atmica), de manera que si sta fue, por ejemplo, de transferencia de una cantidad desde una cuenta a otra, debemos evitar las situaciones en las que, se reste la cantidad del saldo de la primera cuenta sin que haya aumentado en la misma cantidad el saldo de la segunda cuenta. Esto es difcil de controlar en un sistema tradicional de procesamiento de archivos. La dificultad reside, sobre todo, en garantizar que las operaciones sern deshechas si hay un fallo. A este tipo de operaciones se las denominar ms adelante transacciones. Problemas en el acceso concurrente: Muchos sistemas permiten el acceso simultneo de mltiples usuarios para actualizar los datos, de manera que pueden darse situaciones en que los datos sean inconsistentes. As podran dos usuarios intentar a la vez retirar 100 y 200 de una cuenta que tenga 1000 . De manera que si las operaciones pueden realizarse de forma simultnea, ambos usuarios ven un saldo de 1000 , por lo que la primera operacin dara un saldo de 900 , que podra actualizarse despus de que se realizase completamente la segunda operacin, resultado que el saldo final es de 900 . El proceso de supervisin que evitara estos errores, resultar bastante ms difcil de implementar, si se pueden acceder a los datos desde muchos programas de aplicacin diferentes. Problemas de seguridad: No todos los usuarios deben de tener acceso a todo tipo de informacin. Como las aplicaciones se aadan cubriendo diferentes necesidades conforme van apareciendo, y para distintos tipos de usuarios, es difcil controlar las ligaduras de seguridad. Para salvar la mayor parte de estos inconvenientes que hemos apuntado, surgieron los Sistemas de Gestin de Bases de Datos (DBMS, en ingls). El primer objetivo de cualquier sistema de gestin de bases de datos es proporcionar un entorno prctico y eficiente para la recuperacin y almacenamiento de los datos. La importancia de la informacin en las organizaciones, ha conducido al desarrollo de una gran cantidad de conceptos y tcnicas para la gestin eficiente de los datos. De todo ello nos vamos a ocupar en el resto de apartados del presente tema. Conceptos de base de datos A continuacin, se muestran algunas de las definiciones clsicas de bases de datos en orden cronolgico (subrayamos los conceptos ms relevantes que introdujeron cada una de ellas):
Coleccin de datos interrelacionados almacenados en un conjunto sin redundancias perjudiciales o innecesarias; su finalidad es servir a una aplicacin o ms, de la mejor manera posible; los datos se almacenan de manera que resulten independientes de los programas que los usan; se emplean mtodos determinados para incluir nuevos datos y para modificar o extraer los datos almacenados. Conjunto de datos de la empresa memorizado por una computadora, que es utilizado por numerosas personas, y cuya organizacin est regida por un modelo de datos. Coleccin no redundante de datos compatibles entre diferentes sistemas de aplicacin. Conjunto de archivos maestros, organizados y administrados de una manera flexible de modo que los archivos pueden ser fcilmente adaptados a nuevas tareas imprevisibles. Ninguna de estas definiciones resulta completa para lo que hoy en da se entiende por bases de datos. Una definicin completa, podra ser: "Coleccin de datos integrados, con redundancia controlada y con una estructura que refleja las interacciones y restricciones existentes en el mundo real; los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de stas, y su definicin y descripcin, nicas para cada tipo de datos, han de estar almacenadas junto con los mismos. Lo procedimientos de actualizacin y de recuperacin, comunes y bien determinados, habrn de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de los datos." Concepto de SGBD Un SGBD se define como "el conjunto coordinado de programas, procedimientos, lenguajes y otros recursos, que suministra, tanto a los usuarios no informticos como a los analistas, programadores o al administrado del sistema, los medios necesarios para describir, recuperar y modificar los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad." Ventajas de los SGBD Como ya se ha indicado los SGBD surgieron para evitar muchos de los inconvenientes que presentaban los sistemas de almacenamiento de archivos, sin perder de vista su finalidad ltima. Esta es la relacin casi completa de los problemas que ya se han superado en gran medida: Independencia de los datos respecto a los tratamientos y viceversa De manera que un cambio en el tratamiento de los datos, no imponga un nuevo diseo lgico o fsico de la base de datos. As mismo, la inclusin de nuevas informaciones, desaparicin de otras, cambios en la estructura fsica o en la forma de acceso, etc., no deben obligar a alterar los programas. Esta independencia entre las estructuras de la base de datos y los programas de aplicacin, supone una gran ventaja frente al esfuerzo de tener que reprogramar cuando se producen cambios en los datos. De esta manera, sin costes excesivos, el sistema se adaptar a la evolucin de la organizacin que lo est usando. La caracterstica que permite que los programas y los datos que los manejan sean independientes se llama abstraccin de datos. De manera que el usuario de la base de datos no tiene que conocer cmo estn almacenados los datos ni los detalles de cmo estn implementadas las operaciones sobre los mismos (como, en realidad, ocurra de alguna forma con los sistemas primeros que aparecieron). En los SGBD los detalles de la estructura y organizacin de cada archivo se almacenan en el Catlogo. Los usuarios utilizan la representacin conceptual de los archivos, y es el propio sistema quien se encarga de extraer los detalles de almacenamiento de dicho Catlogo cuando los requieran las aplicaciones escritas para el SGBD. Coherencia de los resultados
En todos los tratamientos dentro de un SGBD se utilizan los mismos datos, por lo que todos son coherentes y compatibles. Adems, al no existir (o al menos disminuir en gran mediada) la redundancia de los datos, desaparece el problema del enfoque clsico en el que era necesario actualizar los archivos para evitar este tipo de problemas. Disponibilidad de los datos para el conjunto de usuarios Un usuario no es propietario de ningn dato, sino que todos tendrn acceso a todos los datos (siempre que tengan las autorizaciones oportunas). De nuevo, utilizando el Catlogo (o diccionario), los datos podrn ser difundidos y accedidos por distintos medios informticos. Valor de la informacin Puesto que los datos son tratados en conjunto, stos adquieren mayor valor, que si fuesen tratados de forma independiente. Documentacin normalizada e integrada con los datos Tradicionalmente, la documentacin de los datos era efectuada por un analista o programador aparte de la propia base de datos. Actualmente se tiende a que la descripcin de los datos est incluida dentro del sistema y a que sea lo ms completa posible. Eficiencia en la recogida, validacin y entrada de datos en el sistema Al no existir apenas redundancia, los datos se recogen y validan una vez, de manera que el proceso de almacenamiento tiene un rendimiento mucho mayor que en los sistemas tradicionales. Reduccin del espacio de almacenamiento De nuevo, al no haber apenas redundancia y aplicando, adems, tcnicas de compactacin de datos, se obtienen SGBD con una menor ocupacin en disco. Posibilidad de mltiples vistas de los datos Los datos son manipulados por muy diferentes tipos de usuarios. Una vista puede consistir en un subconjunto de la base de datos o en datos virtuales, derivados de los datos almacenados pero que no estn grabados fsicamente en el Catlogo. Un SGBD debe incluir la posibilidad de definir mltiples vistas. Restriccin del acceso a los usuarios autorizados La seguridad se entiende como un mecanismo de proteccin de los datos. El SGBD dispone de un subsistema de seguridad, antes de permitir el acceso a los datos por un usuario, se encarga de revisar las restricciones de seguridad almacenadas en el Catlogo. Inconvenientes de los SGBD Sin embargo todas estas mejoras no iban a obtenerse sin un coste adicional. A continuacin mostramos la relacin de los inconvenientes con los que habr de enfrentarse cualquier organizacin que desee implantar un SGBD: Instalacin costosa La instalacin de un SGBD implica elevados costes tanto a nivel fsico (nuevas instalaciones o aplicaciones), como a nivel lgico (sistemas operativos, programas, compiladores, etc., que son necesarios para su uso). Personal especializado Sobre todo para la administracin del SGBD, ser necesario un personal especializado que ser difcil de encontrar, y de formar. Muchas veces, este problema es clave cuando una organizacin se plantea utilizar el sistema. Implantacin larga y complicada Las dificultades que van apareciendo a lo largo del desarrollo de la implantacin de un SGBD, llevan, casi siempre, a que se superen los plazos inicialmente previstos. Falta de rentabilidad a corto plazo
El coste que implica tanto de personal como de equipos la implantacin de un SGBD, hace que no resulte rentable a corto plazo. As, en instalaciones muy grandes el plazo para que sea rentable puede ser de varios aos. Ausencia de normas No existe un estndar, realmente, que facilite a los usuarios el manejo de los sistemas de bases de datos. En el campo de las bases de datos relacionales, ya empieza a imponerse un lenguaje estndar: el SQL ISO (9075). Desfase entre teora y prctica Los usuarios, sobre todo directivos, tienen una resistencia a cambiar un sistema de informacin basado en archivos por uno ms avanzado enfocado a las bases de datos. Adems, debido al desconocimiento de las posibilidades que ofrece un SGBD, pueden sentir cierta frustracin cuando lo implantan en sus organizaciones. Funciones Un SGBD debe ser capaz de describir, recuperar y modificar los datos, por lo tanto, las principales funciones que deben poderse realizar con el mismo estn claras. Tambin hemos de incluir aqu otras funciones propias de la administracin del sistema. Funcin de descripcin Esta funcin debe de permitir al administrador especificar los elementos de los datos que la integran, su estructura y las relaciones que existen entre ellos. As mismo, el administrador podr establecer las reglas semnticas, los controles a efectuar antes de autorizar los accesos a una base, etc. Tambin con esta funcin, podr dar las caractersticas de tipo fsico y las vistas lgicas de los usuarios. Esta funcin se realiza mediante un lenguaje de descripcin de datos (DDL, Data Description Language), que ser propio de cada SGBD. Con el DDL podemos definir las tres estructuras de datos (externa, lgica e interna, como veremos al tratar la arquitectura del sistema), especificando las caractersticas de los datos para cada uno de estos niveles. En el nivel interno, indicamos el espacio (volmenes, cilindros y pistas) reservado para la base; la longitud de los campos o elementos de los datos, su modo de representacin (binario, decimal, alfanumrico, punto fijo o flotante, etc.) Adems deben definirse los caminos de acceso: punteros, ndices, etc. Para las estructuras externa y lgica, esta funcin debe permitir la definicin de las entidades y su identificacin, los atributos de las mismas, interrelaciones entre ellas, autorizaciones de acceso, restricciones de integridad, etc. El SBDG se ocupar de la funcin de correspondencia (mapping) de las estructuras lgicas externas y de la relacin entre la estructura externa y la interna (mediante las llamadas reglas de transformacin, como veremos al estudiar la arquitectura). Funcin de acceso y modificacin Permite a los usuarios (informticos o no), buscar, aadir, suprimir o modificar los datos de la misma. Esta funcin se llevar a cabo mediante el lenguaje de manipulacin de datos (DML, Data Manipulation Language). Muchas veces se trata de un conjunto de instrucciones que son admitidas por un lenguaje de programacin, y otras de un lenguaje desarrollado especialmente para el SGBD. La mayora de los SGBD contienen ambos tipos de lenguajes. Funcin de utilizacin Esta funcin rene a todos los interfaces que necesitan los diferentes usuarios para comunicarse con la base, proporcionando una serie de procedimientos al administrador. Algunas de las operaciones que realiza esta funcin son: cambiar la capacidad de los archivos, obtener estadsticas de utilizacin, cargar archivos, etc. Otras operaciones
estn relacionadas, principalmente, con la seguridad fsica (copias de seguridad, rearranque en caso de cada del sistema, etc.) y de proteccin frente a accesos no autorizados. Componentes Un sistema de bases de datos se divide en mdulos que se encargan de cada una de las funciones del sistema completo. Algunas de stas, incluso, puede asumirlas el propio intrprete de mandatos del sistema operativo. Hay que distinguir entre componentes de procesamiento de consultas y componentes de gestin de almacenamiento. Componentes de procesamiento de consultas El compilador de DDL Procesa las definiciones de esquemas, especificadas en el lenguaje DDL, y almacena estos esquemas en el Catlogo. A menudo, el DDL lo constituyen dos subconjuntos de instrucciones: un lenguaje de definicin del almacenamiento de los datos (DSDL: Data Strorage Definition Language), que permite especificar caractersticas fsicas de la base de datos (volmenes y archivos donde van a ser almacenados los datos, etc.), y un lenguaje de control de datos (DCL: Data Control Language), encargado del control y seguridad de los datos (privilegios, modos de acceso, etc.) El procesador de la base de datos en tiempo de ejecucin Se encarga de los accesos a la base de datos durante la ejecucin, recibiendo peticiones del usuario. Cuando haya que acceder al disco, ste componente llamar al gestor de datos almacenados. Para las consultas, se dispone de un componente, el compilador de consultas, que ser invocado ante las peticiones del usuario. ste ltimo, analiza la sintaxis y el contenido de las consultas, generando llamadas al procesador en tiempo de ejecucin para atender a la solicitud (optimizndolas, como veremos ms adelante en el tema 36). El procesador precompilador Extrae rdenes en DML para convertirlas en cdigo objeto para el acceso a la base de datos. El cdigo objeto y el resto del programa escrito en el lenguaje anfitrin (lenguaje de propsito general que puede utilizarse para programar aplicaciones del SGBD), se enlazan, formando una transaccin programada, cuyo cdigo ejecutable incluye llamadas al procesador en tiempo de ejecucin. El compilador VDL Procesa las definiciones de las distintas vistas de los usuarios especificadas en un lenguaje VDL (View Definition Languague), y las almacena en el Catlogo. Componentes de gestin de almacenamiento El gestor de datos almacenados Las bases de datos y el Catlogo se suelen almacenar en disco. El acceso al disco lo controla el propio sistema operativo. En un SGBD el acceso se hace con un componente esencial: el gestor de datos almacenados, que realiza las funciones de extraccin y almacenamiento de las bases de datos y el Catlogo en disco. Tambin controla otros aspectos de la transferencia de datos, como el manejo de reas de almacenamiento intermedio (buffers) en la memoria principal. El gestor de seguridad e integridad Comprueba que se satisfagan las ligaduras de integridad y seguridad de los usuarios para acceder a los datos. Aunque a veces se confunden, son dos conceptos bien distintos: mientras que la seguridad significa proteger los datos ante usuarios no autorizados (infiltrados); la integridad significa protegerlos de los autorizados. El gestor de transacciones
Que asegura que la base de datos quede en un estado consistente a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran sin conflictos. Interfaces de los SGBD Dentro del apartado de componentes de un SGBD merece una mencin los llamados interfaces amables con el usuario que se presentan con muy diversas formas: Interfaces basadas en mens Presentan opciones (mens) que guan al usuario para formular solicitudes Interfaces grficas Presentan los esquemas en forma grfica pudiendo el usuario especificar una consulta manipulando el diagrama. Interfaces basadas en formas Se presentan al usuario formas para que rellene los espacios vacos. Suelen ser transacciones programadas. Interfaces en lenguaje natural Permiten interpretar frases en lenguaje natural trasladndolas a consultas de alto nivel. Generalmente el sistema mantiene un dilogo con el usuario para esclarecer las solicitudes. Interfaces para usuarios paramtricos Son un conjunto de operaciones especficas para realizarlas repetitivamente. Generalmente se suelen programar las teclas de funciones del teclado para que el usuario tenga que escribir lo mnimo posible. Arquitecturas de referencia y operacionales Entendemos por arquitectura de referencia a la llamada arquitectura de tres esquemas, propuesta por el llamado Grupo de Estudios en Sistemas de Administracin de Bases de Datos, que defini el estndar conocido como: arquitectura de referencia ANSI/SPARC (American National Standard Institute / Standards Planning And Requirements Comitee). Las arquitecturas operacionales son las arquitecturas concretas de SGBD reales (en el siguiente apartado nos ocuparemos de detallar el SGBD: DB2, como ejemplo de arquitectura operacional). Es probable que los sistemas "pequeos" no manejen todos los aspectos de la arquitectura de referencia. Sin embargo, los SGBD comerciales ms conocidos se ajustan bastante al estndar. Arquitectura ANSI/SPARC Hemos de distinguir tres niveles en toda arquitectura ANSI/SPARC: Nivel fsico o de implementacin: Los esquemas internos describen la estructura fsica de almacenamiento de la base de datos. Este nivel emplea un modelo fsico de los datos y describe todos los detalles para su almacenamiento, as como los medios de acceso a los datos. Nivel conceptual o lgico: describe la estructura de la base de datos para una comunidad de usuarios. el esquema conceptual oculta los detalles de las estructuras fsicas de almacenamiento, y se concentra en describir entidades, tipos de datos, vnculos (relaciones o dependencias entre datos), operaciones de usuarios y restricciones. Nivel externo o de vistas: Incluye esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un determinado grupo de usuarios, ocultando a dicho grupo el resto de la base de datos. La mayora de los SGBD no distinguen totalmente entre los tres niveles. As, algunos incluyen detalles del nivel fsico en los esquemas conceptuales. Los esquemas externos se especifican con el mismo modelo de datos que los del nivel conceptual. Algunos SGBD permiten utilizar distintos modelos de datos a nivel conceptual y a nivel externo.
Los esquemas no son ms que descripciones de los datos. Los verdaderos datos slo estn en el nivel fsico. Transformaciones La arquitectura tambin comprende ciertas transformaciones que determinan la correspondencia entre las distintas informaciones que manejan los tres niveles apuntados. El SGBD debe transformar una peticin expresada a nivel externo en su equivalente a nivel conceptual, y sta en su equivalente a nivel fsico: La transformacin conceptual/interna define la correspondencia entre la vista conceptual y la base de datos almacenada a nivel interno. Es posible que en un momento dado sea necesario modificar el esquema interno por la necesidad de reorganizar ciertos archivos fsicos (por ejemplo, crear nuevos archivos de ndices), para as mejorar las operaciones de obtencin o modificacin. Si la base de datos an contiene los mismos datos, no ser necesario cambiar los esquemas
conceptuales. La independencia fsica respecto a los datos se refiere a la separacin entre las aplicaciones y la estructura fsica almacenada, y resuelta ms fcil de conseguir que la independencia lgica.
La transformacin externa/conceptual define la correspondencia entre una vista externa en particular y la vista conceptual. As por ejemplo, los campos en uno u otro nivel pueden tener diferentes tipos de datos; los nombres de los registros y campos pueden ser cambiados en un nivel, sin que se afecten los del otro; varios campos conceptuales pueden ser combinados en un slo registro externo; etc. Podemos cambiar el esquema conceptual para ampliar o reducir la base de datos. Esto no debe afectar a las vistas que se refieran al resto de datos que no han sido modificados. Slo ser necesario modificar la definicin de la vista y las correspondencias. Los programas de aplicacin que hagan referencias a los elementos del esquema externo, debern funcionar igual que antes despus de una reorganizacin lgica del esquema conceptual. Adems, las restricciones podrn modificarse en el esquema conceptual sin afectar a los esquemas externos.
Por lo tanto, las transformaciones de tipo conceptual/interna son fundamentales para la independencia fsica de los datos, y las transformaciones de tipo externa/conceptual son fundamentales para la independencia lgica de los datos. Arquitectura operacional: DB2 DB2 es una abreviatura de Database 2. Originalmente fue un sistema relacional de IBM para el sistema operativo VMS. Las bases de datos DB2 se pueden utilizar desde programas de aplicacin escritos en COBOL o PL/I (entre otros). Como sublenguaje de datos se tiene el SQL. Procesamiento de consultas en DB2 Todos los datos se perciben como tablas. Las tablas son de dos tipos: tablas base, que son los esquemas conceptuales; y vistas, que son tablas virtuales. Las consultas se hacen en SQL, por lo tanto SQL es tambin un lenguaje autocontenido en DB2. Los principales componentes del flujo de la aplicacin SQL son: El precompilador: genera dos tipos de salidas: el programa fuente original donde las instrucciones SQL son reemplazadas por llamadas en el lenguaje anfitrin (mdulo fuente modificado); y mdulos de solicitud a la base de datos (llamados DBRM) que
son instrucciones SQL en forma de rbol sintctico, que se usan de entrada para el siguiente proceso. El enlazador: se utiliza tanto en consultas en forma de aplicaciones ya programadas, como en consultas ad hoc. En las primeras, se analizan y se optimizan los distintos DBRM, se compilan produciendo un plan de aplicacin. Si la aplicacin (como es de esperar) se ejecuta muchas veces, con este cdigo objeto (obtenido una sola vez), se amortiza el coste de haber programado la aplicacin. Tambin el enlazador toma el mdulo fuente modificado, lo compila y enlaza para producir el mdulo de carga. El supervisor de la aplicacin: con l se controla la ejecucin. Al ejecutarse el mdulo de carga el supervisor obtendr del plan de aplicacin la informacin necesaria, para solicitar que el gestor de datos almacenados tenga acceso real a la base de datos. Gestor de datos almacenados: maneja la base de datos fsica. Este componente actualiza los ndices si es necesario. Durante el procesamiento de las consultas tambin se realizan algunas otras funciones, entre las que destacamos: La optimizacin que se realiza por el enlazador consultando en el Catlogo la informacin sobre los ndices, de manera que la consulta se realizar de forma ms eficiente. La comprobacin de autorizacin, de la que se ocupa el enlazador, que comprueba si el usuario est autorizado para llevar a cabo las operaciones incluidas en los mdulos DBRM. Definicin de los datos en DB2 Para crear, eliminar o actualizar las tablas base, los ndices y las vistas, disponemos de las instrucciones correspondientes en SQL. Por ejemplo, con CREATE TABLE crearemos una tabla, y con ALTER TABLE, actualizaremos una tabla. DB2 maneja el concepto de valores nulos, a menos que se explicite el valor NOT NULL. Manipulacin de los datos en DB2 Los datos se pueden manipular mediante un gran nmero de instrucciones presentes en SQL. Un ejemplo de consulta sencilla (el esquema conceptual est en la pgina siguiente): SELECT NSS FROM TRABAJA_EN WHERE HORAS>40 AND NUMP = 5; que se corresponde con la consulta: lista el nmero de la Seguridad Social de los empleados que trabajaron ms de 40 horas en el proyecto 5. Procesamiento de vistas en DB2 Una vista es una tabla derivada de tablas base o de otras vistas. Las vistas se usan para referirnos a una tabla (la vista) que se refiere muy a menudo; o que no tiene realidad fsica. As, en vez de combinar las tablas EMPLEADO, TRABAJA_EN y PROYECTO, cada vez que necesitemos datos de todas ellas juntas, creamos una vista que sea el resultado de dicha combinacin, y que contenga solo los atributos que deseamos obtener con frecuencia, cumplindose ciertas condiciones. Las tablas de entrada se llaman tablas de definicin de la vista: CREATE VIEW TRABAJA_EN1 AS SELECT NOMBREE, APELLIDO, NOMBREP, HORAS FROM EMPLEADO, PROYECTO, TRABAJA_EN WHERE EMPLEADO.NSS=TRABAJA_EN.NSS AND NUMP=NUMEROP;
La siguiente consulta:
EMPLEADO NOMBREE APELLIDO NSS FECHAN DIRECCION ND SUPERNSS SEXO SUELDO
DEPENDIENTE
NOMBRE_DEPEND
SELECT NOMBREE, APELLIDO, NOMBREP FROM TRABAJA_EN1 WHERE NOMBREP=PROYECTO1; obtiene la restriccin con las columnas indicadas y para el nombre de proyecto indicado. Tambin puede utilizarse la vista para crear tablas a las que tendrn acceso cierto grupo de usuarios (mientras que a las tablas base no). De manera, que limitamos los campos, o les cambiamos los nombres, o combinamos diversas tablas, etc. Almacenamiento de datos en DB2 DB2 llama espacio de tablas al almacenamiento de las tablas de datos y espacio de ndices al almacenamiento de ndices. El segundo se diferencia del primero, entre otras caractersticas, porque se crea automticamente. Los ndices en DB2 son rboles B+. Caractersticas internas de DB2 Seguridad y autorizacin Las vistas pueden servir para ocultar datos confidenciales a los usuarios no autorizados. DB2 tiene un subsistema de autorizacin que da privilegios especficos a ciertos usuarios (rdenes GRANT (otorgar) y REVOQUE (denegar). Para que DB2 reconozca los usuarios legtimos interviene un identificador de autorizacin llamado AUTHID, asignado por los administradores del sistema (se vern ms detalles en temas siguientes). Procesamiento de transacciones DB2 admite, como ya sabemos, instrucciones escritas en un sublenguaje de PL/I. Uno de los mandatos de dicho sublenguaje es COMMIT (confirmacin), que seala que una transaccin se ha llevado a efecto. Este mandato se colocar despus de las operaciones
que determinan la transaccin. Al ejecutarse se ordena al gestor de transacciones que confirme la modificacin de los datos, haciendo que dicha modificacin sea permanente, dejando de esta manera a la base de datos en un estado consistente (detallaremos ms esta problemtica en el tema 42). Tipos de sistemas Existen varios criterios de clasificacin de los SGBD: Modelo de datos en el que estn basados Relacionales Las caractersticas ms destacables de estos sistemas son: Los datos son percibidos por el usuario como tablas. Los operadores disponibles para el usuario son operadores que generan nuevas tablas a partir de las anteriores. As, la operacin de seleccionar (restringir) obtiene una tabla en la que slo aparecen un subconjunto de filas de la tabla sobre la que se opera. En este tipo de sistemas, la palabra relacin se entiende en trminos matemticos, ya que una relacin se define matemticamente mediante tuplas, y la tuplas son la forma ms usual de expresar los datos que se encuentran en la misma fila de una tabla. Los sistemas que se basan en el modelo relacional, son los dominantes del mercado actual de las bases de datos. La mayor parte de la investigacin en bases de datos de los ltimos 30 aos, se ha basado en este modelo. Jerrquicos En estos sistemas, los datos son representados mediante un conjunto de estructuras de rbol (jerarquas), y los operadores incluyen operadores para apuntadores de recorrido; es decir, los apuntadores que permiten recorrer el rbol hacia arriba o hacia abajo (en las relacionales no existen tales apuntadores). En red Los datos son representados mediante un conjunto de estructuras de grafo (red), y los operadores incluyen operadores para apuntadores de recorrido; es decir, los apuntadores que permiten recorrer el grafo. Ambos tipos de sistemas: Jerrquicos y en red, se consideran obsoletos (fueron los primeros que aparecieron cronolgicamente). Sin embargo, algunos SGBD comerciales (como IMS de IBM), son todava muy utilizados por grandes compaas. Orientadas a objeto Por ltimo, incluimos en esta relacin a los sistemas de bases de datos orientadas a objeto. Tienen su origen en los lenguajes de programacin orientados a objetos. La idea fundamental que subyace en estos sistemas es aumentar el nivel de abstraccin. El usuario (cliente), ha de pensar en objetos que contienen operaciones asociadas a los mismos (de creacin, acceso y modificacin), en vez de en registros y funciones aparte que los manipulan. Otra idea interesante subyacente, es la de que unos objetos pueden ser colecciones de otros (un departamento contiene objetos empleado); as como el llamado mecanismo de la herencia por el que los subtipos (subclases) heredan atributos y mtodos de sus supertipos (superclases). Nmero de sitios en que se encuentra distribuida la base de datos Centralizados Generalmente son multiusuarios (soportan ms de un usuario accediendo de forma concurrente al sistema), pero el sistema y la base de datos residen totalmente en un nico sitio. Distribuidos Son, por definicin, multiusuarios. Los datos estn en dispersos en varias bases de datos, son administrados por varios SGBD, implantados en varias mquinas distintas con distintos sistemas operativos, y conectadas por varias redes de comunicacin.
A su vez, los distribuidos se clasifican en: Homogneos: Si el software del sistema es el mismo en todos los sitios. Heterogneos: Es la tendencia actual. Requiere el desarrollo de aplicaciones que permitan comunicar a los distintos sistemas. La arquitectura (distribucin fsica, en este contexto), de la mayora de los sistemas distribuidos recibe el nombre de cliente-servidor. Enfoque dado a los datos Tradicional Los datos representan hechos ciertos, y estn recogidos en forma de objetos almacenados u objetos virtuales (vistas). Temporales Contienen datos histricos en vez de datos actuales, es decir, los datos slo sern insertados y nunca actualizados o eliminados (a diferencia de los datos instantneos o normales, que se actualizan o borran al dejar de ser ciertos). En una base de datos temporal todos los datos tienen una marca de tiempo. As, las relaciones sern temporales, incluyendo cada tupla una marca de tiempo. Orientados a la lgica Son capaces, aplicando axiomas deductivos o reglas de inferencia, de deducir o inferir hechos adicionales a partir de hechos dados en la base de datos. Estadsticas Tienen que ver con cuestiones relacionadas con la seguridad de los datos. Permiten consultas que proporcionan informacin general (la media de edad de los empleados), pero no proporcionan informacin individual (la edad de un empleado). Bibliografa [1] Abraham Silberschatz y otros, Fundamentos de bases de datos, Mc Graw Hill, 1998 [2] Date, C.J. Introduccin a los Sistemas de Bases de Datos, Addison Wesley, 2001, (7 Edicin) [3] Elmasri-Navathe. Fundamentos de Sistemas de Bases de Datos, Addison Wesley, 2000 (2 Edicin). [4] Georges Gardarin. Bases de datos. Paraninfo, 1990 (2 edicin).