Estructura de acceso de datos en Delphi
Desde los inicios de Delphi, Borland decidió crear una estructura de acceso de datos abierta. Una buena parte de la librería de clases VCL esta dedicada a trabajar con acceso de datos de una manera abierta y flexible.
Delphi y C++ Builder tienen métodos de acceso a bases de datos únicos en la industria por su flexibilidad y facilidad de uso.
Gracias al hecho de que todo en Delphi es un objeto, los creadores de Delphi crearon, entre otros, un componente abstracto llamado «TDataset».
Como su nombre lo indica, un dataset es un «set de datos». Como podrá ver, el set de datos abstracto no especifica el origen de la base de datos, modo de conexión o marca del producto que esta en el servidor.
Ni siquiera especifica si nuestro set de datos es una tabla física, un query de SQL o un archivo de texto! De esta manera se generaron los componentes que heredan de TDataset bajo una base común.
Los componentes TTable y TQuery son los componentes mas comúnmente usados para acceso básico a bases de datos (pero no los únicos).
Estos componentes representan una tabla y un query de SQL, respectivamente. Para mantener el acceso de datos compatible con los diferentes productos de Borland, se desarrollo una serie de librerías redistribuibles llamada «Borland Database Engine» (BDE).
Esta librería debe ser instalada en la maquina del cliente para que TTable y TQuery funcionen correctamente.
El Borland Database Engine es primordialmente una librería para manejar cursores de SQL. Muchos lenguajes son capaces de operar con un solo «renglón» de datos de la tabla a la vez, por lo cual el manejo de los cursores de SQL no es muy satisfactorio.
Pero Delphi utiliza el Database Engine como una «traducción» de cursores de SQL en el formato de Queries y Tablas interno de Delphi.
Además, el Database Engine nos permite accesar el origen de los datos (la base de datos para la cual estamos escribiendo) a través de «drivers» intercambiables de acceso directo, o si así deseamos, utilizar ODBC para accesar estos datos.
Para soportar las muchas maneras en que Delphi puede accesar datos, y para facilitar enormemente al programador preocupaciones acerca de cambios en la base de datos que utilizan tus programas por ejemplo: » Soy programador de Sybase y ahora la compañía cambio a Oracle. Oracle y Sybase utilizan DLL’s de acceso muy diferentes.
Borland ha creado un muy elaborado set de BDE (Borland Database Engine), drivers para BDE y componentes en el VCL.
Cómo resultado, usted puede programar de una manera muy parecida (casi idéntica!), ya sea que usted utilice tablas de dBase (a través de una parte del BDE conocido como Local SQL) o bases de datos grandes como Oracle, Sybase o Interbase.
El siguiente diagrama muestra las maneras en que Delphi y la base de datos pueden conectarse (esta un poco simplificado, ya que hay algunos componentes intermedios – para mayor información consulte la documentación de Delphi):