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
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.
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.
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
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.
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.
Lenguaje de
Consultas Estructurado.
DAO (Objetos de
Acceso a Datos).- Es el conjunto de objetos que permiten la manipulación de
datos en Visual Basic.
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.
Microsoft Access
Fox Pro, dBase
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.
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.
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
Workspace es un
objeto que se genera a partir de una colección de Workspaces.
TableDefs(0).Fields("IDVenta")
Es lo mismo que:
TableDef.Fields!IDVenta
Las variables
objeto son las variables que almacenan objetos en lugar de datos.
Set NombreVariable
= ObjetoAAsignar
Esta instrucción
le asigna a una variable cierto objeto.
Dim fldIDVenta As Field
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.
Este metodo crea
tablas dentro de Database. Su sintaxis es :
.CreateTableDef
(Nombre)
Donde Nombre es el nombre de la tabla a crear.
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)
Este metodo se
encarga de establecer las relaciones entre tablas. Su sintaxis es:
.CreateRelation(Nombre,
TablaServidora, TablaCliente, Atributo)
Sirve para
realizar multiples definiciones a las propiedades de un mismo objeto.
Se utiliza para
agregar o juntar una variable objeto con otra.
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
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.
OpenDatabase, OpenRecordset y Close.
AddNew, Edit, Update y Delete.
Almacena la
dirección en la cual se encuentra el archivo a usar.
OpenDatabase(Archivo)
Ejemplo: Dim
dbBase As Database
dbBase = OpenDatabase(App.Path & "\"
& "Ventas.mdb")
OpenRecordset(Tabla,Tipo)
Ejemplo: Dim
dbBase As Database
Dim rstVendedor As Recordset
dbBase = OpenDatabase(App.Path & "\"
& "Ventas.mdb")
Set rstVendedor =
OpenRecordset("Vendedor")
Table -> dbOpenTable
Dynaset -> dbOpenDynaset
Snapshot -> dbOpenSnapshot
Forward-only -> dbOpenForwardOnly
Dynamic ->
dbOpenDynamic
Cuando el
Recordset esta en modo de edición, Visual Basic permite modificar el contenido
del 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.
Permite agregar
un registro a un Recordset, estableciéndolo como registro activo y dejándolo en
modo de edición.
Sirve para poner
en modo de edición al registro activo.
Transfiere los
cambios realizados en el registro activo y en el Recodset al almacen de datos.
Modifica el
almacen de datos de tal forma que el registro sea eliminado.
AddNew y Edit.
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.
Recordset.MoveFirst
Recordset.MoveLast
Recordset.MovePrevious
Recordset.MoveNext
Seek solo busca
claves, mientras Find no tiene esa restricción.
El Recordset debe
ser de tipo Dynaset.
FindFirst
FindNext
FindPrevious
FindLast
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
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
|
|