Download Fundamentos del desarrollo con base de datos - UT-AGS

Document related concepts

Capa de acceso a datos wikipedia , lookup

Paradox (base de datos) wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

OLE DB wikipedia , lookup

ADO.NET wikipedia , lookup

Transcript
Fundamentos del desarrollo con base de datos
Muchos de los que inician con el Delphi, comienzan con proyectos como el NotePad,
otros con proyectos multimedia, pero todos estos proyectos no trabajan directamente
con datos almacenados por los mismos usuarios.
Con Delphi se pueden crear aplicaciones que opere justamente con diversos tipos de
datos almacenados como bases de datos de escritorio como Paradox, FoxPro y Access,
incluso con este lenguaje se pueden crear aplicaciones Cliente/Servidor e inclusive
aplicaciones de Tres Capas (Modelo Distribuido).
Acceso a datos con Delphi
Delphi cuenta con un conjunto de más de 40 componentes de bases de datos
preconstruidos y provee de un ambiente visual de programación que incluye su editor
de código. El Wizard de formularios para base de datos en Delphi permite crear una
aplicación de navegación de datos de una forma rápida y sencilla.
No hay que correr
Antes de que se empiece a realizar aplicaciones que usen las características para la
conexión y manipulación de los datos se deben revisar algunos conceptos de base de
datos.
Cuando se piense en un DBMS se debe pensar generalmente en un tipo de
almacenamiento en la computadora. En la actualidad en un sistema relacional para
el manejo de los datos, para ello se toma en cuenta la cantidad de relaciones que
puede manejar, y la posibilidad de regresar vistas sobre su operación, por lo que una
definición sencilla de base de datos radica en que esta es una colección de datos
relacionados de forma homogénea.
Inicializando con una base de datos nueva!
Comience el MS. Access y cree una base de datos nueva llamada “AboutDelphi.mdb”
Cree tres tablas desde vista de diseño: Aplicaciones, Autores y Tipos.
La estructura de cada una de las tablas es la siguiente:
Aplicaciones: Contiene la descripción de cada una de las aplicaciones desarrolladas, los
campos son: Nombre, Descripción, Autor, Tipo, Tamaño, Costo, Actualizacion, e
Imagen. Nombre, Descripción, Autor y Tipo son de tipo texto de 50 caracteres, el
campo de Tamaño es tipo Número (simple) usado para almacenar la cantidad de KB, el
campo de Costo es de tipo moneda, Actualización es un campo de tipo Fecha/Hora, el
campo de Imagen es del tipo Objeto OLE debido a que almacenará (de forma opcional)
una imagen de la aplicación. El campo nombre es la Llave primaria.
Tabla de Autores: contiene los campos de:
NombreAutor, Email, Web. Todos los campos son caracteres de 50 espacios.
Indique que el campo NombreAutor es la clave primaria.
La tabla de Tipos solo contiene un Campo llamado NombreTipo el cual será llave
primaria, esta tabla se usará para almacenar el tipo de aplicación: (Graficos,
Multimedia, Base de datos, ...)
Establezca las relaciones entre las tablas.
Ambas relaciones deben establecer la integridad referencial imponiendo la
actualización en cascada.
La información de la base de datos.
En la tabla tipos agregue los siguientes registros:
Juego
Base de Datos
Internet
Gráfico
Estos valores se usarán para definir alguna aplicación.
Agregue un registro en la tabla de autores:
'Master Delphi', '[email protected]', 'http://materias.utags.edu.mx/delphi'
Finalmente agregue un registro en la tabla de Aplicaciones
'Zoom', 'Zooming the Destop', 'Master Delphi', 'Gráfico', 10, 0, 02/20/2001; el campo
de imagen permanecerá vacío
Conectando a la Base de Datos... ¿ADO o BDE?
Con Delphi se puede establecer conexión a diversos tipos de base de datos, locales o
cliente/servidor (remote Server). Las base de datos son almacenadas en el disco local
o bien en la misma LAN. Las bases de datos remotas usualmente residen en una
maquina remota. Algunos tipos de bases de datos locales son: Paradox, Dbase,
FoxPro, Ms Access, entre otros, los DBMS remotos pueden ser como el MS SQL
SERVER, Interbase, Oracle. Una base de datos local es una base de datos en la cual
cualquier cambio, como la edición de datos la inserción de registros o el borrado de los
mismo ocurren inmediatamente, estas bases de datos locales estan limitadas en la
cantidad de tablas que pueden almacenar así como la cantidad de registros por tabla,
más aún en la cantidad de usuarios que se pueden conectar de forma concurrente.
Cuando se escriben aplicaciones con base de datos en Delphi, se necesita el uso de
algunos motores para el acceso a los datos almacenados. Los motores de las bases de
datos permiten la concentración en que datos se desean accesar, instanciar o como
accesarlos. Desde la primera versión de Delphi se provee de desarrollo a BD. con el
BDE (Borland Data Base Engine), desde la versión 5 del Delphi se da soporte a
Microsoft ADO.
BDE es una para comun de acceso para todos los productos de Bolrand, incuyendo
Delphi y C++ Builder. El BDE consiste en una colección de DLLs y de utilierias. La
belleza del BDE es el hecho de que todas las manipulaciones de los datos son
consideradas transparentes para el desarrollador. El BDE trabaja con un conjunto de
controladores (drivers) que habilitan la aplicacion para comunicarse con diversos tipos
de bases de datos. Estos controladores traducen los comandos de alto nivel de la base
de datos en comandos especificos para el motor indicado de la base de datos como
Paradox, DBase, MS Access o cualquier ODBC. La API BDE consiste en más de 200
procedimientos y funciones que son disponibles a través de la unidad BDE.
Afortunadamente nunca se llamará a cualquiera de estas rutinas de forma directa,
Instanciela, use el BDE a través de la VCL con el Data Access Components, las cuales
son encontradas en la paleta de Data Access, para acceder a una base de datos
particular desde una aplicacion solo se necesita conocer el alias de la base de datos y
se tendrá acceso a toda la base de datos. El alias es establecido desde el
Administrador del BDE especificando los parametros del manejador y la ubicación de la
base de datos.
El BDE trabaja con un conjunto de controladores, usados para accesar a una basta
variedad de fuentes de datos. Los controladores nativos incluyen Paradox, dBase,
MsAccess y Texto Ascii.
Las aplicaciones que usan el BDE para accesar a las bases de datos requieren que se
distribuya el BDE la aplicacion. Cuando se desarrolle el BDE en una aplicación, se debe
usar una instalación certificada de Borland.
ADO es un conjunto de componentes COM (DLLs) que permiten el acceso a base de
datos como manejo de correo electronico, hasta archivos de sistema. Las aplicaciones
que se crean con ADO no requieren de BDE.
Para accesar a cualquier tipo de base de datos con ADO se necesita contar con las
librerías ADO/OLE BD. La mayoria de las cosas que se requieren para trabajar con ADO
probablemente se encuentran ya instaladas en la computadora, los archivos son
distribuidos por Microsoft como parte de sus sistema operativo. El MDAC (Microsoft
Data Access Components) es la tecnología que permite habilitar el acceso universal a
los datos. Estos incluyen ActiveX Data Objects (ADO), OLE, DB, y Conectividad Abierta
a Base de DAtos (ODBC).
Objetos ADO.
El modelo de programación ADO es construido alrededor de varios objetos que
permiten la accesibilidad a todos los tipos de fuentes de datos, estos objetos proveen
la funcionalidad de conectarse a la fuente de datos, realizar Queries, actualizar
registrosm reportar errores, etc. Delphu, a través de varios componentes de la VCL
provee de componentes que cubren el acceso a estos objetos, algunos de los objetos
ADO trabajan con:
El objeto conexión (Connection) realiza la conexión a los datos con cadenas de
conexión, en el BDE una conexión es una combinación de Base de Datos y una sesión
de componentes.
El objeto command (Command) habilita como operar en la fuente de datos, representa
un comando que puede ser procesado como agregar, borrar, preguntar o actualizar los
datos en una base de datos.
El objeto RecordSet (RecordSet) es el resultado de una comando query. Se puede
pensar que un recordSet como un componente table o Query. Cadaa fila que el
recordSet regresa consiste en un objeto con multiples campos.
Inicie Delphi, esto abrirá una nueva aplicación con una forma en blanco
En orden para habilitar el acceso a los datos en una base de datos de access con ADO
y Delphi, se deben agregar minimo tres componentes para el acceso a datos al
proyecto:
Primero, el DBGrid situado en la paleta de Data Controls, usado para navegar a través
de los registros retribuidos por una tabla o por un query.
Segundo, el DataSource (paleta - Data Access) utilizado para establecer el enlace
entre el dataset y el DBGrid en una forma que habilita el despliegue, la navegación, la
edición sobre el dataset.
Finalmente el ADOTable (paleta ADO) que representa una tabla devuelta desde un
ADO Data Store.
Dibuje todos ellos en una forma. Permita el nombrado por defecto. La forma deberá
tener una apariencia parecida a:
Si se ejecuta la aplicación ahora, nada es desplegado en el GRID, debido a que no se
ha realizado la conexión entre los componetes ni se ha conectado a la base de datos.
El único componente visible es el Grid, el resto son componentes no visibles para el
usuario.
Enlace entre componentes
Para poder desplegar datos desde la basem se tiene que enlazar los tres componentes
juntos, usando el Inspector de Objetos (Object Inspector), establezca lo siguiente:
BDGrid1.DataSource = DataSource1
DataSource1.DataSet = ADOTable1
Se ha llegado a la parte dura, para establecer la comunicación se debe construir las
cadenas de conexión (ConnectionString) Esta cadena indica donde esta fisicamente la
base de datos almacenada y como se accesará a ella. cuando se dé doble Click en la
propiedad ConnectionString del ADOTable se abre el siguiente dialogo:
Cuando se construye un string de conexión se tienen dos alternativas:
Usar un .UDL (Data Link File) o construir una cadena a mano. Presione el botón "Build"
- Este control presenta cuatro páginas, el PROVEEDOR que permite indicar el
proveedor de datos seleccione "Microsoft Jet 4.0 OLE DB Provider". En el botón de
siguiente o enviará a la página dos que indica la conexión, navegue y ubique la base
de datos AboutDelphi.mdb, presione el botón de probar la conexión y verifique que sea
correcta. Deje las otras páginas como están. Finalmente presione ACEPTAR y cierre el
dialogo de enlace de datos. La cadena de conexión es almacenada en el campo
ConnectionString del componente ADTTable La conexión debe observarse similar a:
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Documents and Settings\Alumno\Escritorio\bd_access\AboutDelphi.mdb;
Persist Security Info=False
Para finzalizar, se debe establecer el nombre de la tabla que será accesada por el
ADOTable, para ello use el Object Inspector.
ADOTable1.TableName = Aplicaciones
Si se desea ver los datos solo se debe establecer la propiedad Active del ADOTAble en
Verdadero (True).
Si se han realizado todos los pasos se podrá visualizar un registro de la BD.