DAO: crear una aplicación de base de datos

Visual Studio .NET 2003

Estos artículos describen la creación de aplicaciones de base de datos con las clases DAO de MFC. Otros artículos se centran en diversas partes del proceso, si bien este artículo trata específicamente el uso de DAO desde el punto de vista del diseño de aplicaciones.

En este artículo

Este artículo trata lo siguiente:

Otros artículos de la familia de artículos relacionados con el proceso

Los siguientes artículos adicionales describen partes del proceso de diseño y desarrollo (en el orden de lectura recomendado):

Qué es una aplicación de base de datos

Las aplicaciones de base de datos obtienen y manipulan datos de una base de datos administrada por un sistema de administración de bases de datos (DBMS). Las aplicaciones de base de datos habituales incluyen programas para introducir y ver datos, y procesar datos por lotes.

Resulta evidente que no hay un único tipo de aplicación de base de datos. Existe una amplia variedad, desde sencillas aplicaciones de introducción o consulta de de datos hasta aplicaciones complejas de tipo cliente/servidor.

Además, cualquier tipo de aplicación podría utilizar una base de datos en lugar de archivos basados en disco para la entrada/salida de datos. Por ejemplo, un programa cliente de correo electrónico que se utilice para leer el correo no tiene el aspecto de ser una aplicación de base de datos tradicional, pero podría usar una base de datos para almacenar direcciones, mensajes y otro tipo de información. En cualquier caso, las clases DAO de MFC proporcionan abstraciones que se pueden utilizar para crear cualquier tipo de aplicación de base de datos.

Primeros pasos para crear aplicaciones DAO de MFC

Para empezar, hay que tomar dos decisiones fundamentales:

  • Debe decidir la forma en que desea que aparezcan los datos en la aplicación: en un formulario, en forma de lista, en otro formato o de ningún modo.
  • Debe decidir los sistemas de administración de bases de datos (DBMS) que desea como destino

Las decisiones anteriores determinarán la forma en la que la aplicación se ajustará en la arquitectura documento/vista de MFC y el grado de idoneidad de las clases DAO para la aplicación. Las respuestas también le ayudarán a determinar las selecciones realizadas al empezar a crear la aplicación.

Opciones para ver datos

MFC proporciona distintos grados de compatibilidad para las distintas opciones de visualización:

  • Mostrar un registro cada vez en un formulario.

    Crear una clase derivada de CDaoRecordView y conectarla a un objeto CdaoRecordset basado en una tabla especificada por el programador. Esto facilita la creación de aplicaciones sencillas basadas en formularios.

  • Mostrar varios registros a la vez.

    Puede conectar con bastante facilidad un objeto CDaoRecordset con otro objeto CListView o CTreeView. Para obtener ejemplos, vea el ejemplo de base de datos de MFC DAOVIEW.

  • Mostrar múltiples vistas de los datos de forma simultánea, en ventanas separadas o en los paneles de una ventana divisora.

Documentos y vistas con DAO

¿Es necesaria la arquitectura documento/vista de MFC? La arquitectura más sencilla para aplicaciones MFC consiste en administrar los datos en un objeto de documento MFC y administrar la presentación de los datos de forma separada en un objeto de vista. De todos modos, no se encuentra limitado a esta estructura. Otras opciones posibles son:

  • Utilizar un objeto de vista pero tratando el documento como un apéndice no usado.

    Puede crear sus estructuras de datos, principalmente los objetos CDaoDatabase y CDaoRecordset, miembros de la propia clase derivada de CView en lugar de una clase derivada de CDocument. Las aplicaciones de base de datos normalmente no necesitan el mecanismo de serialización de MFC, que es la característica principal de CDocument.

    Un argumento especialmente convincente para utilizar la arquitectura documento/vista de MFC es la capacidad de administrar múltiples vistas de los datos en el documento. CDocument tiene una función miembro UpdateAllViews a la que puede llamar para sincronizar las vistas a medida que los datos mostrados en ella cambian. Esto resulta útil tanto en aplicaciones de base de datos como en otro tipo de aplicaciones.

  • Dibujar los datos directamente en el área de cliente de una clase derivada de CFrameWnd.

    Es posible manejar mensajes de Windows en la ventana de marco y, de este modo, prescindir de la vista y del documento. Si utiliza una vista, no puede separar el código del documento de la aplicación, pero si no utiliza ninguna vista ni documento, puede quitar (u omitir) el código de la vista y el código del documento. En tal caso, podrá almacenar los objetos CDaoDatabase y CDaoRecordset en la clase de ventana de marco.

  • Basar la aplicación en un cuadro de diálogo.

    Puede almacenar los objetos CDaoDatabase como miembros de la clase derivada de CDialog.

Para obtener información relacionada, vea los artículos MFC: utilizar clases de base de datos con documentos y vistas y MFC: utilizar clases de base de datos sin documentos ni vistas.

Opciones DBMS

DAO está basado en el motor Jet de bases de datos de Microsoft. De este modo, DAO está perfectamente capacitado para trabajar con bases de datos de Microsoft Jet (.MDB). Además, DAO también admite el acceso a bases de datos externas, entre las cuales se encuentran determinadas bases de datos ISAM instalables (que el motor de bases de datos puede leer directamente) y orígenes de datos ODBC. Esto significa que es posible escribir aplicaciones independientes de DBMS con DAO, que tengan como destino cualquier origen de datos que el motor Jet de bases de datos de Microsoft pueda leer directamente o para el cual los usuarios tengan el controlador ODBC adecuado.

No obstante, hay que tener en cuenta que, generalmente, con DAO resulta más efectivo asociar tablas de orígenes de datos a una base de datos de Microsoft Jet que obtener acceso directamente al origen de datos externo. Si la aplicación tiene como destino un origen de datos externos como Microsoft SQL Server u Oracle, quizás desee considerar la posibilidad de usar las clases ODBC de MFC en lugar de las clases DAO.

Para obtener información relacionada, vea los artículos Temas sobre base de datos (DAO) y Objetos DAO externos: trabajar con orígenes de datos externos.

Vea también

DAO y MFC | DAO: dónde está... | DAO: tareas de bases de datos | DAO: opciones de diseño de una aplicación de base de datos | DAO: pasos para crear aplicaciones DAO de MFC | MFC: utilizar clases de base de datos con documentos y vistas | MFC: utilizar clases de base de datos sin documentos ni vistas.

Mostrar: