Informática
Sistemas gestores de bases de datos
Indice | ||
1 |
INTRODUCCIÓN | |
2 | BASES DE DATOS | |
4 | GESTORES DE BASES DE DATOS | |
6 | SERVIDORES DE BASES DE DATOS | |
19 | GESTORES DE BASES DE DATOS PERSONALES | |
21 | PROGRAMACIÓN DE BASES DE DATOS | |
24 | BASES DE DATOS Y OFERTAS DE EMPLEO | |
25 | CONCLUSIÓN |
Modelo de Red
Este modelo fue concebido como una ampliación del modelo jerárquico, cuya finalidad era solucionar las deficiencias lógicas de este último. Al igual que el anterior, también se emplea un árbol como estructura base, pero con la diferencia de que un mismo hijo puede tener diferentes padres, con lo que es posible representar relaciones Muchos-a-Muchos sin redundancia aparente. En algunas versiones modernas de éste modelo incluso encontramos la aparición de Registros Enlaces para establecer relaciones Muchos-a-Muchos. Como inconveniente presenta la complejidad que alcanza el entramado de enlaces entre las instancias cuando se almacenan gran cantidad de datos, así como la hostilidad de los lenguajes de programación y control de estas bases de datos.
Modelo Relacional
Este modelo distribuye los datos en tablas bidimensionales, llamadas relaciones, dónde las columnas recogen los diferentes atributos o campos y las filas almacenan las diferentes instancias u ocurrencias (registros). También se establecen varios tipos de dependencias entre las tablas (interrelaciones), y según la naturaleza de éstas, se implementan mediante atributos “Clave Extranjera” o mediante tablas relacionales.
Como reglas básicas de formación se establecen las siguientes:
Almacenes | Existencias | Piezas | ||
ID | Almacén | Tipo | ||
Ciudad | Tipo | Nombre | ||
Cantidad |
Características Generales de los Sistemas Gestores de BB.DD.
Aunque hay multitud de aplicaciones para la Gestión de Bases de Datos diferentes en características y precios, podemos encontrar aspectos comunes en todos ellos:
-
Aceptan definiciones de esquemas y vistas (definición de diferentes bases de datos).
-
Manipulan los datos siguiendo las órdenes de los usuarios.
-
Cuidan que se respete la seguridad e integridad de los datos.
-
Permiten definir usuarios y las restricciones de acceso para cada uno de ellos.
-
Controlan la concurrencia y las operaciones asociadas a la recuperación de los fallos.
Este gestor de base de datos ha evolucionado de manera considerable. Podríamos decir que esta base de datos relacional es de corte moderno, con una interfaz bastante intuitiva. Entre las mejoras de este producto tenemos algunas cuantas generalidades respecto a rendimiento, capacidad y memoria. Pero lo más llamativo es la posibilidad de aprovechar multiproce-sadores simétricos (SMP) compartiendo recursos entre ellos.
De esta forma las consultas SQL pueden ser ejecutadas más rápido. El lenguaje SQL que soporta es el standard pero con algunas mejoras. Podemos destacar el OLAP (proceso analítico en línea) ayudado de la posibilidad de creación de supergrupos. También se pueden realizar uniones externas, manipular datos, disponer de un soporte adicional de actualización, y definir ciertas restricciones de accesibilidad en tablas.
En este programa también se incorpora un nuevo tipo de dato llamado datalink capaz de referencia a un objeto que se encuentra fuera de la base de datos. Una adecuada gestión de campos permite el almacenamiento de datos de gran tamaño soporte directo de objetos multimedia (imagen, vídeo, etc)
La escalabilidad se obtiene gracias a la posibilidad de particionar la base
de datos a lo largo de múltiples sistemas independientes conectados a través de un LAN.
Internet es siempre la gran estrella, con DB2 es posible acceder a los datos usando JDBC (tan potente como escribir directamente C contra la base de datos), Java y SQL (tanto el SQL estático, como complementa el SQL dinámico).
También es posible efectuar las tareas de administración a través de Internet y ver los manuales.
Igualmente proporciona una interfaz de programación para PERL, para ciertas plataformas.
El programa encargado de las conexiones recibe el nombre de DB2-Connect, que tradicionalmente ha utilizado el protocolo SNA, para conectar con los servidores, aunque ahora se ha añadido el TCP/IP. De esta forma se ha popularizado mucho más la herramienta, disminuyendo los requerimientos de prestaciones de los clientes.
Los servidores DB2 soportan cualquier comunicación basadas en los protocolos APPC, IPX/SPX, NetBios, TCP/IP, Pipes con nombres. Las plataformas que admite el producto son en principio OS/2, Windows NT y UNIX. Esta última versión del software del servidor, ha sido adaptado para funcionar también con OS/2 WARP, HP-UX, AIX, SCO-UNIX UE7, Windows 98, NT y Solaris.
Esta nueva versión persigue inclinar la balanza hacia un producto que ha ido ganado adeptos de forma espectacular desde aquella primera versión con tecnología de Sybase. Sobre todo, por que a parte de unas consideraciones técnicas tiene todo el empuje comercial y de soporte de Microsoft.
Se podría decir que en cierta medida pretende ser el servidor de bases de datos genérico para Windows. No tanto por que la causa de desarrolla sea la misma, ni siquiera porque el SQL Server, a diferencia de otros servidores solo trabaja bajo Windows, sino porque Microsoft promete integración con todos los productos suyos (por ejemplo MsOffice 2000, ya que Access 2000 traerá consigo un nuevo MSDE-DATA-Engine, como alternativa al existente y compatible con SQL Server). También será posible llamar a SQL Server desde Ms-Access. Otras características son los servicios OLAP integrados en el Paquete.
La escalabilidad es total. No es necesario decir que el producto puede funcionar en un Servidor NT multiprocesador de elevadas prestaciones, pero si lo es decir que también puede funcionar en un portátil con Windows 95/98. Las características de SQL Server son impresionantes. Tenemos soporte de transacciones OLPT, una maquinaria de búsqueda de textos completos que permite localizar información a lo largo de una tabla ( lo que hace las delicias si el proyecto a considerar es para Internet). Posibilidad de ejecutar consultas en paralelo, así como homogéneas y distribuidas. Bloqueos dinámicos a nivel de filas, optimizador de consultas, estadísticas Automáticas, Unicode Nativo, Replicación Avanzada, Replicación dinámica de datos y un largo etcétera. Pero lo mejor de todo es la sencillez de comprensión y navegación entre procesos así como lo intuitivo de la herramienta.
Alrededor de 30 asistentes pueden conseguir que un usuario sin ninguna experiencia pueda realizar multitud de opciones, o facilitar la vida de los experimentados.
Unas herramientas auxiliares como el Query Profiler o Query Analizer, habilitan colecciones y análisis de bases de datos, junto con la actividad de las consultas. Los protocolos de red soportados con garantía d funcionamiento son TCP/IP, Pipes con nombre, IPX/SPX, AppleTalk ADSP y Banyanvines.
INFORMIX
Al igual que Oracle, la presencia de Informix se deja sentir en una cantidad de plataformas, concretamente Windows NT y UNIX. Una de las características de este sistema es un completo conjunto de herramientas gráficas que permiten asistir tanto en los procesos de instalación como administración del servidor, sin necesidad de que el administrador tenga grandes conocimientos. Existe la posibilidad de gestionar múltiples bases de datos remotas de una única y centralizada consola donde se muestran gráficamente tanto la base de datos como los objetos que contiene (tablas índices, procedimientos, etc...) También podrá establecerse un calendario de tareas a ejecutar en cualquier objeto o grupo de objetos. Adicionalmente Informix proporciona tablas que forma el SMI (interfaz de monitorización del sistema).
Con una arquitectura que denominan DSA (Dynamic Scalable Architecture) que afecta a todas las plataformas se tiene como objetivo una avanzadas escalabilidad en las bases de datos y un alto rendimiento en cualquier entorno.
Una de las características que se encuentra implementada para WinNT son:
la implementación de procesadores virtuales, manipulación directa de acceso a disco, uso de la multitarea preventible propia del sistema, implementación como si fuera un servicio más, integración con el registro del sistema, utilización del servicio de eventos NT para alertas, etc...
Esta arquitectura es el núcleo de Informix, y tiene la capacidad de optimizar el rendimiento de una forma inteligente gracias a la ejecución en paralelo de las principales operaciones de la base de datos (particularmente, consulta o compactación de índices, y también salvaguarda y recuperación de datos).
Múltiples hilos de ejecución y un pool de procesadores virtuales atienden en paralelo atienden a los usuarios concurrentes, consiguiendo que todo el rendimiento (sobre todo si tiene mas de un procesador) se aproveche repartiéndolos según prioridades. Entras propiedades son entre las mismas tareas.
La idea es conseguir una escalabilidad total y lineal. De forma que ante más y más usuarios podamos añadir más recursos de procesamiento, sin grandes cambios. Igualmente si crece el tamaño de la base de datos o de los sites donde se ubica, también podremos obtener rápidas y eficientes soluciones.
En este sentido Informix tiene la capacidad de relación de datos en múltiples lugares físicos (dentro de las citada arquitectura DSA), suponiendo un eficaz sistema de distribución y compartición de datos dentro de un mismo sistema organizativo. Para ello utiliza una técnica de publicar y subscribir dónde el propietario de la información publica la misma siendo republicado por los subscriptores de múltiples sites. La idea es dar suficiente flexibilidad para que puedan definir el conjunto de datos que desean captura, en vez de recoger siempre la totalidad de los mismo.
Internet no ha sido olvida e Informix incluye de forma integrada el servidor Netscape FaxTrap, para soporte y conectividad de aplicaciones Web e Intranet. Como caaracterísticas esenciales tenemos servicios esclables Web/Inet de alto rendimiento, entorno de desarrollo basado en Java/JavaScript seguridad basada en SSL con autentificación. Encrioptación en integridad de mensajes, control de accesos, soporte de certificados del lado del cliente y asistentes para la publicación en Internet.
Además de los expuesto Informix ofrece una componente denominado Web Integration Option que facilita la generación de Aplicaciones orientas a Internet. Se trata de un Runtime que enlaza al servidor Web y el servidor de base de datos de forma que las aplicaciones puedan incorporan sencilla los datos suministrados dinámicamente suministrados por Informix. También es posible incorporar una consulta SQL dentro de una página Web. El WIO incluye al WebDB Publisher cuya misión es la de generar informes mediante asistentes, es decir una forma automática para generar paginas a partir de datos de una base de datos.
Los bloqueos se pueden efectuar a todos lo niveles posibles. Los niveles de aislamiento son completos, soportando DirtyMan, ComeetedRead, CursorStabiliy and RepeatableTableRead. El Lenguaje sigue las normas del standard ANSI SQL-92, al igual que también se cumple el standard X-Open.
La seguridad e integridad de los datos es uno de los objetivos de Informix, incluyendo duplicación, espejo de disco, volcado de seguridad y restauración de alta velocidad transacciones en línea y un diseño de seguridad conforme a la clasificación C2, OLTP y DataWareHousing están disponibles.
InterBase
Sencillez y potencia son las características de Interbase que aúnan muchas características de los productos que ya hemos visto.
Su arquitectura multi-generacional permita la transacciones críticas manteniendo concurrencia en los mismo cuando se hace una operación mixta, como puede ser la consulta y actualización de un entorno determinado. Esto se consigue creando múltiples versiones de cada registro de datos, dentro de una transacción, un usuario puede estar modificando un registro y otro leyendo simultáneamente, ya que se trata de versiones distintas. Para procesos críticos se pueden usar transacciones que aíslen un grupo de cambios de otros. El bloqueo aplicado cuando un cliente actualizada datos sin utilizar transacciones se hace a nivel de registro exclusivamente. Esto permite que varios clientes alteren la información de una misma tabla, a excepción de cuando coincidan en un mismo punto , donde se produce una serialización.
La herramienta ISQL (Interactive SQL) utiliza una interfaz gráfica para introducir sentencias SQL y de forma sencilla. La sentencia introducida es enviada al servidor, preparada y ejecutada, recibiéndose la posible respuesta del mismo. Windows SQL puede manejar transacciones, mostrar meta-datos y producir y ejecutar fragmentos de código que contengan sentencias SQL.
En lo que respecta a SQL, el lenguaje esta basa en el estándar ANSI-SQL-92. Es posible definir funciones a medida UDF. La gestión del servidor esta basada en un elemento llamado Guardian. Normalmente es un proceso silencioso que arranca automáticamente y ofrece sus servicios, pero dispone de opciones manuales.
Para poder efectuar las conexiones clientes servidor, además del necesario TCP/IP, Interbase soporta el protocolo NetBEUI cuando se trata de servidores NT y clientes Windows, así como un modo de conexión local que no precisa de interfaces de red. La versión 5.5 puede soportar IPX/SPX.
Interbase proporciona dos elementos específicos para Internet. Internet Client es un driver de red para desarrollos en Java, que incorpora un protocolo remoto JDBC, para intercambio de datos entre cliente y servidor.
Esto significa que el navegador del cliente no precisa de librerías preinstaladas para poder acceder a través a los datos de Interbase. Por el otro lado tenemos Inerserver, bajo NT o UNIX que es el que opera del lado del servidor que comunica con Intertclient y permite las operaciones a Interbase.
Con el fin de acceder de forma más Exhaustiva a las funcionalidad de Interbase es posible acceder a una colección de funciones (o API). Mediante estas funciones se pueden enviar sentencias SQL a la maquinaria de base de datos, recuperando el resultado. Este proceso puede parecer muy similar al empleado integrando SQL en aplicaciones, pero en realidad tiene una seria de ventajas, entre las que destaca el control sobre la gestión de memoria, el acceso a los mensaje de error y a los manipuladores de transacciones y opciones.
Para acceder a este API hemos de usar un compilador de C, como el Visual C++ de Microsoft.
Interbase soporta handles como opción a los campos GLOB, así como matrices de tipos de datos incluso multidimensionales. Es posibles definir funciones a medida, de campos BLOB, llamadas UDF, de forma que se realicen tareas especificas en formato binario, ilegibles por el sistema.
Otra de las características añadidas a Interbase son las tablas estadísticas relativas a los accesos de Datos.
A pesar de llevar ya algún tiempo en el mercado la versión 8 de Oracle, sigue junto con SQL Server, liderando el mercado NT. Además de Windows, el servidor de Oracle puede funcionar en una gran cantidad de sistemas operativos y diversidad de Hardware. Prácticamente tenemos a todas las familias de UNIX, MVS, VM, HPMPEXL, Siemens ICL, Novell Netware y OS/2.
Además el funcionamiento está optimizado para ajustarse a las peculiaridades de cada sistema operativo, Oracle se ajusta al Modelo de ejecución de Hilos o procesos que aporta el sistema. Dentro de la idea de Oracle de potenciar los grupos de trabajo distribuido se necesita un acceso a los datos de dicho grupo.
En este sentido se posibilitan consulta y actualizaciones distribuidas permitiendo la compartición de datos a través de múltiples servidores, con una consistencia de los datos en un comit de dos fases (proceso que resulta transparente al usuario). Igualmente se proporciona replicación de los datos con las ventajas anteriormente enunciadas y enlaces a Bases de Datos, de forma que permiten a los datos remotos ser definidos y usados como si fueran locales.
Oracle Entreprise Manager proporciona la posibilidad de gestionar múltiples grupos de trabajo remoto desde una única y centralizada consola. El administrador verá una representación gráfica de todos los objetos importantes. También podrá establecer un calendario de tares a ejecutar en un objeto o grupo de objetos, para lo cual se verá ayudado por el Inteligent Agent, que obedece las ordenes ejecutadas desde la consola central.
Otro cometido de este agente es detectar problemas que puedan ir surgiendo e informar de los mismos. En lo referente a Internet las aplicaciones web pueden acceder a los datos almacenados en la bases de datos de Oracle así como presentar documentos HTML generados dinámicamente a partir de un modelo de una consulta.
Sin embargo para conseguir una optima conectividad basada en Java o soporte procedimental de este es necesario acudir a la reciente aparición de Oracle 8i.
Oracle soporta paralelismo dentro de una consulta lo que proporciona un incremento notable en su ejecución. Tambien soporta procesos de transacciones On-Line y DataWareHousing.
Atendiendo a las caracteristicas de manejabilidad escalabilidad rendimiento y soporte entre plataformas tenemos una arquitectura de servidor con ejecución multihilo y rendimiento de multiprocesadores simétricos (SMP). En cuanto a los bloqueos se refiere, los admite a nivel de filas sin restricciones. Las bases de datos pueden crecer hasta límites que en la practica pueden considerarse inalcanzables y gracias a un rediseño respecto alas versiones se han eliminado ciertos cuellos de botella.
Las características más relevantes en lo referente a la escalabilidad residen en las tablas particionadas que son aquellas que pueden dividirse en múltiples dispositivos de almacenamiento de acuerdo con valores preestablecidos y el multiplexado y pooling de conexiones. Precisamente la gestión de conexiones se realiza mediante cierto software específico. Concretamente el de red, que antes se llamaba SQL NET, ahora se denomina Net, que a parte de cambiar de nombre ha avanzado tanto en las características (interface de programación, navegador de Internet con soporte Java y soporte de red adicionales) y rendimiento, como en facilidad.
El objetivo fundamental de Net 8 es establecer sesiones y transferir datos entre un cliente y un servidor o entre dos servidores. No obstante para obtener multiplexado en conexiones ( se combinan varias conexiones de clientes entrantes hacia una única conexión de salida hacia el servidor), es necesario un componente adicional denominado Connection Manager.
Los Protocolos de Red Soportados Por Oracle son los siguientes: Net 8, TCP/IP, IPX/SPX, Pipes con nombre, DECNET, DCE, NDS y LU 6.2 (APPC).
Entre las características de SQL podemos destacar una optimización independiente de la sintaxis, unas consultas y una generalización de estadísticas de tablas (ANALIZE). Pero lo que realmente incrementa drásticamente el rendimiento es el soporte de referencia a objetos que son rápidos punteros de tablas los cuales sustituyen a las letras y traicionares unidades relacionales.
Este sistema sabiamente utilizado puede cambiar el modo en que las bases de datos relacionales son diseñadas. Existen ciertos métodos de extensibilidad basados en un soporte limitado con llamadas en C. Por desgracias no son tan brillante en DB2 o Informix Universal Server. Un componente denominado ServeTuner es el encargado de optimizar el rendimiento de la base de datos de forma automática. Para ello analiza los recursos de los que dispone el sistema y los requerimientos de la aplicación mientras la base de datos esta en funcionamiento, recomendando los valores más adecuados y aplicándolos en el momento más adecuado.
SYBASE
Con la evolución del producto se ha ido mejorando la intefaz sustancialmente y en la versión NT cada vez son más las pantallas gráficas y los asistentes.
El rendimiento de Sybase, al igual que otros productos evaluados, conforme crece el hardware del servidor ya que también admite configuración especifica para multiprocesadores simétricos (SMP). La idea es que consulta, ordenación de dato y otros procesos puedan ser ejecutados en paralelos. Según los datos ofrecidos por Sybase las consultas distribuidas en paralelo, pueden proporcionar respuestas hasta 15 veces más rápidamente (en situaciones muy optimas)
Sybase en su versión Adaptative Server está constituido por una selección de componentes Adaptative Server (RDBMS).
Backup Server se utiliza para las copias de seguridad de datos. Monitor Server o Historial Server se encargan de capturar, mostrar y evaluar datos de rendimiento, así como ajustar el Component Integration Service, se encargan de extender la funcionalidad presentando una vista de los datos de forma uniforme en las aplicaciones clientes.
Server Config es la herramienta de configuración y SQL remote proporciona replicación basada en mensajes entre una base de datos central y un conjunto de bases de datos sitas en ordenadores de sobremesa en la misma ubicación u otra diferente. Por la parte del cliente existen más componentes especialmente útiles. Si no tenemos ninguna aplicación propia que manipule los datos. Así tenemos el Net Impact Dynamo, que es un conjunto de herramientas cuya finalidad es construir y manipular websites enlazados a bases de datos de Sybase. Se trata de diseñar de paginas HTML que sirvan como modelo e incluir SQL en las mismas, pero utilizando un asistente que reduce enormemente el tiempo de diseño. Se incluye un superconjunto de JavaScript. También tenemos en el paquete al popular PowerSoft Infomakerr, herramienta diseñadora multifunción ideal para general formularios, informes, gráficos, tablas, etcétera.
Pero tal vez la herramienta más útil para el administrador sea SQL Modeler, con la cual es posible diseñar estructuras de bases de datos de forma optima, incluyendo eventos y procedimientos integrados. Esto puede ser muy interesante que también es posible realizar procesos de ingeniería inversa interpretando la estructura de las bases de datos de otros sistemas (Access, DB2, SQL Server...) Una vez interpretada se construye la equivalente de Sybase, que se modifica con las herramientas del entorno.
Una de las posibilidades que ofrece el producto es la replicación y se logra gracias al componente SQL remote. Además ofrece un Replication Server, cuando los servidores de bases de datos son un pequeño número y el tiempo característico de actualización es en orden de segundos. Un ejemplo de uso característico d SQL Remote, unido al Adaptative Server, es la creación de una Intranet dónde se puedan añadir puestos móviles.
Las plataformas que admite el producto son WinNT, Digital Unix, DCR System, SCO-UnixWare, Silicon Graphics, HPUX, Aix, Solaris y Linux. Se soportan los siguientes protocolos: APPC, IPX/SPX, NetBios, TCP/IP, Pipes con nombres.
Finalmente, decir que la seguridad de integridad de los datos es uno de los objetivos de Sybase, con una certificación ISO 9001 DBMS. Incluye Duplicación/Espejo de Disco, Volcado de seguridad y restauración de alta velocidad, transacciones en línea con roll-back automático.
Ms-Access es un programa comercial de la empresa Microsoft Corporation. Se trata de un sistema gestor de bases de datos diseñado para ser utilizado en computadoras personales tipo PC. Aunque no está considerado como un sistema “serio”, lo cierto es que permite realizar las mismas tareas que los tradicionalmente considerados sistemas “serios”, como puede ser Oracle. A diferencia de éste, Access puede funcionar en sistemas de bajo coste, y es mucho más asequible. Además, dispone de un entorno muy amigable (al estilo Windows 95). Por esta razón, cada vez más empresas apuestan por este sistema
Por todas estas razones, estudiar un sistema como Access es una buena apuesta, ya que abre las puertas a un mercado cada vez más importante, sin que ello suponga dejar de conocer otros sistemas muy extendidos.
Los programadores no pueden ser ajenos a los nuevos modelos de diseño de bases de datos, tanto en soluciones de escritorio como en los grandes servidores.
Es difícil que en una aplicación no se utilice una base de datos. Incluso en aquellas aplicaciones que no están destinadas al mundo empresarial, la base de datos es algo fundamental, pues siempre hay algo que almacenar. Evidentemente, dada la cantidad de situaciones distintas en las que se puede utilizar una base de datos, es lógico que existan múltiples tipos, así como muchas formas distintas de acceder a ellas.
Las bases de datos actuales son todas relacionales, con un conjunto de tablas que se encuentra dividido en filas y columnas. Para acceder a las bases de datos relacionales, IBM desarrollo el lenguaje SQL. Pese a que la gran mayoría de las bases de datos fueron implementando este lenguaje, la forma de controlarlo desde un programa era diferente en función del fabricante. Para evitar estos problemas se desarrollaron controladores de acceso, siendo uno de los más famosos el ODBC, que proporcionan al programador un conjunto de funciones (API) estándar para acceder al motor. Cada fabricante suele desarrollar junto a la base de datos el controlador correspondiente, de igual forma que cada fabricante de impresoras fabrica el controlador de la misma. Con esto se consiguió que los programadores pudiéramos acceder de forma estándar a cualquier base de datos que incorporase el correspondiente controlador. A este tipo de software intermedio se le suele denominar middleware (palabra utilizada siempre que existe software intermedio). Sin embargo, con el fin de facilitar aún más las cosas, algunos fabricantes de herramientas de desarrollo dotaron a éstas con una nueva capa intermedia de software (motor de base de datos) intercalada entre el código fuente del programa y el controlador ODBC, o directamente entre el programa y la base de datos. En la actualidad los dos motores de base de datos más comunes son Microsoft Jet y BDE (Borland Database Engine).
Finalmente, con la introducción de herramientas de desarrollo rápido (RAD) han proliferado los controles y los objetos de acceso a datos. Estos establecen un puente entre la interfaz del usuario y el motor de acceso a datos, por lo que la tarea del programador, tal y como se ve, queda reducida a la mínima expresión. Actualmente nos encontramos en esta etapa, donde los controles y los objetos de acceso a datos gobiernan las nuevas aplicaciones. En la Tabla 1 se han mostrado los controles, objetos y motores más difundidos en la actualidad y sobre los que se apoyan la mayoría de los programadores.
BDE (Borland Database Engine) nació como solución al acceso a las bases de datos desde los lenguajes clásicos. Inicialmente únicamente proporcionaba acceso a unas cuantas bases de datos, pero en la actualidad se ha convertido en una potente herramienta para el programador que desee acceder a prácticamente cualquier BD. El API que proporciona a los programadores se denomina Integrated Database Application Program Interface (IDAPI) y, entre otras, cuenta con las características que detallamos a continuación. En primer lugar proporciona un acceso unificado a bases de datos como Paradox, dBASE, InterBase, Oracle, Sybase e Informix, además de poder acceder a cualquier base de datos que posea el correspondiente controlador ODBC. La última versión incluida en Delphi 3 incorpora también conectividad nativa con MS Access, FoxPro, DB2 y AS/400 en la versión Delphi/400 y C++Builder/400.
BDE está formado por el ya mencionado IDAPI, un motor (engine) de consultas en SQL y QBE (Query By Example), tres controladores directos para acceder a Paradox, dBASE y ficheros de texto, controladores nativos opcionales para Oracle, Sybase, Informix e Interbase y conexión ODBC. Al tratarse de un software orientado a componentes, BDE contiene una serie de servicios compartidos, con el fin de facilitar el desarrollo y maximizar la reutilización. Por ejemplo, un administrador permite a todos los controladores compartir el mismo buffer, de forma que los buffers propietarios de algunos controladores pueden ser ubicados dentro del mismo buffer general. Pese a que los controladores no tienen por qué compartir este buffer general, si se hace, los recursos del sistema se maximizan. Con BDE se consigue una alta independencia del sistema operativo, pues éste queda aislado, controlando de forma directa la entrada y salida de archivos, accesos a la red y ubicación de memoria.
Con el fin de evitar los típicos cachés que hay que realizar para trabajar con BLOBs, BDE posee su propio servicio de caché. Éste es accesible desde todos los controladores y, además, es posible abrir múltiples BLOBs de forma simultánea. Una característica muy interesante es que el caché de BLOBs permite un acceso aleatorio, evitando así tener que transferir cada uno de ellos a un archivo. Esta es una característica que BDE implementa cuando la fuente de datos no lo permite hacer de forma directa.
Mediante un servicio de reestructuración que actualmente está disponible para cualquier base de datos, se proporciona al desarrollador la posibilidad de añadir o modificar campos o cualquier aspecto estructural de una tabla. Este mecanismo crea una nueva tabla que refleja las modificaciones en la estructura de la original y transfiere todos los registros adaptándolos de forma automática. Mediante la herramienta SQL Explorer permite realizar modificaciones de la estructura de cualquier tabla utilizando SQL.
Otra característica interesante de BDE es que permite la utilización de cursores enlazados dando posibilidad de establecer relaciones de una a muchas entre dos tablas. Mediante esta característica se permite la creación de complejas aplicaciones multitabla sin demasiada programación.
MS Jet es el motor de bases de datos que Microsoft proporciona en la mayoría de sus productos. Se trata de un producto que es independiente de la aplicación que lo utilice y, por este motivo, puede ser utilizado desde los clásicos Excel o Word hasta las herramientas de programación más avanzadas, como Visual C++ o Visual Basic.
Mediante los objetos de acceso a datos (DAO) el programador tiene a su alcance un control directo sobre la base de datos. Microsoft Jet puede controlar directamente ODBC, aunque no se reduce únicamente a él, ya que puede acceder, mediante ISAM, a un numero limitado de bases de datos, como FoxPro, Paradox, dBASE, Lotus 123, Excel y ficheros de texto.
Las aplicaciones o herramientas de programación que utilicen Microsoft Jet, pueden almacenar sus propios objetos en la base de datos, así por ejemplo, en Access se almacenan dentro de la misma base de datos formularios, macros y módulos de programa. Dentro de la base de datos los registros son organizados en páginas. Cada página puede contener más de un registro, pero nunca un registro puede superar el tamaño de una página. Algunos campos particulares, como Memos y objetos OLE, se suelen almacenar en páginas separadas del registro que los contiene. Otra cualidad es que los registros contenidos dentro de una página no tienen por qué tener la misma longitud.
La ingeniería de consulta (query engine) de Microsoft Jet soporta la recuperación y manipulación de datos desde SQL, aunque también se pueden utilizar DAO para programar el acceso a los datos de las tablas. Dentro del terreno de la seguridad, Microsoft Jet permite definir usuarios y grupos, así como fijar los permisos de cada objeto de la base de datos para los usuarios y grupos definidos. Tanto los grupos como los usuarios y sus claves de acceso se manejan dentro de un entorno seguro proporcionado por el Administrador de Grupos de Trabajo (Workgroup Administrator).
Mediante Microsoft Jet es posible dar acceso simultáneo a varios usuarios a la base de datos. Para ello, Jet cuenta con dos sistemas de bloqueo: pesimista y optimista. Mediante el bloqueo pesimista dos usuarios no pueden modificar al mismo tiempo el mismo registro, ya que se bloquea la página que lo contiene en el momento que comienza la edición del mismo por parte de algún usuario. Sin embargo, mediante el bloqueo optimista, Jet permite la edición del mismo registro a varios usuarios, puesto que la página que lo contiene es bloqueada únicamente cuando se actualiza.
Dentro de las funciones típicas de mantenimiento, Microsoft Jet proporciona funciones que permiten la compactación, reparación y conversión de la base de datos. La compactación reestructura la base de datos fragmentada como consecuencia de la eliminación e inserción de registros. Cuando la base de datos se daña por cualquier motivo, como por ejemplo un corte de fluido eléctrico, se deberá acudir a las funciones de reparación que, si bien no funcionan el 100% de las veces, sí resuelven los problemas más típicos.
Basándonos en las ofertas de empleo que comúnmente podemos encontrar en las bolsas que aparecen en diarios de prensa, hemos elaborado un recuento (aislando las que pertenecen al sector informático) para obtener una primera estadística de la distribución de los diferentes S.G.BB.DD. en las empresas españolas.
Como para los restantes tipos de Software, el mercado de los Sistemas Gestores de Bases de Datos está muy diversificado. Existen infinidad de ellos (nótese que sólo hemos tratado los más relevantes). Como siempre la elección, en el caso de encontrarse ante la necesidad de adquirir uno de ellos, irá en función de las necesidades que tengamos. Siempre será muy importante evaluar éstas necesidades pues el abanico de precios que se nos despliega ante nosotros, no incita a tomarse el asunto a la ligera.
Una de las "anecdotas"con la que nos hemos topado durante la investigación fue la sorpresiva tendencia del sector profesional americano por los productos de más elevado coste. Pudimos comprobar que prefieren una ristra de características y posibilidades (aunque no las necesiten) a encontrar la equilibrada relación calidad / precio que tanto se busca por estos lares.
En cuanto a la extracción de conclusiones, nos quedamos, cómo no, con la visión más concreta de lo que hoy son las bases de datos, y como están detrás de cada rincón de nuestras vidas. De ahí es fácil deducir la importancia que tienen para los desarralladores de soluciones integradas, en cuyo ámbito.
Sistemas Gestores de Bases de Datos
Introducción:
La información, sea de la naturaleza que sea, y la posibilidad de obtener el máximo control sobre ella ha sido uno de los principales objetivos del ser humano desde hace ya siglos.
De hecho, el poder de gestionar grandes cantidades de datos se ha constituido, especialmente a través de las última décadas, en uno de los factores más significativos en lo que respecta al nivel de desarrollo del hombre.
Hoy en día es difícil encontrar un solo lugar en el mundo civilizado en el que no exista un completo control sobre todo lo que sea “registrable”, ya sea en horarios de trenes, datos personales de la población, información estadística de cualquier índole o, incluso, datos antes tan difíciles de registrar de forma exhaustiva como son material literario u obras de arte de un museo.
Ya no existe casi nada que pueda escapar del control humano y, como tal, todo nos debemos acostumbrar a cohabitar por los sistemas encargados de realizar este tipo de gestión automática de la información, sin tener por ello que temer en ningún momento a las consecuencias derivadas de dicho control.
Los ordenadores han favorecido en gran medida la consumación de este objetivo, puesto que fueron ideados para encargarse de realizar todas aquellas operaciones que al hombre le suponía un gran esfuerzo y cantidad de tiempo.
Operaciones de carácter repetitivo en las que antes el ser humano debía emplear horas, como puede ser la ordenación de archivos o rellenar sobres con direcciones para remitir correspondencia a multitud de clientes, en nuestros días a un ordenador no le lleva más de unos segundos.
De hecho, conforme mejora la calidad y prestaciones de los equipos informáticos, mayor capacidad de cálculo son capaces de ofrecer éstos, por lo que, incluso la ordenación o búsqueda en ficheros constituidos por millones de fichas ya no representan un obstáculo para cualquier ordenador PC de la gama alta
Podemos definir una Base de Datos como un conjunto exhaustivo y no redundante de datos estructurados, organizados de forma independiente a su utilización o implantación en máquina, accesibles en tiempo real y compatibles con usuarios concurrentes y sus respectivas necesidades (peticiones) de información.
Es sabido que en el ámbito empresarial, llegó un momento en el que la información de negocios alcanzó un volumen superior al que la capacidad humana puede procesar, en cuestiones de búsqueda, análisis y cruces entre los datos. A partir de ese momento, el ordenador y el proceso computerizado tomaron el testigo, y mediante las Bases de Datos se comenzó a almacenar, procesar y gestionar los datos de las empresas más importantes.
La propia evolución de la Informática, en todos sus aspectos, fue abaratando costes y simplificando procesos. Las herramientas de administración de Bases de Datos se desarrollaron incesantemente (aún hoy día siguen avanzando) hasta convertirse en poderosos motores capaces de manejar enormes cantidades de información en pocos segundos.
En virtud de su poder, las bases de datos se han afianzado en dos áreas clave para el desarrollo de los negocios: el procesamiento de transacciones y el DataWareHousing. Gracias a la simplificación de los procesos y a la evolución de los ordenadores personales, las bases de datos cubren también las necesidades domésticas de proceso de información, así como las necesidades de gestión de Pymes.
La primera solución que pro-porcionó el tratamiento auto-matizado de la información para el almacenamiento de datos fueron los sistemas de ficheros. Estos sistemas de ficheros estaban limitados a la escasa potencia de los equipos informáticos, de la época. Los accesos a los medios de alma-cenamiento eran muy lentos y solo se podían utilizar un fi-chero simultáneamente, lo que hacia lentos las refe-rencias entre los datos.
A medida que la necesidad de almacenar y gestionar la información fue creciendo, la Informática ha procurado diferentes solu-ciones mediante la definición de una serie de modelos.
Estos modelos son un conjunto de pautas, medi-ante las cuales podemos representar una realidad de forma abstracta mediante datos y la forma de estruc-turar éstos. Existen tres grandes grupos en los que podríamos englobar estas pautas de representación, y cada uno de ellos genera lo que se ha llamado un modelo de base de datos.
Bases de datos
Modelo Jerárquico
Este modelo fue el primero en aparecer y se caracteriza por organizar la información a través de una estructura de árboles, en la que las relaciones entre instancias o registros se expresan mediante una jerarquía. Dicha jerarquía distribuye y ordena los datos mediante un recorrido en Preorden.
Esta estructura cuenta con una gran cantidad de inconvenientes conocidos, por lo que su utilización en la actualidad es prácticamente nula. La flexibilidad y falta de estructuración de este modelo permite crear registros cuyos campos sean variables en número y tamaño; además cuando la información almacenada en la base de datos es muy grande, se convierte en inmanejable. En cuanto a limitaciones lógicas cabe destacar que este modelo sólo soporta relaciones del tipo 1-a-Muchos (ya que las de tipo Muchos-a-Muchos requieren un inaceptable nivel de redundancia).
Modelo de Red
Este modelo fue concebido como una ampliación del modelo jerárquico, cuya finalidad era solucionar las deficiencias lógicas de este último. Al igual que el anterior, también se emplea una árbol como estructura base, pero con la diferencia de que un mismo hijo puede tener diferentes padres, con lo que es posible representar relaciones Muchos-a-Muchos sin redundancia aparente. En algunas versiones modernas de éste modelo incluso encontramos la aparición de Registros Enlaces para establecer relaciones Muchos-a-Muchos. Como inconveniente presenta la complejidad que alcanza el entramado de enlaces entre las instancias cuando se almacenan gran cantidad de datos, así como la hostilidad de los lenguajes de programación y control de estas bases de datos.
No se permiten ocurrencias duplicadas en una tabla
Hay un solo valor para un atributo dado de una determinada ocurrencia
Todos los atributos que no forman parte de la clave dependen sólo de esta.
Todas los valores en un atributo que sea clave extranjera deberán aparecen en la tabla donde dicho atributo es clave principal.
Ejemplos de Tablas:
Podemos apreciar la estructuras de la tablas, compuestas por atributos, y las dependencias que existen entre ellas.
En la tabla Existencias, el atributo Almacén hace referencia a una instancia de la tabla Almacenes, y el atributo Tipo referencia una instancia de la tabla Piezas.
Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
Para superar los límites de los sistemas de ficheros surgieron los denominados Sistemas Gestores de Bases de Datos. Estas aplicaciones daban cabida a múltiples sistemas reales de datos (múltiples bases de datos). Esto se debe a que no solo almacenaban los datos es sí, sino que además almacenaban la definición lógica de la base de datos (esquemas y subesquemas), así como la definición de los usuarios y sus respectivos permisos de acceso.
En el ámbito físico presentaban la ventaja esencial de acceso “simultáneo” a varios ficheros, lo que supone una gran mejora respecto a los tiempos de búsqueda y respuesta.
A nivel lógico, la nueva y estructurada organización de estos sistemas, apoyados en el modelo relacional de bases de datos, permiten que su gestión sea posible mediante lenguajes de muy alto nivel y de cuarta generación.
En la práctica los S.G.BB.DD. se presentan en compactos entornos de desarrollo que facilitan enormemente el diseño y creación de base de datos. Podemos dividir el grueso de estos programas en dos grandes bloques:
Servidores de BB.DD.
(S.G.BB.DD. Corporativos)
Están orientados a la implementación de un gran volumen de información y a proveer accesos a ésta a través de redes (tanto de área extensa como locales). Son aplicaciones muy extensas que requieren plataformas específicas y dedicadas, lo cual las hace exclusivas de grandes instituciones.
Gestores de BB.DD. Personales.
Están destinados a ofrecer solución a las necesidades domesticas de almacenamiento de información, así como gestión para Pymes. En la actualidad estos sistemas están muy extendidos, por ser muy flexibles y fáciles de utilizar.
Gestión de los Accesos Concurrentes:
El principal objetivo de la implantación de una base de datos es poner a disposición de un gran número de usuarios un conjunto integrado de datos. Estos datos pueden ser manipulados por los diferentes usuarios y por lo tanto se debe garantizar la coherencia de los datos después de las diversas manipulaciones. Esto se garantiza con la ayuda del concepto de transacción. (se define como transacción a una unidad lógica de tratamiento que aplicada a un estado coherente de una base de datos restituye un nuevo estado coherente de la base de datos pero con estos modificados). Asegura la integridad de los datos mediante el bloqueo y liberación de los registros, impidiendo así que un usuario acceda a un registro que no ha sido completamente actualizado por una petición previa de otro usuario.
Escalabilidad
La escalabilidad es otro factor a tener en cuenta ya que si vamos a almacenar gran cantidad de datos de alguna manera necesitamos disponer de un lugar para guardarlos. Un gestor de base de datos debe proporcionar soporte, tanto si trabaja en una base de datos local, como en una base de datos que este distribuida alo largo de un sistema paralelo o más grande. A medida que se necesite más capacidad o potencia de proceso, se debe dispones de un sistema de base de datos escalable capaz de manejar las nuevas necesidades.
Data Repliation (Replica de Datos)
En ocasiones se ofrece la posibilidad de compartir datos que pertenecen, físicamente, a distintas bases de datos (fenómeno conocido como data replication). Las ventajas que ofrecen son, en primer lugar, que los datos estén disponibles localmente, con lo que se evita los problemas de coste y disponibilidad en las transmisiones; y en segundo lugar, que la velocidad de respuesta ante un requerimiento de datos es, obviamente, mucho mayor. En cualquier caso, esta réplica de dato no puede (y no lo hace) realizarse “alegremente”, sino que debe asegurar una integridad transaccional para cada base de datos y una consistencia en los mismos, minimizando y solucionando los problemas de que en un mismo instante de tiempo coexistan distintas versiones de una misma información.
Servidores de Bases de Datos
IBM DB2 5.2
Esta nueva versión de IBM determina opciones, muchas de ellas nuevas:
Permite agilizar el tiempo de respuestas de esta consulta
Recuperación utilizando accesos de sólo índices.
Predicados correlacionados.
Tablas de resumen
Tablas replicadas
Uniones hash
Microsoft
SQL
SERVER
7.0
ORACLE 8
Otros Servidores de Bases de Datos
Existen otras aplicaciones análogas a las comentadas anteriormente que normalmente están dedicadas a miniordenadores, siendo frecuente su uso en ámbito gubernativo o de gran empresa. Pero también existen otros que pueden funcionar en los PC y cuya introducción en el mercado crece día a día. Este es el caso de Adabas (de Software A.G.). El sistema de gestión de bases de datos a evolucionado desde la primera versión hasta el momento actual con la versión 6, para ofrecer una familia de servidores optimizados para las principales arquitectura del mercado (esta disponible en entornos Main-Frame MVS, y entornos departamentales como Unix OpenVMS, BS2000 y Windows NT) y para soportar aplicaciones de misión crítica en entornos corporativos.
Entre las características de Adabas podemos destacar a un servidor existente de datos multimedia a escala corporativa, que permiten la gestión de todo tipo de estructuras de datos y objetos complejos, así como arquitectura distribuida o replicada con funcionalidad SQL-Ansi ISO y accesibilidad via ODBC y JDBC. La capacidad de conexión y acceso al Web permite la generación dinámica de páginas HTML, admitiendo la combinación con leguajes script lo que facilita una sencilla interacción de nuevos servios de información el línea. La adaptación de nuevas estructuras organizativas work-flow vía Inter o la puesta en marcha de aplicaciones de Comercio electrónico.
Concretamente en la Versión 6, Adabas comenta la extensibilidad del sistema, por ejemplo, aumenta el numero de bases de datos por nodos, el numero de ficheros, y el numero de registro por ficheros, al tiempo que mejora el rendimiento con su nueva gestión de hilos de ejecución. Perfecciona alguna de sus características, como los triggers (basados en Natural) y procedimientos almacenados.
Otra aplicación de alto nivel, una RDBMS orientada a DataWareHousing que corre en Unix y Windows NT (desde 1998). Como su nombre hace sospechar tiene una escalabilidad prácticamente ilimitada, diseñada para trabajar con bases de datos enormes gracias a una tecnología llamada DSS (Decission Support Scalability). De hecho su punto más fuerte es el contar con un sector de mercado donde los tamaños de las bases de datos superan los 500 Tbytes. La versión 2.0.1 para NT dispones de herramientas con interfaces avanzados dentro del entorno Windows, así como drivers JDBC para acceso a Java desde Internet.
Adabas 6.0
NCR Teradata
Distribuido en España por Mastertelecom Corp., Conzept 16 es un gestor de Bases de Datos Multiplataforma. Este sistema es un servidor No - SQL, con características que lo hacen resaltar entre los demás de su categoría. Entre los protocolos que soporta ésta son TCP/IP, IPX/SP. Esta diseñado para trabajar en Red, con una arquitectura cliente-servidor. Se distribuye con documentación en castellano, acompañado de una Guía de Aprendizaje y una Guía de Consulta.
Entre las características destables de Conzept 16 se encuentra una sofisticada gestión de memoria pudiendo utilizar cualquiera de los sistemas BIOS, XMS, EMX, VCPI o DPMI.
El lenguaje de programación utiliza palabras reservadas en Ingles y Alemán, y tiene utilidades y asistentes para realizar las tareas simples y procesos por lotes. Incorpora generadores de listados y consultas integrados en el mismo producto.
Es otro producto de interés al ofrecer una base de datos integrada de prestaciones moderadas pero suficientes para muchas aplicaciones. En su nueva versión se ofrece como un servicio más de NT, que ofrece sus prestaciones de forma silenciosa. Admite la definición de funciones externas (triggers y procedimientos) permitiendo el uso de las DLL que se encuentren en el sistema (el acceso a estructura de datos complejas y dispositivos especiales son algunas de las utilidades).
También dispone de un driver JDBC (nivel 4) para acceso a Java desde Internet y un soporte mejorado de ODBC, compatible con la versión 3.
Conzept 16 V3.4 para NetWare
SQL Base 7 de CenturySoft
Gestores de Bases de Datos Personales
En su última versión encontramos varios cambios:
-
La ventana de la aplicación ha cambiado para dar cabida a nuevos objetos expuestos, para hacerla más fácil y clara.
-
La vista de tabla permite ahora mostrar tablas dentro de otras, dando una visión mucho más global de los datos.
-
Incorporación de un generador HTML para enlaces con bases de datos Access.
-
Integración absoluta con SQL Server
-
Diseño orientado a arquitecturas cliente/servidor.
-
Nueva Versión de Jet (4.0)
Lotus Approach
La solución “doméstica” de Lotus para las bases de datos es Approach. Se distribuye junto con su paquete integrado SmartSuite. Se trata de un gestor de bases de datos relacionales que incorpora las funciones básicas para crear, mantener pequeños sistemas de datos, así como facilitar las tareas de acceso a los mismos. Su principal virtud es la total integración con el Sistema Lotus Notes para trabajo en grupo, que proporciona una gestión eficiente para la gestión de usuarios en LANs, siendo ideal para Pymes.
Incorpora un interfaz único representado como una aplicación individual desde la cual podemos crear la base de datos mediante sencillos pasos y menús gráficos. Una vez creadas las tablas y relaciones, es posible definir índices vistas y consultas. Dispone de compatibilidad SQL y con un generador de instrucciones de este lenguaje, muy simple y limitado.
Genera Gráficos cuantitativos a partir de tablas, aspecto muy atractivo para la creación de informes de utilidad en el ámbito profesional. Dispone un lenguaje de script llamado Lotus-Script (propio de SmartSuite), con el que se pueden crear potentes macros.
Los desarrolladores del mítico gestor de bases de datos dBase IV (Ashton Tate Inc.), que marcó toda una época en la informática personal, vendieron los derechos de “dBase” a Borland, la cual no ha sacado versiones del mismo desde 1987.
Los nuevos responsables del de la aplicación (Ksoft) han lanzado la versión 7 este programa. Se trata de una versión de 32 bits muy poco compatible hacia atrás. Su principal baza se basa en los asistentes para creación de comercios web basados, en dBase en pocos pasos. Los asistentes para creación y mantenimiento de las bases de datos son muy intuitivos.
dBase 7.0
Programación de Bases de Datos
BORLAND DATABSE ENGINE
MICROSOFT JET
Bases de Datos y Ofertas de Empleo
Sistemas Gestores de Bases de Datos
Entornos de Desarrollo y Utilidades
Conclusión
Descargar
Enviado por: | Mauricio Garcia Y Jorge Sanchez |
Idioma: | castellano |
País: | España |