6
[VISUAL BASIC CON BASE DE DATOS ] IDSYSTEMS 2012 LECCION 4 – Introduccion y uso de bases de datos Página 1 4.1 Introducción a los conceptos de base de datos. - 4.1.1 Concepto de base de datos. - 4.1.2 Elementos de una base de datos. - 4.1.3 Estructura de una base de datos. - 4.1.4 Sistema de Gestión de Base de datos (SGBD). - 4.1.5 Administrador de base de datos (ABD). - 4.1.6 Diseñador de base de datos (DBD). 4.2 Creación de una base de datos. 4.3 Conectar una base de datos con Visual Basic 6.0. - 4.3.1 El Modelo de datos ODBC (Open Database Connectivity). - 4.3.2 El modelo de objetos DAO (Data Access Object). - 4.3.3 El modelo de objetos RDO (Remote Data Object). - 4.3.4 El modelo de objetos ODBCDirect.  - 4.3.5 El modelo de objetos OLE DB. - 4.3.6 El modelo de objetos ADO (ActiveX Data Object).

Leccion 4 - Introduccion a Las Bases de Datos en VB6

Embed Size (px)

Citation preview

Page 1: Leccion 4 - Introduccion a Las Bases de Datos en VB6

8/3/2019 Leccion 4 - Introduccion a Las Bases de Datos en VB6

http://slidepdf.com/reader/full/leccion-4-introduccion-a-las-bases-de-datos-en-vb6 1/6

[VISUAL BASIC CON BASE DE DATOS]  IDSYSTEMS 2012

LECCION 4 – Introduccion y uso de bases de datos Página 1

4.1 Introducción a los conceptos de base de datos.- 4.1.1 Concepto de base de datos.- 4.1.2 Elementos de una base de datos.- 4.1.3 Estructura de una base de datos.- 4.1.4 Sistema de Gestión de Base de datos (SGBD).- 4.1.5 Administrador de base de datos (ABD).- 4.1.6 Diseñador de base de datos (DBD).

4.2 Creación de una base de datos.4.3 Conectar una base de datos con Visual Basic 6.0.

- 4.3.1 El Modelo de datos ODBC (Open Database Connectivity).- 4.3.2 El modelo de objetos DAO (Data Access Object).- 4.3.3 El modelo de objetos RDO (Remote Data Object). - 4.3.4 El modelo de objetos ODBCDirect. - 4.3.5 El modelo de objetos OLE DB.- 4.3.6 El modelo de objetos ADO (ActiveX Data Object).

Page 2: Leccion 4 - Introduccion a Las Bases de Datos en VB6

8/3/2019 Leccion 4 - Introduccion a Las Bases de Datos en VB6

http://slidepdf.com/reader/full/leccion-4-introduccion-a-las-bases-de-datos-en-vb6 2/6

[VISUAL BASIC CON BASE DE DATOS]  IDSYSTEMS 2012

LECCION 4 – Introduccion y uso de bases de datos Página 2

4.1 INTRODUCCIÓN A LOS CONCEPTOS DE BASE DE DATOS 

Cuando hablamos de base de datos nos estamos refiriendo a un lugar donde se almacena cualquier tipo deinformación que de alguna forma están relacionadas y organizadas. Para que entienda esto, imaginase cualquierempresa, como por ejemplo, un banco o una universidad. Ambas son empresas con propósitos muy diferentespero tienen una necesidad en común y es almacenar y recuperar la información recolectada. Por un lado un

banco requiere almacenar los datos de sus clientes, las transacciones realizadas por los clientes, los datos desus empleados, etc. Por otro lado, una universidad tiene la necesidad de almacenar los datos de sus estudiantes,las calificaciones, las facturas de pagos, etc. Esto nos da a entender que existe un lugar donde toda empresaalmacena y recupera la información. Este lugar recibe el nombre de base de datos.

Una aplicación profesional debe ser capaz de obtener información (permitir que el usuario introduzca algún tipode datos), procesar información  (transformar la información introducida), almacenar información  (mantener lainformación en un dispositivo de almacenamiento), leer información almacenada (permitir que el usuario consultelos datos almacenados) y mostrar los resultados (presentar por pantalla u otro dispositivo de salida la informaciónrequerida). Estas características son las que un sistema de información computarizado debe ser capaz derealizar para que sea realmente profesional y potente. Pero para lograr que una aplicación cumpla con esosrequerimientos es necesario utilizar sistemas de bases de datos y no archivos convencionales como hemosestado viendo hasta ahora.

La información en una base de datos esta organizada y relacionada, esto facilita en gran manera las operacionesde consultas y almacenamiento. Además, una base de datos no depende de la aplicación, sino que utilizaremossistemas de gestión de base de datos (SGBD) para crear y modificar la estructura de la base de datos.

Si usted no tiene conocimientos amplio de la importancia y beneficios de una base de datos, no se preocupeporque en este capitulo hablaremos lo necesario acerca de esta para que este más o menos relacionados conlos conceptos básicos concernientes a estas.

4 8.1.1 Definición de base de datos

Una base de datos consiste en un conjunto de datos relacionados y organizados lógicamente en un dispositivode almacenamiento (archivero, disco duro, cintas magnéticas, discos ópticos, etc). En nuestro caso estamoshablando de bases de datos computarizadas donde el principal dispositivo de almacenamiento será el disco

duro.

- 4.1.2 Elementos de una base de datos

Una base de datos esta compuesta por los siguientes elementos: dato, campo, registro, tabla y archivo. Un dato es la parte esencial de la información, es decir, la información que llega a la base de datos. Los datos pueden serde distintos tipos como: texto, numérico, alfanumérico, lógico, memo, etc .

Un campo es la unidad más pequeña de datos. Estos los representan las columnas de las tablas.

Registro es un conjunto de campos o atributos relacionados entre sí. Representan las filas de las tablas.

Tabla: Es el lugar donde la base de datos organiza la información. Esta esa compuesta por filas(registros) ycolumnas (campos).

Archivo: es un conjunto de registros relacionados.

Page 3: Leccion 4 - Introduccion a Las Bases de Datos en VB6

8/3/2019 Leccion 4 - Introduccion a Las Bases de Datos en VB6

http://slidepdf.com/reader/full/leccion-4-introduccion-a-las-bases-de-datos-en-vb6 3/6

[VISUAL BASIC CON BASE DE DATOS]  IDSYSTEMS 2012

LECCION 4 – Introduccion y uso de bases de datos Página 3

- 4.1.3 Estructura de una base de datos

Explicamos anteriormente que una base de datos esta compuesta por datos, campos, registros, tabla y archivo.Todos estos elementos se encuentran unidos lógicamente en un elemento grafico llamado tabla, tal y como semuestra en la siguiente figura:

Base De datos: VENTAS

Tabla: CLIENTES

Nombre Apellido Dirección Teléfono CelularJosé Pérez Calle Terminal #5 809-598-1252 809-598-5631Pedro Rodríguez Urb. Alma Rosa #2 809-563-5985 809-563-5485

Carlos Bucarelly Av. Charles de Gaulle 809-596-5485 829-458-5695

Los campos de la tabla están representados por las columnas, que en este caso son cinco Nombre, Apellido,Dirección, Teléfono y Celular.

Los registros están compuestos por el nombre, apellido, dirección, teléfono y celular de cada persona. La tablaanterior esta compuesta por tres registros.

Los datos son la mínima información que contiene cada campo, por ejemplo, José es un dato, Pérez es otrodato, etc. La combinación de todos los datos o campos de una fila de la tabla se le llama registro .

El archivo esta representado por el nombre de la base de datos, que en este caso es VENTAS. Este archivocontiene una tabla cuyo nombre es CLIENTES. La tabla que hemos puesto de ejemplo contiene informaciónpersonal acerca de los clientes de una empresa.

- 4.1.4 Sistema de Gestión de Base de datos (SGBD)

Un Sistema Gestor de base de datos (SGBD) es un conjunto de programas que permiten crear y mantener unaBase de datos, asegurando su integridad, confidencialidad y seguridad. Este sistema debe permitir lo siguiente:

a) Definir una base de datos: especificar tipos, estructuras y restricciones de datos.b) Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD

c) Manipular la base de datos: realizar consultas, actualizarla, generar informes.

Entre los principales SGBD tenemos: Microsoft Access, SQL Server, Oracle y MySQL. En este libro utilizaremosMicrosoft Access para crear nuestras bases de datos, debido a que es uno de lo más sencillo y el máseconómico. Es importante que tenga un poco de conocimiento en el manejo de Access para que tenga una mejorvisión de las aplicaciones que se realicen en este capítulo.

- 4.1.5 Administrador de base de datos (ABD)

Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base dedatos, generalmente tiene(n) experiencia en DBMS, diseño de bases de datos, sistemas operativos,comunicación de datos, hardware y programación. Entre las principales responsabilidades que desempeña unABD tenemos: repuperabilidad (capacidad para recuperar datos perdidos en la base de datos, integridad (verificar ó ayudar a la verificación en la integridad de datos), seguridad (definir y/o implementar controles deacceso a los datos), disponibilidad (los usuarios autorizados tengan acceso a los datos cuando lo necesitenpara atender a las necesidades del negocio) y desempeño (asegurarse del máximo desempeño incluso con laslimitaciones).

Page 4: Leccion 4 - Introduccion a Las Bases de Datos en VB6

8/3/2019 Leccion 4 - Introduccion a Las Bases de Datos en VB6

http://slidepdf.com/reader/full/leccion-4-introduccion-a-las-bases-de-datos-en-vb6 4/6

[VISUAL BASIC CON BASE DE DATOS]  IDSYSTEMS 2012

LECCION 4 – Introduccion y uso de bases de datos Página 4

- 4.1.6 Diseñador de base de datos (DBD)

Es la persona encargada del diseño de la base de datos. El diseñador de bases de datos se encarga deidentificar los datos que se almacenarán en la base de datos y elegir las estructuras apropiadas para la misma.Esta tarea suele realizarse antes de que se implemente y se llene de datos la base de datos, aunque muchasveces un diseñador debe trabajar sobre la misma cuando ya esta en funcionamiento.

El/los diseñadote(s) de base de datos se encargan de determinar los requerimientos de los usuarios que usaránla base de datos. A partir de estos requerimientos, diseñarán y crearán la base de datos.

4.2 CREACIÓN DE UNA BASE DE DATOS 

Crear una base de datos es realmente un proceso creativo. Se requiere de una buena planeación antes de crearla base de datos. Si en un principio no se identifican realmente los datos que se almacenarán en la base dedatos podrían enfrentarse a muchos problemas en el futuro después de haber creado la aplicación. Uno de estosinconvenientes es, que la base de datos no esta almacenando realmente los datos requeridos por la empresa yal momento de generar una consulta no existe la forma de obtenerla, debido a que usted no previó elalmacenamiento de un dato importante. Por ejemplo, si usted diseño una aplicación para una tienda que permite

registrar todos los productos que llegan al almacén, entre los cuales el sistema solitita al usuario los siguientesdatos del artículo: código del artículo, descripción, precio unitario y cantidad entrante. Después que la empresa autilizado el sistema por alrededor de dos meses el gerente de almacén requiere un reporte de todos los artículosde la tienda por proveedor. Como su sistema no solicito del usuario el nombre del proveedor al momento deregistrarlo no es posible obtener una consulta de este tipo. Por tal razón, su sistema no seria realmente eficiente.

Antes de diseñar una base de datos tenga bien en cuenta que todos los datos requeridos se están almacenandoen la base de datos. Para diseñar una base de datos realmente consistente siga los siguientes pasos:

1.- Seleccione adecuadamente el SGBD que utilizará para crear la base de datos. El SGBD dependerá deltipo de aplicación. Una empresa pequeña como un colegio, un instituto, un almacén, una distribuidora, entreotras, no requieren de una base de datos tan potente. Podrá utilizar un SGBD como Microsoft Access paraalmacenar los datos de dicha empresa. Además, de que el costo de licencia para este sistema es muy bajo. Para

empresas que requieren almacenar enormes cantidades de datos tendrá que utilizar SGBD más potentes comoSQL Server y Oracle. Ejemplos de estas empresas serían un banco o una universidad.

2.- Identifique cuidadosamente los datos que serán almacenados en la base de datos. Antes de diseñaruna base de datos debe tener bien claro cuales son los campos requeridos para cada tabla para satisfacer lasnecesidades del sistema.

3.- Haga un boceto del diseño de la base de datos. Es recomendable escribir en hoja de papel la estructuraque tendrá la base de datos, esto es los tipos de datos, campos, relaciones, restricciones, etc.

4.- Utilice el SGBD crear la base de datos. Después de haber hecho el boceto de su base de datos, utilice elSGBD seleccionado para crear la base de datos.

5.- Identifique la fuente de alimentación de la base de datos. Después de haber diseñado la base de datos esnecesario introducir, modificar y actualizar los datos en ella mediante algún medio, esto puede ser desde elpropio SGBD o desde una aplicación externa.

Page 5: Leccion 4 - Introduccion a Las Bases de Datos en VB6

8/3/2019 Leccion 4 - Introduccion a Las Bases de Datos en VB6

http://slidepdf.com/reader/full/leccion-4-introduccion-a-las-bases-de-datos-en-vb6 5/6

[VISUAL BASIC CON BASE DE DATOS]  IDSYSTEMS 2012

LECCION 4 – Introduccion y uso de bases de datos Página 5

4.3 CONECTAR UNA BASE DE DATOS CON VISUAL BASIC 6.0 

Existen varias formas para conectar una base de datos ha una aplicación de Visual Basic, entre las cuales cabemencionar la utilización de tecnologías ODBC, DAO, RDO, ODBCDirect, OLE DB y ADO. Aunque en este librome centraré en la tecnología ADO (ActiveX Data Object) explicaré brevemente cada una de las interfaces deconexión a bases de datos mencionadas anteriormente, debido a que cada una de estas están íntimamenterelacionadas.

- 4.3.1 El modelo de datos ODBC (Open Database Connectivity)

ODBC son las siglas de Conectividad de bases de datos abiertas  (Open Database Connectivity) y es un conjuntode funciones que le permitirá conectarse a una base de datos local o remota. Es una tecnología que permiteacceder a distintas bases de datos en diferentes formatos como Microsoft Visual FoxPro, Microsoft Access,Microsoft SQL Server, dBASE, Oracle y archivos de texto separados por comas. La máquina sobre la que seejecuta la aplicación se conecta en un DLL denominado ODBC Driver Manger (Gestor del controlador ODBC)que, a su vez es el encargado de mandar y recibir los datos a un controlador ODBC específico para la base dedatos particular que desee utilizar. Existen ciento de controladores ODBC para las distintas bases de datosactuales del mercado, incluso para bases de datos descontinuadas.

El objetivo de ODBC es proporcionar una interfaz común para todas las bases de datos existentes.Teóricamente, podrá preparar una aplicación que utilice OBDC para hablar con una base de datos de Access y,

posteriormente, adaptar el programa para una base de datos SQL Server cambiando simplemente el controladorODBC e introduciendo unas pocas instrucciones en el código fuente.

ODBC tiene muchas ventajas en comparación con otros métodos de acceso a bases de datos, sin embargo,utilizar ODBC no resulta muy sencillo, especialmente para los programadores de Visual Basic. Trabajar conODBC implicar manejar los conceptos API de Windows que son bastante complejos y si comete un error se sueleinterrumpir la ejecución de la aplicación con un error fatal. Por este motivo, son pocos los programadores deVisual Basic que escriben aplicaciones que llamen directamente a las funciones ODBC. Increíblemente, lamayoría de las otras técnicas de acceso a datos disponibles para Visual Basic pueden utilizar controladoresODBC como capas intermedias por lo que, en ocasiones, podrá potenciar las otras técnicas con llamadasdirectas a los API, principalmente con aquellas basadas en RDO. Por desgracia, no podrá mezclar código ODBCAPI con ADO aun que este utiliza internamente un controlador ODBC.

- 4.3.2 El modelo de objetos DAO (Data Access Object)

DAO (Objeto de acceso a datos) es una técnica de acceso a base de datos de Microsoft Access basado en elmotor Microsoft Jet que es el que propulsa a Access. Los diseñadores pueden diseñar una base de datos MDButilizando Access y, posteriormente, utilizar DAO desde una aplicación de Visual Basic para abrir la base dedatos, agregar y recuperar registros y gestionar transacciones. Aunque DAO se diseño pensando en Access,este no limita la conexión a otras bases de datos para la que exista un controlador ODBC.

Una de las desventajas de DAO es que aunque no utilice bases de datos de Access tendrá que cargarcompletamente el motor Microsoft Jet y distribuirlo en sus aplicaciones. Otra importante desventaja es que, DAOno cuenta con muchas de las funciones que podría utilizar si trabaja directamente con funciones ODBC API. Porejemplo, no podrá realizar consultas asíncronas o conexiones utilizando DAO, ni tampoco podrá trabajar conconjuntos múltiples de resultados.

DAO fue una de las herramientas de acceso a datos para los primeros programadores de Visual Basic 3.Actualmente este método de acceso no es utilizado por los programadores de Visual Basic 6.0, debido a que susucesor ADO es mucha más potente que DAO y es el objeto de estudio y desarrollo de la Microsoft para accesoa datos.

Page 6: Leccion 4 - Introduccion a Las Bases de Datos en VB6

8/3/2019 Leccion 4 - Introduccion a Las Bases de Datos en VB6

http://slidepdf.com/reader/full/leccion-4-introduccion-a-las-bases-de-datos-en-vb6 6/6

[VISUAL BASIC CON BASE DE DATOS]  IDSYSTEMS 2012

LECCION 4 – Introduccion y uso de bases de datos Página 6

- 4.3.3 El modelo de objetos RDO (Remote Data Object)

RDO (Objetos de Datos Remotos) es el primer intento que realizó Microsoft para combinar la sencillez del DAOcon la potencia de la programación directa del ODBC API. RDO es un modelo de objetos vagamente diseñado apartir de DAO, pero deshecha el Jet Engine y el DAO DLL y trabaja directamente con los controladores ODBCsubyacentes. Las aplicaciones basadas en RDO cargan sólo un pequeño DLL en lugar del motor Jet queconsumía gran cantidad de recursos. Lo más importante es que RDO fue específicamente diseñado para trabajarcon los orígenes ODBC, por lo que cuenta con funciones que no pueden ser utilizadas desde DAO. Sin embargo,RDO es una tecnología de 32 bits, por lo que no podrá utilizarla en las versiones 2 y 3 de Visual Basic. RDO fueimplementado por primera vez en la versión 4 de Visual Basic y, posteriormente fue mejorado en la versión 5.

- 4.3.4 El modelo de objetos ODBCDirect

Además del RDO mejorado que incluía Visual Basic 5, este incluía otra tecnología de acceso a datos,denominada ODBCDirect, que permitía a los programadores emplear RDO utilizando una sintaxis DAO.ODBCDirect fue concebido como una técnica de transición que ayudaría a los programadores en Visual Basic atransformar sus aplicaciones DAO/Jet a arquitecturas cliente/servidor de mayor potencia. ODBCDirect no es unatecnología propiamente dicha. Es únicamente un conjunto de trucos que puede utilizar para ahorrarse tiempodurante la conversión de aplicaciones.

- 4.3.5 El modelo de objetos OLE DB

OLE DB es una tecnología de acceso a datos de bajo nivel con la que Microsoft pretende sustituir a ODBC comoel medio principal de conexión con bases de datos. Aunque OLE DB es una nueva tecnología, podrá encontrarproveedores de OLE DB para las bases de datos más populares, y otras serán comercializadas rápidamente. Apesar de sus aparentes similitudes, las tecnologías ODBC y OLE DB son profundamente distintas. En primerlugar, OLE DB esta basada en COM, que es una arquitectura suficientemente robusta diseñada para movergrandes cantidades de datos por la red. En segundo lugar, OLE DB pretende realizar la tarea de conectar acualquier fuente de datos, no sólo las bases de datos relacionales e ISAM (modo de acceso secuencialindexado), sino, que forma parte de la estrategia denominada Acceso universal de datos (UDA) de Microsoft, quele permitirá leer y procesar los datos allá donde se encuentren, sin necesidad de convertirlos en primer lugar y detener que importarlos a una base de datos más tradicional. Utilizando los proveedores OLED DB, podrá procesarlos datos contenidos en los mensajes de correo electrónico, páginas HTML, hojas de cálculo y documentos de

texto, entre otras fuentes de datos.

- 4.3.6 El modelo de objetos ADO (ActiveX Data Object)

ADO es una interfaz de alto nivel con OLE DB. Al igual que los API de ODBC, OLE DB es una interfaz de bajonivel a la que no se puede acceder con facilidad utilizando lenguajes de alto nivel como Visual Basic. ADO estáconstruido sobre un OLE DB para proporcionar funciones que no se encuentran disponibles directamente enOLE DB o que exigirían profundos conocimientos y habilidades de codificación a los programadores.

El modelo de objetos ADO es considerablemente menos complicada que los modelos DAO y RDO. ADOcontiene mucho menos objetos y colecciones que DAO y RDO, pero los elementos que contiene son, confrecuencia, más complejos que sus equivalentes DAO y RDO porque dispone muchos más métodos ypropiedades.

Las principales ventajas de ADO son su facilidad de uso, su gran velocidad, su escasa utilización de memoria yel poco espacio que ocupa en disco. ADO proporciona un acceso a los datos constante y de alto rendimientopara crear un cliente de base de datos para el usuario o un objeto empresarial del nivel medio con unaaplicación, una herramienta, un lenguaje o un explorador.