Capítulo 22.

Bases de datos y DAO

 

1.      Defina Base de Datos, Tabla, Registro y Campo.

Base de Datos .- Es una colección de datos organizados de tal forma que puedan ser recuperados y procesados para generar información, para un propósito especifico.

Tabla .- Es una matriz de datos de dos dimensiones, que almacena datos de una sola naturaleza, uniforme y completa.

La tabla puede estar compuesta por una o más columnas, a las que se les conoce como campos. También puede contener una o más filas, a las que se les conoce como registros.

Campo .- Los campos (uno o varios) son los que conforman a una tabla.

Registro .- Es una ocurrencia de la colección de campos

 

  1. Explique que es una Clave primaria y como debe escogerse.

Al conjunto de campos que en cantidad mínima, suficiente y necesaria identifican como único a un registro dentro de una tabla, se le llama clave primaria.

Para escoger la clave primaria adecuada hay que escoger el campo que identifique como único a cada registro.

  1. Explique que es una Clave Externa.

Cuando dos tablas de una misma base de datos se complementan (guardan una relación) por medio de campos comunes. Cuando estos campos son los campos primos, o sea, los campos primos de una tabla se encuentran dentro de otra tabla, estos conforman una clave externa.

  1. Explique que es la Integridad referencial.

Relación de integridad .- Por cada registro de la tabla servidora debe existir al menos un registro en la tabla cliente.

Se dice que hay Integridad referencial cuando en todos los casos existe correspondencia entre los registros de

  1. Explique que es un Índice.

Los Indices son referencias logicas a la ubicación física de los registros , sobre la base de un criterio que determina su organización y posición dentro de un orden. Se utilizan para la localización rapida de registros y para ordenarlos.

  1. Explique la figura 22.4 .

Primero se tiene el programa diseñado para manejar una base de datos, la cual se encuentra en el almacen de datos de nuestra PC. El motor de base de datos (que siempre se encuentra entre nuestro programa y el almacen de datos) es el encargado de convertir las instrucciones del programa en operaciones físicas del almacen de datos y viceversa.

  1. Defina las siglas de SQL.

Lenguaje de Consultas Estructurado.

  1. Defina las siglas de DAO y Explique para que sirve.

DAO (Objetos de Acceso a Datos).- Es el conjunto de objetos que permiten la manipulación de datos en Visual Basic.

  1. Explique para que sirve el Control Data.

El control Data es uno de los dos metodos que proporciona Visual Basic para crear una interfaz con el motor de base de datos Jet.

El control Data ofrece una capacidad limitada para tener acceso sin programación a bases de datos existentes.

  1. Mencione que paquetes usan archivos con extensión .mdb

Microsoft Access

  1. Mencione que paquetes usan archivos con extensión .dbf

Fox Pro, dBase

  1. Explique la figura 22.5 indicando el significado de sus elementos.

En esta figura se explica la forma jerarquica basica de las clases DAO.

DBEngine se encuentra en la parte superior de la jerarquia ; este corresponde al motor de base de datos Microsoft Jet. El objeto DBEngine es el unico objeto que no esta contenido en ningun otro.

Después de DBEngine, todos los objetos hacia abajo son de colección, es decir, pueden contener una o mas ocurrencias.

El esquema nos muestra después una colección llamada workspaces, que contiene uno o mas objetos workspace. Cada objeto workspace tiene una colección Databases, la cual contiene uno o mas objetos Database. Cada objeto Database tiene una colección de TableDefs, RecordSets y Relations.

Cada TableDefs contiene uno o mas objetos TableDef. Cada TableDef tiene una colección de Fields y una de Indexs. Cada objeto Index tiene una colección de Fields.

Cada objeto RecordSet tiene una colección de Fields y cada objeto Relation tiene una colección de Fields.

La jerarquia obliga a que si no hay DBEngine, no hay Workspace y asi sucesivamente.

  1. Defina las siglas de DDL y Explique para que sirve.

DDL (Lenguaje de Definición de Datos).- Consta de las propiedades y metodos utilizados para definir y crear la propia base de datos, incluyendo sus tablas, campos, relaciones, etc.

  1. Defina las siglas de DML y Explique para que sirve.

DML (Lenguaje de Manipulación de Datos).- Consta de las propiedades y los metodos utilizados para escribir aplicaciones que manipulan y tienen acceso a base de datos existentes. Esto incluye características para consultar la base de datos, desplazarse a traves de sus tablas, realizar actualizaciones y agregar o eliminar registros.

 

 

 

 

 

 

 

Capítulo 23.

Lenguaje de Definición de datos y DAO

 

1.      Explique como se usa DDL para crear una estructura de Base de Datos (en 9 pasos).

Habilitar DAO (DBEngine)

Definir una base de datos (Database)

Definir un espacio de trabajo (Workspace) para la base de datos

Realizar las definiciones de tablas (TableDef)

Realizar las definiciones de campos (Field)

Realizar las definiciones de indices (Index)

Realizar las definiciones de las relaciones (Relation)

Asignar propiedades especificas de la base de datos

Integrar de la base de datos

  1. Explique la diferencia entre Workspace y Workspaces.

Workspace es un objeto que se genera a partir de una colección de Workspaces.

  1. Explique las dos formas en que podemos hacer referencia a IDVenta.

TableDefs(0).Fields("IDVenta")

Es lo mismo que:

TableDef.Fields!IDVenta

  1. Explique que es una Variable objeto.

Las variables objeto son las variables que almacenan objetos en lugar de datos.

  1. Explique que la sintaxis de la instrucción Set.

Set NombreVariable = ObjetoAAsignar

Esta instrucción le asigna a una variable cierto objeto.

  1. Explique la instrucción Dim para una Variable objeto.

Dim fldIDVenta As Field

  1. Explique el método CreateDatrabase.

Para utilizar el CreateDatabase es necesario tener definido el workspace

.CreateDatabase(Nombre, Localidad, Opciones)

Nombre es el nombre del archivo a crear.

Localidad es la constante que especifica la localidad

Opciones son las cte’s suma de ellas, que definen particularidades de la base de datos.

  1. Explique el método CreateTableDef.

Este metodo crea tablas dentro de Database. Su sintaxis es :

.CreateTableDef (Nombre)

Donde Nombre es el nombre de la tabla a crear.

  1. Explique el método CreateIndex.

Para poder utilizar este metodo necesita haber creado primero una tabla o un campo. La sintaxis de este metodo se muestra a continuación:

.CreateIndex(Nombre)

  1. Explique el método CreateRelation.

Este metodo se encarga de establecer las relaciones entre tablas. Su sintaxis es:

.CreateRelation(Nombre, TablaServidora, TablaCliente, Atributo)

  1. Explique para que sirve el bloque With... End With.

Sirve para realizar multiples definiciones a las propiedades de un mismo objeto.

  1. Explique para que sirve el método Append.

Se utiliza para agregar o juntar una variable objeto con otra.

  1. Traduzca: Required, Default value, Alow zero lenght, Foreign table, Foreign name, For each.

Required = Requerido

Default value = valor por defecto

Allow zero length = conceder longitud cero

Foreign table = tabla extranjera o externa

Foreign name = nombre extranjero

For each = para cualquier

  1. Investigue y explique que significa Ingeniería inversa.

Los conceptos de reingeniería e ingeniería inversa están ligados al desarrollo de software a gran escala, donde una mejora en proceso de este desarrollo supone un aumento en la competitividad de la empresa.

Aunque hay que tener en cuenta que esta mejora es, en general a largo plazo (normalmente de uno a dos años) ambas actividades, están orientadas a automatizar el mantenimiento de aplicaciones. Esta es una tarea que consume gran cantidad de recursos, por lo que cualquier reducción en el tiempo y recursos empleados en ella supone una importante mejora en la productividad del proceso. Este es el principal objetivo de la reingeniería. Se trata, de analizar el código o el diseño actual y modificarlo con la ayuda de herramientas automáticas para traducirlos a códigos mas estructurados, y más eficientes.

Dentro de la reingeniería, el proceso de pasar del código a una descripción de mas alto nivel es lo que se denomina:

Ingeniería inversa.

La reingeniería e ingeniería inversa prolongan la vida del software.

Dado que es una labor estratégica, es conveniente conocer cuando conviene realizar la tarea de reingeniería para una aplicación y cuándo es más rentable sustituirla e implementar una nueva. Las aplicaciones para el primer paso, son aquellas en la que se produce las siguientes situaciones:

·         Fallos frecuentes, que son difíciles de localizar

Desarrollo de software con y para reuso

El desarrollo de software con reúso consiste en desarrollar una aplicación usando software ya existente. Cualquier profesional lo utiliza

El desarrollo de software para reuso consiste en la construcción de un sistema con la intención de reutilizar partes de él en futuros desarrollos. Con software a gran escala, un buen profesional con experiencia puede desarrollarlo.

Estudios realizados determinan que la práctica de reutilización del software en un proyecto aumenta la productividad durante el desarrollo de dicho proyecto.

Sin embargo, la reutilización del software no cubre solo el reuso de códigos, abarca todo un amplio de posibilidades en los diferentes niveles, metodología, ciclos de vida, planes del proyecto, especificaciones de requisitos, diseños, arquitectura software, planes de validación, juegos de prueba y documentación.

 

 

 

 

Capítulo 24. Lenguaje de Manipulación de Datos y DAO.

 

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

Actualizaciones a nivel tabla y a nivel base de datos.

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

OpenDatabase, OpenRecordset y Close.

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

AddNew, Edit, Update y Delete.

  1. Qué almacena la directriz App.Path

Almacena la dirección en la cual se encuentra el archivo a usar.

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

OpenDatabase(Archivo)

Ejemplo: Dim dbBase As Database

dbBase = OpenDatabase(App.Path & "\" & "Ventas.mdb")

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

OpenRecordset(Tabla,Tipo)

Ejemplo: Dim dbBase As Database

Dim rstVendedor As Recordset

dbBase = OpenDatabase(App.Path & "\" & "Ventas.mdb")

Set rstVendedor = OpenRecordset("Vendedor")

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

Table -> dbOpenTable

Dynaset -> dbOpenDynaset

Snapshot -> dbOpenSnapshot

Forward-only -> dbOpenForwardOnly

Dynamic -> dbOpenDynamic

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

Cuando el Recordset esta en modo de edición, Visual Basic permite modificar el contenido del registro activo.

  1. 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 que esta apuntado se le conoce como registro activo.

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

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

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

Sirve para poner en modo de edición al registro activo.

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

Transfiere los cambios realizados en el registro activo y en el Recodset al almacen de datos.

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

Modifica el almacen de datos de tal forma que el registro sea eliminado.

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

AddNew y Edit.

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

El metodo Seek permite buscar una clave dentro de un archivo, modificando la propiedad NoMatch en caso de que se encuentre o no la clave buscada.

La propiedad Index permite definir cual es el indice sobre el que se hara la búsqueda.

La propiedad NoMatch determina si la ultima búsqueda realizada no encontro ocurrencias coincidentes (True). En caso de que la búsqueda termine con resultados satisfactorios, el valor de esta propiedad en (False). Esta propiedad se actualiza en tiempo de ejecución.

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

Recordset.MoveFirst

Recordset.MoveLast

Recordset.MovePrevious

Recordset.MoveNext

  1. Cuál es la diferencia entre búsquedas utilizando Seek y Find.

Seek solo busca claves, mientras Find no tiene esa restricción.

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

El Recordset debe ser de tipo Dynaset.

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

FindFirst

FindNext

FindPrevious

FindLast

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

La forma de evaluar el éxito de los metodos Find es similar a Seek

Ejemplo: Dim dbBase As Database

Dim rstVendedor As Recordset

dbBase = OpenDatabase(App.Path & "\" & "Ventas.mdb")

Set rstVendedor = OpenRecordset("Vendedor", dbOpenDynaset)

RstVendedor.FindFirst "IDVendedor > 100"

If rstVendedor.NoMatch Then

MsgBox "No hay un ID mayor a cien"

Else

MsgBox "Ya hay un ID mayor a cien"

End If

BdBase.Close

  1. 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.

Se presenta cuando intenta definir un Recordset vinculándolo a una tabla o consulta que no existe definida en el almacen de datos. Para solucionarlo, antes de realizar asignaciones a las referencias al almacen de datos , asegurese de estar en modo de edición