Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Mecanismos de acceso a datos en Delphi 6



    1. Resumen y
      descripción
    2. Borland Database Engine
      (BDE)
    3. ActiveX Data Object
      (ADO)
    4. dbExpress
    5. Interbase Express
      (IBX)

    Resumen y
    descripción
    :

    Resumen:

    La monografía trata acerca de los mecanismos
    que existen en Delphi 6 para el acceso a bases de datos. A
    grandes rasgos se analizan sus características y se dan a
    conocer sus ventajas y deficiencias con el fin de saber cual
    emplear en cada caso.

    Categoría: mecanismo, acceso, bases de
    datos, componentes, Borland, Data, Engine, BDE, Activex, Object,
    ADO, dbExpress, Interbase, IBX.

    —————–

    Aunque Delphi 6 es una versión de Delphi que va
    quedándose atrás pues después de esta han
    surgido varias más hasta llegar a la actual que es Delphi
    2006, no deja de ser útil para aquellas personas que no
    cuenten con los recursos de
    hardware
    necesarios para instalar versiones superiores y más
    aún si esta cubre las necesidades del programador dadas
    por las características del problema.

    Una de esas necesidades del programador y que es de las
    más frecuentes es el acceso a bases de datos desde una
    aplicación.

    Aunque otras versiones de Delphi, incluso inferiores a
    Delphi 6, proveen de un conjunto de componentes para el acceso a
    una base de datos
    nos centraremos en conocer los mecanismos que ofrece Delphi 6
    para ello.

    En Delphi 6 existen varias clases de componentes para
    acceder a bases de datos por tanto en ocasiones puede resultar
    difícil la elección de una de ellas para nuestro
    problema en particular. Los componentes para acceder a bases de
    datos son agrupados en paletas de acuerdo al mecanismo de acceso
    a datos que ellos emplean. Estos mecanismos son:

    • Borland Database Engine (BDE).
    • ActiveX Data Object (ADO).
    • dbExpress.
    • InterBase Express (IBX).

    A pesar de que todos estos mecanismos tienen un mismo
    propósito: el comunicarse con una base de datos y
    representar la información que esta contiene, ellos se
    diferencian unos de otros por aspectos como: desempeño, uso de recursos, robustez,
    portabilidad de un sistema operativo
    a otro, facilidad en su desarrollo,
    así como la disponibilidad de controladores (drivers)
    asociados a ellos para acceder a diferentes tipos de bases de
    datos.

    La decisión de cual mecanismo elegir está
    determinado, para el desarrollador, por la importancia dada a
    cada uno de los aspectos anteriores. Además está
    determinado por el tipo de base de datos que se va a emplear ya
    sea Paradox, Access, MS
    SQL Server,
    Interbase, entre otras.

    A continuación veamos algunas
    características de cada uno de estos mecanismos de acceso
    a datos.

    Borland
    Database Engine (BDE):

    Este mecanismo surgió en Delphi desde la misma
    versión 1 como un motor para
    acceder a bases de datos Paradox.

    De todos los mecanismos de acceso a datos BDE es el que
    brinda un mayor número de funciones para
    manipular la información contenida en una base de datos,
    provee también de una interfaz para acceder a una amplia
    variedad de servidores de
    bases de datos a través de los controladores
    correspondientes.

    Sin embargo una de las desventajas que tiene este
    mecanismo es que al construir una aplicación basada en
    BDE, en esta se incluye automáticamente el motor de acceso
    a datos.

    Este hecho además de incrementar el tamaño
    de la aplicación resultante, hace aumentar la complejidad
    de su desarrollo. El costo, por tanto,
    de futuros desarrollos y mantenimientos a la aplicación
    continuaría siendo alto.

    En muchas fuentes de
    información se dice que este mecanismo debido a su
    arquitectura
    es ideal para trabajar con bases de datos Paradox y dBase -tipos
    de bases de datos estas basadas en fichero tal como lo es
    Microsoft
    Access– por lo que algunos desarrolladores no lo emplean en
    otros tipos de bases de datos, evitando que se limiten
    funcionalidades de estas en la aplicación ya que BDE no
    las soporta. Tal es el caso de los problemas de
    compatibilidad que se presentan entre los campos de determinados
    servidores SQL y los
    tipos de datos de
    Delphi.

    BDE presenta también problemas específicos
    con algunos gestores, como es por ejemplo en MS SQL Server, en el
    manejo simultáneo de varias consultas. También en
    el caso de Interbase existen dificultades ya que BDE no puede
    acceder a los tipos de arreglos Interbase.

    BDE tiene también otro inconveniente en su uso:
    es un mecanismo de acceso a datos que desde hace años la
    misma Borland lo está considerando como en desuso, lo que
    se conoce en inglés
    como "deprecated".

    Esto significa que aunque BDE haya aparecido en las
    versiones siguientes de Delphi, este no ha sido mejorado ni se le
    han incorporado nuevas funcionalidades por lo que tiende a
    desaparecer. En su lugar Borland recomienda que se emigre para el
    mecanismo dbExpress, en el caso de bases de datos remotas y en el
    caso de base de datos locales como Paradox y dBase, se aconseja
    transformarlas a la edición
    Desktop de InterBase 6 y luego emplear como mecanismo de acceso a
    datos InterBase Express o dbExpress.

    ActiveX Data
    Object (ADO):

    La tecnología ADO
    Express apareció en Delphi desde la versión
    5.

    Los componentes ADO Express proveen de acceso a bases de
    datos por medio de un marco de trabajo
    simplificado que contiene varios objetos ADO dedicados a efectuar
    operaciones
    con la base de datos. Cada uno de estos objetos son encapsulados
    dentro de los distintos componentes que ofrece Delphi para este
    mecanismo.

    Para lograr el acceso a los datos se necesita que tanto
    en el servidor donde se
    encuentre la base de datos como en la estación cliente
    esté instalado el Microsoft
    ActiveX Data Objects 2.1 o una versión superior. Se
    requiere además la existencia de un proveedor OLE DB, de
    los cuales existe un gran número para diferentes bases de
    datos, o en su lugar un controlador ODBC. OLE DB es una interfaz
    de bajo nivel diseñado para acceder a cualquier tipo de
    datos.

    Las aplicaciones basadas en ADO usan el ADO 2.1 para
    interactuar con el proveedor OLE DB el cual se conecta con la
    base de datos y accede a los datos.

    ADO es un estándar de Microsoft por lo que tanto
    él como OLE DB son distribuidos por esta
    compañía y desde hace algunas versiones de Windows forman
    parte del sistema
    operativo. Este hecho da mucha eficiencia a este
    mecanismo pues de esta manera el motor de acceso a datos
    está integrado en el propio sistema por lo que, a
    diferencia de BDE, la aplicación no tiene que incluirlo en
    ella haciéndola más ligera y más
    fácil de construir.

    ADO es un mecanismo bastante ligero y altamente
    poderoso, pues entre otras razones, permite acceder tanto a bases
    de datos relacionales como no relacionales. A diferencia de BDE
    provee de gran funcionalidad y rapidez en la actualización
    del resultado de una consulta a través del método
    Requery.

    Sin embargo aunque ADO es empleado para acceder a
    múltiples bases de datos se dice que este mecanismo tiene
    un número de características que parecen estar
    más orientadas hacia Access que a
    otros gestores, hecho muy similar al que sucede entre BDE y
    Paradox.

    Una de las características más
    interesantes que posee ADO es el uso de cursores o punteros en la
    estación cliente.

    Una vez que se ha obtenido del servidor una copia
    completa de un dataset (una tabla, una consulta o un
    procedimiento
    almacenado), en el cliente se pueden efectuar, sobre esta copia
    caché, operaciones como ordenado, filtrado y
    edición de datos. Con esto se tiene la posibilidad de
    crear una copia provisional de los datos en un fichero local y
    trabajar con esta sin una conexión con el
    servidor.

    dbExpress:

    Este mecanismo de acceso a datos se incorporó en
    Delphi a partir de la versión 6. Fue diseñado,
    entre otras razones, con el propósito de facilitar la
    configuración de los controladores y reemplazar la
    tecnología de conexión a base de datos remotas
    existente hasta ese momento, como la usada por BDE, brindando
    ligereza y facilidad de desarrollo.

    Por medio de un conjunto de controladores permite, de
    todos los mecanismos, el acceso más rápido a la
    información de la base de datos.

    Para cada base de datos, dbExpress utiliza un
    controlador que adapta el formato de esta a un conjunto de
    interfaces dbExpress. De esta manera al construir una
    aplicación que use este mecanismo se necesita incluir en
    ella una librería de enlace dinámico (DLL) que es
    la que constituye el controlador para la base de datos
    específica.

    Una característica muy importante de dbExpress es
    que posibilita su uso y desarrollo en más de un plataforma
    pues en Linux, con la
    versión de Delphi para este sistema operativo conocida
    como Kylix, puede emplearse este mecanismo
    también.

    La gran rapidez que tiene dbExpress en el acceso a los
    datos se debe a que este mecanismo emplea datasets
    unidireccionales los cuales son diseñados para este
    propósito con un empleo de
    recursos mínimo. Los datasets unidireccionales al
    no almacenar información en memoria
    están limitados en su funcionalidad con respecto a otros
    tipos de datasets.

    De esta manera se ven afectadas, en mayor o menor
    medida, operaciones como la navegación entre los registros,
    ediciones para actualizaciones, filtrado de registros,
    búsqueda de registros por campos e incluso su
    representación en componentes visuales.

    Dadas estas limitaciones en dbExpress, a diferencia de
    BDE y ADO, no se ofrecen un amplio número de funciones
    para la manipulación de los datos. También hay
    otros tipos de limitaciones como por ejemplo la dependencia que
    tiene una aplicación de una DLL, lo que puede resultar en
    ocasiones un obstáculo. Algunos sistemas gestores
    de bases de datos no son bien soportados por dbExpress, ese es el
    caso de los problemas existentes entre los controladores de este
    para MySQL. Por
    otra parte ciertas características especiales de un gestor
    como son los diferentes tipos de datos no son brindadas por
    dbExpress, así sucede por ejemplo en el caso de Oracle.

    Interbase Express
    (IBX):

    A través de sus componentes este mecanismo
    permite hacer una conexión directa con una base de datos
    Interbase sin que para ello intervenga ningún motor o capa
    intermedia como sucede con BDE y ADO, lo que aumenta la velocidad en
    el acceso a los datos.

    Además de los componentes que aparecen por
    defecto en la paleta Interbase al instalar Delphi, pueden
    emplearse también unos componentes asociados a estos
    dedicados a la
    administración de bases de datos Interbase.

    Con ellos se pueden efectuar tareas administrativas como
    la configuración de los parámetros de la base de
    datos, creación de copias de seguridad
    (backup), establecimiento de los permisos de acceso, entre muchas
    otras. Estos, al igual que los primeros, requieren de la
    instalación de Interbase 6 para su uso.

    El hecho de que los componentes Interbase son exclusivos
    para bases de datos de este tipo resulta por una parte una
    limitante pero también una ventaja pues todas las
    características y beneficios que brinda Interbase son
    soportadas por sus componentes. Más que referirnos al
    mecanismo, todo el comentario se centrará entonces en la
    base de datos Interbase.

    Interbase es un sistema de administración de base de datos
    relacionales creado por Borland y compatible con varias
    plataformas. Puede ser usado tanto en estaciones de trabajo
    (edición Escritorio) como en estaciones servidor
    (edición Servidor) y sus respectivas instalaciones
    están incorporadas en el programa de
    instalación de Delphi 6. Todo esto convierte a Interbase
    en una opción importante a tener en cuenta a la hora de
    elegir un gestor.

    A diferencia de otros gestores que requieren de ciertos
    recursos (hardware y software) y de un alto costo
    para su mantenimiento
    Interbase fue diseñado para operar en ambientes con pocas
    prestaciones y
    casi sin necesitar mantenimiento por parte de un administrador,
    sin sacrificar su rendimiento el cual es alto. Tiene
    también la capacidad de soportar transacciones
    simultáneas de varias aplicaciones y no ocasiona gran
    sobrecarga a estas por operaciones con la base de datos
    manteniendo la debida transparencia para los usuarios.

    Tal es el desarrollo de este gestor que algunos expertos
    lo consideran en varios puntos superior a SQL Server. Se dice que
    esa ventaja está determinada por los requerimientos de
    hardware, el soporte multiplataforma, la flexibilidad de los
    disparadores (triggers), la velocidad de
    recuperación ante alguna falla, entre otros
    aspectos.

    También se ha determinado su superioridad con
    respecto a MySQL y está radica en los disparadores, los
    procedimientos
    almacenados, la recuperación ante una falla, tipos de
    datos para cálculos financieros precisos,
    etcétera.

    A modo de conclusión puede señalarse que
    la elección de un mecanismo de acceso a datos debe hacerse
    conociendo las características de cada uno de ellos y
    seleccionar entonces el más adecuado a nuestro problema,
    aunque también como se ha visto la elección depende
    de la base de datos que se emplee y esta a su vez de la
    situación real.

    Bibliografía:

    Cantú, Marco. Data access dilemma.
    Extraído de http://www.marcocantu.com/development/papers/dataado.htm

    Gajic, Zarko. Using ADO in a Delphi Application.
    Extraído de http://about.com/compute/adodelphi.htm

    Kaster, John. The future of the Borland Database Engine
    (BDE) and SQL Links. Extraído de http://community.borland.com/futureBDE.htm

    Martínez, Mario. Componentes ADO en Delphi.
    Referencia rápida. Extraído de http://www.egroups.com/group/delphidf.htm

    Todd, Bill. Borland Interbase and Microsoft SQL Server:
    A Technical Comparison. Extraído de http://www.borland.com/

    Todd, Bill. Borland Interbase and MySQL: A Technical
    Comparison. Extraído de http://www.borland.com/

    Why not just use DataSnap / DBExpress / BDE ?.
    Extraído de http://kylecordes.com

     

    Datos de los autores:

    Lic. Santiago Cuadrado
    Rodríguez

    .

    Fecha de realización: Enero del
    2006.

    Dr. CT Emilio González
    Rodríguez

    .

    Categoría: Bases de datos.

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter