Acceso a Datos 03: Bases, Formatos y Motores

La vez anterior mencionabamos que necesitamos controlar los datos para hacer Altas, Bajas o Cambios, y en alguna ocasión sacar reportes y respaldos.

Pero lo mas importante es guardar los datos. No podemos dar de alta diariamente miles de clientes cada dia los mismos, ni sería lógico capturar a diario nuestra agenda. Entonces, los datos se guardan en un dispositivo físico, como serían los diskettes, discos duros, etc.

Hay términos que suenan un poco raro, pero vamos a tratar de irlos explicando con calma, aunque quizá no de la manera mas exacta posible.

Primero, una [color=#00FF00]PLATAFORMA es una computadora en la cual corre un sistema operativo. Por ejemplo, las PC son una plataforma, pero las MAC, INDY también. No hay que confundir sistema operativo con Plataforma.

Los [color=#00FF00]Sistemas Operativos son programas que GUARDAN los datos en un dispositivo físico. Sean los datos fotos , imagenes o lo que sea. Ejemplos, Windows 95 y 98, DOS, NT, Linux, etc.

Por razones prácticas, ya que hemos decidido hablar de VB, siempre nos referiremos a la Plataforma PC y sistemas Operativos Windows 95, 98 o NT (a estas versiones las llamaremos Windows de manera Genérica, ignorando temporalmente win 3.1).

Dentro de Windows existen muchos programas, pero para que ellos puedan compartir información, es necesario que hablen un mismo idioma, para fines prácticos un mismo tipo de archivo, aunque pueden usarlo con métodos diferentes.

Cada uno de estos métodos es llamado por algunos tecnologías y por algunos Motor de base de datos. Siempre que usemos el término [color=#00FF00]MOTOR Nos referiremos a la tecnología que usamos en nuestros programas para acceder a los datos.

Para explicar que es una tabla y que es una base de datos, haremos un ejemplo que irá evolucionando conforme avencemos, y será un ejemplo de un libro diario de contabilidad.

Los datos que queremos almacenar en este caso son de tres Grupos: Cuentas ( con número, nombre y descripción ). Movimientos ( entre las cuentas, requerimos saber si se carga o abona, y número de la cuenta). Por ultimo, necesitamos un tercer grupo que sea comentarios sobre los movimientos, y que incluya la fecha.

Entonces tenemos tres grupos, que son: Cuentas, Movimientos y referencia. Cada grupo es algo aparte, y lo llamaremos [color=#00FF00]TABLA, y las tablas del programa actual en conjunto forman una [color=#00FF00]Base de datos. En teoría cualquier programa que no interactue con otros, solo necesita una base de datos, aunque esté formada por varias tablas.

Por ejemplo, en el caso de una agenda de telefonos, se usaría una sola tabla, que a lo mejor es la única de la base de datos.

Para poder usar los datos, sea el motor que sea, tenemos que pasarlos a un [color=#00FF00]Soporte físico o Formato de archivo, popularizado por un “programa padre”, que es llamado por algunos “tipo de soporte”. Los archivos básicos son de tipo DBF ( Formato dBase III ), MDB ( Access 97 y otras ), y por ultimo, los llamados SQL ( usados por SQL Server, Oracle, Informix, etc ). Todos estos tipos de archivos pueden ser usados por VB, definiendo la tecnología dentro del programa. A grandes rasgos estas son las características de los formatos de archivo y de los motores de bases de datos:

[color=#00FF00]dBASE III

Suele ser lo mejor para proyectos pequeños. Cada archivo es una tabla, y el directorio donde está los archivos es la Base de datos. Las tablas Pueden crearse desde código. En lo personal las recomiendo también para proyectos medianos de carga intensiva de red, o que usen programas en MSDOS ( complementa a Clipper si esta bien diseñado)

Extensión DBF
Programa Clipper
DBase III Plus
Motor datos DAO (recomiendo no usar ODBC, ADO ni RDO, pero es posible)

[color=#00FF00]Access

A menos que sea indispensable, usar siempre el formato Access 97 (predeterminado) porque pueden crearse problemas si el usuario no tiene la misma versión. Guarda todas las tablas en el mismo archivo, y ese archivo es llamado la Base de datos.

[color=#00FF00]MUY INESTABLE Y PROBLEMATICO en procesos con carga mediana de red ( bases de datos de 10 a 100 mb o mas de 5 usuarios REALES simultáneos).
Extensión MDB
Programa Visual Basic,
Access 95,97 y 2000
Motor datos DAO, ODBC, ADO, RDO (recomiendo solo DAO o ADO)

[color=#00FF00]MSSQL

En este formato todos los datos se guardan en un servidor y no es posible accesarlos por sistema operativo. Ridiculo usarlo en proyectos medianos o chicos si el cliente no tiene el programa \”Servidor\”, que en promedio vale mil dolares por cinco usuarios.

Extensión N/A
Programa Sql Server 6.5, 7.0, etc.
Motor datos DAO, ODBC ,RDO y ADO

[color=#00FF00]Tecnologías de Acceso a la base de datos
[color=#00FF00]DAO Muy sencillo, fácil de usar y práctico; para proyectos chicos a medianos. Espera que usemos acceso local, y usar acceso remoto es muy complicado. Multiusuario, y soporta Bases ISAM
[color=#00FF00]JET Es un subconjunto de DAO, que por default usa a Access. Por cierto, suele ser mejor olvidarse de el y usar ADO.
[color=#00FF00]OLE Es una tecnología para intercambio de información pero era lo máximo hace 7 años ( en tiempos de Excel 5 ), sugiero usar ActiveX y ADO en su lugar.
[color=#00FF00]ODBC
Muchos programadores de vb5 lo utilizan en lugar de ADO, permite sin mucho problema hacer conexiones remotas o locales a casi cualquier tipo de dispositivo, pero tiene el inconveniente de que debe registrarse en el panel de control la base de datos, y a mi juicio es por lo mismo mas susceptible a fallas. Es un poco mas rápida que DAO, y sabiendo DAO es fácil portarlo a ODBC, pero en sistemas multiusarios de uso intensivo, o con mas de 32 usuarios conectados al mismo tiempo, es una bomba de tiempo incluso sin el uso de transacciones ( creanme, lo digo por experiencia ).

[color=#00FF00]RDO
Solo está disponible en la versión empresarial ( enterprise ) de vb5; es el método que recomendaba Microsoft ANTES de Visual 6 (e incluso cuando me certifiqué los instructores comentaban que era mejor esperar que se liberara ADO ). Es excelente en acceso remoto, con el “pequeño” problema que debe reescribirse casi todo el código porque no es compatible ni con DAO, ADO u ODBC Direct. Además es difícil echar a andar en una estación local, porque está pensado mas que nada para multisuario. Mi consejo es pasar a ADO a la brevedad posible. En lo personal, solo he intervenido en un programa que utilizaba esta tecnología y era en un fragmento especializado de doce líneas de código. Debe usarse un parche especial de Microsoft en varios casos.

[color=#00FF00]ADO
Quita Varias características de ODBC, pero aumenta la velocidad, y ya está preparada para acceso remoto. Puede configurarse para usar cualquier base de datos que windows reconozca, y no es necesario ingresar el DSN en el panel de control. El principal problema que tiene es la dificultad de CREAR bases de datos vacías, pero es un inconveniente menor. Puede usarse con Visual Basic 5, pero es necesario instalar un archivo llamado MDACTYPE.EXE o MDAC_TYP.EXE en la PC del programador. En algunos casos puede ser mejor usar ADOR, pero solo con VB5. A mediano plazo será posible hacer aplicaciones WEB con este motor.(.net pero no le veo mucho futuro como lenguaje)

[color=#00FF00]ADOR
Usa archivos del Internet Explorer 4 en adelante, y aunque puede ser util por ser una version mas reducida de ADO, la mayor parte de las veces solo sirve de dolor de cabeza para el programador, que termina pasando su información a tecnología ADO.

Siguiente:

Crearemos una tabla y base de datos, haremos un pinino de programa, y veremos los tres principios fundamentales para evitar trabajar de balde con Visual Basic

Comments are Closed