Make your own free website on Tripod.com

Capítulo 22

 

Bases de datos y DAO

 

 

 

 

22-01: Bases de datos y tablas: conceptos básicos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


‘La tabla que se muestra es el ejemplo de una base de datos que contiene 3campos y 4 registros, los registros son la información que se le va dando a la base de datos.

 

 

 

Capítulo 22, págs. 542, 543.

 

 

 

 

 

 

 

 

22-02: Modelo relacional: conceptos básicos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


‘En esta figura se presenta la propiedad de las tablas de clave externa que su función e resume en que ambas tablas pertenecen a una base de datos y que están conectadas por el campo de coincidencia IDVendedor la tabla Vendedor seria servidor y Venta sería la tabla cliente

 

 

22-03: Aplicaciones de bases de datos en Visual Basic

 

 

 

Elementos involucrados en una aplicación de base de datos en Visual Basic

 

 

 

 

 

 

 

 

 

 

 


Funciones básicas de bases de datos:

1.Almacenamiento Adición de datos a la base de datos

2.Recuperación Lectura de datos de la base de datos

3.Actualización de datos Modificación o eliminación de datos ya conectados en la base de datos

 

 

 

Capítulo 22, págs. 550.

 

 

 

 

 

22-04: DAO y su jerarquía

 

 

DAO (Data Access Objects) es una colección de objetos que permite crear y manejar bases de datos en Visual Basic.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


‘’El esquema anterior sería la organización jerárquica del modelo DAO y serían las distintas partes de la base de datos física a la que se desea tener acceso.

Capítulo 22, págs. 554.

 

 

 

 

22-05: DML y DDL

 

 

            En el manejo de bases de datos a través de lenguajes, se tienen dos tipos de aplicaciones:

 

1.DDL (Data Definition Language) Lenguaje de definición de datos.

‘En esta parte es donde se define la base de datos y solo una vez se hace. Este lenguaje tiene las propiedades y métodos para definir la base.

2.DML (Data Manipulation Language) Lenguaje de manipulación de datos.

‘En este lenguaje se escriben las aplicaciones de la base, y todas las características que se le quieran dar, también se pueden crear aplicaciones para el manejo de bases creadas para otra aplicación

 

 

 

Capítulo 22, págs. 555, 556.

 

 

 

 

RLaboratorio

 

Realice los siguientes ejercicios.

 

22.01 Analizando un modelo de bases de datos relacional

22.02 Identificando elementos del modelo de datos

 

 

 

 

 

 

 

 

 

 

Capítulo 24.

Lenguaje de Manipulación de Datos y DAO.

 

Cuestionario del capítulo

 

1.    Cuáles son los dos tipos de validaciones que puede tener una aplicación que actualiza bases de datos.

a.  Validaciones a nivel tabla: Aquellas validaciones que garantizan que una tabla contenga datos válidos.

b.  Validaciones a nivel base de datos: Supone ciertas relaciones entre las tablas, de tal forma que la base de datos sea un todo coherente, y no solo un conjunto de tablas autónomas; la existencia de las relaciones nos determina las validaciones a nivel base de datos, que son aquellas que involucran a dos o más tablas, y que por tanto, pretenden guardar la unidad de la base de datos.

 

2.   Mencione los 3 métodos disponibles en DAO, para realizar las tareas de apertura y cierre de bases de datos.

a.  OpenDatabase

b.  OpenRecordet

c.   Close

 

3.  Mencione los 4 métodos disponibles con DAO, para realizar tareas de escritura de datos.

a.  AddNew

b.  Edit

c.   Update

d.  Delete

 

4.  Qué almacena la directriz App.Path

Almacena bases de datos.

 

5.  Mencione la sintaxis de OpenDatabase, y escriba un ejemplo.

Sintaxis:   OpenDatabase (archivo)

 

 

Ejemplo:

            Dim dbEjemplo As Database

      DbEjemplo = OpenDatabase (App.Path & “\” & “Ejemplo.mdb”

 

Este ejemplo abriría la base de datos Ejemplo.mdb, que se encuentra en el directorio App.Path & “\” , para poder manipularla.    

 

 

6. Mencione la sintaxis de OpenRecordset, y escriba un ejemplo.

Sintaxis:  OpenRecordset (Tabla, Tipo)

 

Ejemplo:

   Dim dbEjemplo As Database

   Dim rstEjemplo2 As Recordset

   Set dbEjemplo = OpenDatabase (App.Path & “\” & “Calificaciones.mdb”)

   Set rstEjemplo2 = OpenRecordset (“Matemáticas”)

 

Dicho ejemplo abre la tabla Matemáticas contenida en la base de datos Calificaciones.mdb, que está en el directorio App.Path & “\”, para trabajar con ella.

 

7.   Mencione los 5 tipos de RecordSet disponibles en DAO.

a.  Table

b.  Dynaset

c.   Snapshot

d.  Dynamic

e.   Forward - only

 

 

 

8. En qué consiste el modo de edición.

En que Visual Basic permita modificar el contenido del registro activo, algunos métodos requieren estar en modo de edición para trabajar y otros no. Esto se debe a que hay tareas que trabajan con el Recordset; si un método no trabaja con él, no requiere estar en tiempo de edición.

 

9. Qué es el registro activo.

El motor de base de datos permite apuntar a un registro a la vez, por cada Recordset que se tenga abierto; al registro al que se está apuntando se le conoce como registro activo.

 

10.                     Mencione para qué sirve el método AddNew.

Permite agregar un registro  en blanco a un Recordset, estableciéndose como registro activo y dejándolo en modo de edición.

 

11.Mencione para qué sirve el método Edit.

Para poner en modo de edición al resgistro activo.

 

12.                       Mencione para qué sirve el método Update.

Transfiere los cambios realizados en el registro activo y en el Recordset al almacén de datos.

 

 

13.                      Mencione para qué sirve el método Delete.

Modifica el almacén de datos de tal forma que el registro activo sea eliminado.

 

14.                      Qué métodos de escritura de datos tienen implícito el modo de edición.

Los métodos AddNew y Edit.

 

15.                      Explique para qué sirven las propiedades Index y NoMatch, y el método Seek.  

Método Seek à Permite buscar una clave dentro de un archivo, modificando la propiedad NoMatch en caso de que se encuentre (False) o no (True) la clave buscada.

 

Propiedad Index à Permite definir cuál es el índice sobre el que se hará la búsqueda. Dependiendo de la formación del índice que se seleccione, será el número de valores que se especificarán para la búsqueda, así como el tipo de datos que estos contienen.

 

Propiedad NoMatch à Determina si la última búsqueda realizada no encontró ocurrencias coincidentes (True). En caso de que la búsqueda termine con resultados satisfactorios, el valor de esta propiedad es (False). Esta propiedad se actualiza en tiempo de ejecución.

 

16.                     Mencione los 4 métodos para movimiento entre datos.

a.  Recordset.MoveFisrt à Apunta el primer registro del Recordset

b.  Recordset.MoveLast à Apunta al último registro del Recordset

c.   Recordset.MovePrevious à Apunta al registro anterior  del Recordset

d.  Recordset.MoveNext à Apunta el siguiente registro del Recordset

 

17.                        ¿Cuál es la diferencia entre búsquedas utilizando Seek y Find?

La diferencia entre ambos métodos radica en que Seek sirve solo para hacer búsquedas basadas en claves, y cuando se desea hacer una búsqueda por nombre, rango de valor, etc. (es decir, no basadas en claves), se utilizan los métodos Find.

La forma de evaluar el éxito de los métodos Find es similar a Seek; la propiedad NoMatch indicará si se encontró  (False) o no (True) una coincidencia.

 

18.                     Qué tipo de RecordSet se requiere para realizar búsquedas utilizando Find.

El Recordset debe ser de tipo Dynaset.

 

 

19.                     Mencione las 4 variantes de métodos Find.

a.  FindFirst à Encuentra el primer registro que cumpla con la condición

b.  FindNext à Encuentra el siguiente registro que cumpla con la condición

c.   FindPrevious à Encuentra el registro anterior que cumpla con la condición

d.  FindLast à Encuentra el último registro que cumpla con la condición

 

20.                    Explique la sintaxis de los métodos Find, y escriba un ejemplo.

                                                           i.      FindFirst

b.  Sintaxis:

Recorset.FindFirst Comparación, Valor1 [, Valor2, …]

 

c.   Ejemplo:

RstEjemplo.FindFirst “EJNúmero > 500”

If RstEjemplo.NoMatch Then

   MsgBox  “No hay números mayores de 500”

Else

   MsgBox “Si hay valores mayores a 500”

End If

                                                           i.      FindNext

d.  Sintaxis:

Recorset.FindNext Comparación, Valor1 [, Valor2, …]

 

e.   Ejemplo:

RstEjemplo.FindNext “EJNúmero > 500”

If RstEjemplo.NoMatch Then

   MsgBox  “No hay números mayores de 500”

Else

   MsgBox “Mínimo, hay dos valores mayores de 500”

End If

 

                                                           i.      FindPrevious

f.   Sintaxis:

Recorset.FindPrevious Comparación, Valor1 [, Valor2, …]

 

g.  Ejemplo:

RstEjemplo.Previous “EJNúmero > 500”

If RstEjemplo.NoMatch Then

   MsgBox  “No hay números mayores de 500”

Else

   MsgBox “Se ha encontrado un número anterior a otro mayor de 500”

End If

 

 

                                                           i.      FindLast

h.   Sintaxis:

Recorset.FindFirst Comparación, Valor1 [, Valor2, …]

 

i.     Ejemplo:

RstEjemplo.FindLast “EJNúmero > 500”

If RstEjemplo.NoMatch Then

   MsgBox  “No hay números mayores de 500”

Else

   MsgBox “Se ha encontrado el último valor mayor a 500”

End If

21.                       Si trabajando con DAO le aparece un error que dice Update o CancelUpdate sin AddNew o Edit, qué puede estar sucediendo y cómo se puede solucionar.

Este error se presenta cuando se intenta asignar valores a una referencia de campo en un Recordset, sin que se encuentre en modo de edición, ya sea por la aplicación AddNew o de Edit.

Solución à Antes de realizar asignaciones a las referencias de campo en un Recordset, debe de asegurarse de estar en modo de edición.