Métodos de acceso
de bases de datos
OBDC (Open Database Connectivity –
Conectividad abierta de bases de datos)
Open Database Connectivity
(ODBC) es una interfaz entre
aplicaciones informá ticas y
bases de datos. Esta interfaz
proporciona una capa de
almacenamiento intermedio
entre la base de datos y el
software utilizado para acceder
a ella.
2
Componentes de ODBC:
API de ODBC
Biblioteca de llamadas a funciones,
conjunto de có digos, de error y
sintaxis de lenguaje de consulta
estructurado (SQL) está ndar para
tener acceso a los datos de los
DBMS.
3
“
Funciones:
⬡ Dar solicitudes para interactuar con fuentes de datos.
⬡ Envía solicitudes de sintaxis SQL a la fuente de datos.
⬡ Indicar los resultados de la solicitud.
⬡ Detectar proceso de error.
⬡ Hacer solicitudes para operaciones de control de transacciones.
⬡ Terminar la conexió n a la fuente de datos.
4
ODBC Driver Manager tiene como objetivo
Administrador
establecer de de
el controlador controladores ODBC
base de datos ODBC
necesario para acceder a la aplicació n.
Funciones:
-Asigne nombres de origen, de datos para
controladores especiales de DLL (Biblioteca de
enlaces diná micos).
-Realizar varios procesos de llamada para
inicializar ODBC.
-Proporciona una entrada a la funció n ODBC para
cada controlador.
-Proporciona validació n, como pará metros y
secuencias para realizar llamadas ODBC.
Controlador de base de datos ODBC
Database Driver es un controlador que envía solicitudes SQL a ciertas fuentes de datos,
donde los resultados del proceso volverá n a la aplicació n. Ademá s, el controlador
también necesita modificar la solicitud de la aplicació n para que la solicitud coincida
con la sintaxis y sea compatible con el DBMS apropiado.
Un controlador también es capaz de realizar tareas para responder a llamadas de
funció n ODBC a través del componente API ODBC.
Funciones:
⬡ Establecer una conexió n con la fuente de datos.
⬡ Enviar solicitudes a la fuente de datos.
⬡ Devuelve los resultados al componente de la aplicació n.
⬡ Declarar y manipular si es necesario.
6
Fuente de datos:
⬡ La fuente de datos es una colecció n
de bases de datos que, accedido
por el controlador, donde cada
fuente de datos debe identificarse
durante la configuració n.
7
Historia
El sistema original de Open Database Connectivity fue desarrollado por Microsoft en
1992. Este sistema funcionó muy bien en algunas circunstancias, pero no en otras. En
1995, Microsoft lanzó la Versió n 3 del sistema, que coincidió con su adopció n como
está ndar base para el lenguaje de consulta estructurado (SQL). Como parte del
está ndar SQL, la interfaz se utilizó ampliamente para todo tipo de propó sitos de
bases de datos diferentes.
Antes de la adopció n de Open Database Connectivity, los programas que usaban
bases de datos necesitaban métodos codificados para hablar con diferentes estilos de
bases de datos. Los programadores creían que estos sistemas necesitarían acceso a
tres tipos diferentes de bases de datos; luego, se programaron tres comandos
diferentes para cada funció n en el sistema. Las bases de datos tenían la misma
redundancia; cada programa requería que la informació n se enviara en una mansió n
específica. Si alguno de estos programas estaba fuera de sintaxis o se encontraba con
un sistema desconocido, no era posible la comunicació n.
8
Todo esto cambió con el desarrollo e implementació n de Open Database
Connectivity. Esto esencialmente funciona como traductor. Los programadores de la
base de datos y las aplicaciones escriben los métodos que usan en la sintaxis
utilizada por ODBC. Cuando la aplicació n requiere informació n, envía la consulta y
ODBC traduce su sintaxis a los métodos utilizados por la base de datos. La base de
datos devuelve la respuesta y ODBC la traduce nuevamente a la sintaxis requerida
por la aplicació n.
9
¿Como funciona ODBC?
Este proceso funciona a través de un conjunto instalado de controladores. Cada
base de datos tiene un controlador específico de Open Database Connectivity
asociado. Este controlador hace la traducció n real entre la base de datos y el
mundo exterior. Si los cambios en la especificació n hacen que el controlador
quede obsoleto, entonces solo el controlador necesita cambios; El resto de la
base de datos puede permanecer inalterada. Esto permite actualizaciones a la
interfaz sin mucho trabajo de codificació n adicional.
10
Las aplicaciones tienen esencialmente controladores de Open Database Connectivity
incorporados. Estos controladores son parte de la programació n de la aplicació n.
Pueden actualizarse a medida que el programa recibe parches, pero está n separados
del sistema ODBC está ndar.
11
La comunicació n real ocurre entre estos conjuntos de controladores. Los
controladores del programa traducen la informació n antes de que se envíe realmente.
Los controladores de la base de datos reciben la solicitud en su propio idioma,
obtienen la informació n y la envían, aú n en la sintaxis ODBC.
Los controladores del programa recuperan la informació n y la traducen nuevamente
al idioma del programa. Este sistema de dos capas crea una interfaz que es casi
infalible, ya que los diseñ adores reales de los sistemas crean sus propias interfaces
12
ADO (ActiveX Data objects – Objeto de
datos activo)
13
ActiveX Data Objects (ADO) es una colecció n de componentes de software que
proporciona una interfaz programá tica para acceder a las fuentes de datos
desde las aplicaciones del cliente. ADO actú a como una capa para acceder a
cualquier almacén de datos de forma genérica desde el có digo de la aplicació n.
Elimina la necesidad de poseer el conocimiento de la implementació n de la
base de datos y reduce la complejidad de lidiar con el có digo de bajo nivel
necesario para manejar los datos.
14
Evolución
Lanzado en 1996, el objeto de datos ActiveX (ADO) se originó a partir del concepto
de RDO (objeto de datos remotos) y DAO (objeto de acceso a datos).
ADO substituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object),
que eran los sistemas previos que se usaban para acceder a las bases de datos y bases
de datos remotas, respectivamente.
Tiene la mayor parte de la funcionalidad de ambos modelos y sin embargo es má s
sencillo de usar y de entender y por lo tanto má s fá cil y menos engorroso de
programar.
15
Funcionamiento:
ADO es un intermediario entre el programa y la base de datos. El programa no ve la base de
datos directamente, sino que hace todo el trabajo a través de ADO. Usando ADO, el programa se
comunica con la base de datos, consulta, edita, inserta, borra registros, añ ade tablas, etc. ADO a
su vez se comunica con la base de datos a través de un "proveedor de datos".
El programa usa ADO para hacer una solicitud a la base de datos: "Dame el
nombre y apellido de todos los empleados que vivan en Venezuela"
Programa ---> ADO ---> Proveedor de datos ---> Base de datos
En la direcció n contraria, la base de datos responde, comunicá ndose con el proveedor de datos,
éste con ADO, y al final, la informació n llega al programa.
16
La base de datos responde
Programa <--- ADO <--- Proveedor de datos <--- Base de datos
Una vez que el programa tiene la informació n proveniente de la base de datos, puede hacer con ella
lo que considere, como por ejemplo, puede desplegarla en una pá gina Web.
Los usuarios solicitados son los siguientes:
17
Características:
ADO es un intermediario
1 entre el programa y la
El programa no ve la base base de datos
de datos directamente,
sino que hace todo el
trabajo a través de ADO.
Usando ADO, el programa 2
se comunica con la base
de datos, consulta, edita,
inserta, borra, registros, ADO a su vez se comunica
añ ade tablas, etc. con la base de datos a
. 3 través de un "proveedor
de datos".
18
Colecciones de objetos de datos Activex:
⬡ Los campos son colecciones de ⬡ Las propiedades son objetos
objetos que corresponden a un que describen características
registro o conjunto de registros de un objeto dado.
dado bajo un encabezado de
columna en particular.
⬡ Los parámetros son un aspecto ⬡ Los errores son una colecció n
de los objetos Command que de errores creados por el
determinan si cambiará el proveedor que ocurren durante
comportamiento del objeto una operació n de Activex.
Command y có mo lo hará .
19
Principales componentes de ADO:
⬡ Connection (Conexión): La conexió n es como una autopista que permite el flujo de datos
entre el programa y la base de datos.
Por ella pueden viajar las ó rdenes que desde el programa se usan para hacer solicitudes de
informació n a la base de datos o para realizar una operació n dentro de ella como borrar registros,
añ adir registros, modificar tablas, etc.
También, por esta autopista, pueden ir y venir los datos, desde y hacia la base de datos, entre otras
cosas. Tanto el recordset como la orden usan la conexió n para comunicarse con la base de datos.
La conexió n se comunica con la base de datos a través de un intermediario llamado "proveedor de
datos".
20
⬡ El proveedor de datos: es un componente que se relaciona directamente con la base de
datos. Hay un proveedor de datos por cada tipo de base de datos. Así, las bases de datos
de tipo Access, SQL Server, Oracle, MySQL, tienen, cada una, un proveedor de datos
específico.
La conexió n ADO puede usar dos tipos de proveedores de datos, OLE DB y ODBC, siendo OLE DB
el tipo de proveedor nativo.
Cuando no existe un proveedor de OLE DB específico para una base de datos determinada, y en
cambio existe un proveedor ODBC, la conexió n ADO puede usarlo para comunicarse con la base
de datos, sin embargo, no directamente, sino a través de un proveedor OLE DB especial que sirve
de intermediario entre ADO y ODBC.
21
ADO tiene un alto grado de abstracció n, lo que significa que, al mantener una interface sencilla,
oculta los detalles complejos del manejo de la base de datos.
Un programa puede saltarse completamente el ADO, y acceder a la base de datos directamente
de 3 maneras diferentes, a través de OLE DB, ODBC, o por ODBC usando una capa intermedia de
OLE DB. Al trabajar de esta manera, se tiene la ventaja de una mayor funcionalidad que no
contiene ADO a cambio de una mayor complejidad en la programació n. Esto es necesario
algunas veces, en ciertos tipos de programas y para ciertas necesidades, pero no es lo comú n.
22
⬡ El Recordset es, como su nombre lo indica, un conjunto de records. En general, sus datos
tienen su origen en una base de datos, aunque también pueden generarse independientemente
de esta. Un recordset puede contener cero o má s records (registros).
23
Un recordset puede tener varias características que el programador define a su conveniencia. Puede ser de solo lectura,
o de lectura-escritura.
El recordset, tiene capacidades de navegación entre su conjunto de registros. Puede:
⬡ Moverse al siguiente registro
⬡ Moverse al anterior
⬡ Moverse al primero
⬡ Moverse al último
⬡ y otros
En un recordset, se ve y se pueden editar los datos de un solo registro en un tiempo dado, se pueden manipular los
datos de los campos del "registro actual" en donde se encuentra.
Además de editar registros, también se puede:
⬡ Insertar registros nuevos-
⬡ Borrar registros.
⬡ La edición, la inserción y el borrado de registros en el recordset, se reflejarán en la base de datos.
24
⬡ Commad (comando): Es un conjunto de instrucciones que se envían a la base
de datos con respecto a qué informació n se solicita.
Se puede especificar la inserció n de registros nuevos en una tabla, así como también,
la eliminació n, la actualizació n y la obtenció n de registros con determinadas
condiciones.
Otros componentes son:
⬡ Record: Representa una sola fila de datos, ya sea desde un conjunto de registros
o desde el proveedor. Este registro podría representar un registro de base de
datos o algú n otro tipo de objeto, como un archivo o directorio, segú n el
proveedor.
⬡ Stream: Representa un flujo de datos binarios o de texto. Por ejemplo, un
documento XML se puede cargar en una secuencia para la entrada de comandos
o devolverse de determinados proveedores como resultado de una consulta.
25
Un objeto Stream se puede usar para manipular campos o registros que contengan estos
flujos de datos.
⬡ Field: Representa una columna de datos con un tipo de datos comú n. Cada objeto
Field corresponde a una columna del conjunto de registros.
⬡ Property: Representa una característica de un objeto ADO definido por el
proveedor. Los objetos ADO tienen dos tipos de propiedades: integradas y
diná micas. Las propiedades integradas son aquellas que se implementan en ADO y
está n disponibles inmediatamente para cualquier objeto nuevo. El objeto Property
es un contenedor para las propiedades diná micas, definidas por el proveedor
subyacente.
26
⬡ Colección campos: Contiene todos los objetos
Field de un objeto Recordset o Record.
⬡ Colección de propiedades: Contiene todos los
objetos Property de una instancia específica de un
objeto.
⬡ Colección de parámetros: Contiene todos los
objetos Parameter de un objeto Command.
⬡ Colección de errores: Contiene todos los objetos
Error creados en respuesta a un ú nico error
relacionado con el proveedor.
27
Ventajas y desventajas de utilizar
ADO:
Ventajas:
ADO se ha estabilizado hasta tal punto de convertirse en enormemente fiable y
compatible en todos los niveles.
El modelo se puede aplicar fá cilmente a aplicaciones de Windows y a aplicaciones
Web.
Debido a su compatibilidad con todos los productos de Microsoft, incluyendo
Office, cualquier usuario que disponga de uno de estos productos puede ejecutar
una aplicació n ADO.
Se puede utilizar para mostrar o administrar datos en pá ginas Web.
28
Desventajas:
Solamente se puede gestionar una tabla o un conjunto de registros a la vez.
No es compatible intrínsecamente con XML y no es vá lido para la comunicació n
entre distintos entornos.
No resulta sencillo crear relaciones entre tablas.
Su diseñ o está dirigido, esencialmente, a arquitecturas con conexió n.
No se pude acceder a fuentes de datos relacionales, no relacionales o de otro tipo
desde un modo sin conexió n.
Debido a las distintas versiones de bibliotecas y de có digo necesarios para acceder a
estas tecnologías, resultaría complicado gestionar un có digo.
29
Los tipos de datos ADO se deben traducir por sus equivalentes en COM, lo que
requiere gran cantidad de tiempo y de recursos del sistema.
Como la comunicació n se basa en COM, hay una limitació n en los tipos de datos
que admite COM, un problema para las plataformas que no estén basadas en
Windows.
30
i GRACIAS POR SU ATENCION !
😉
31