jueves, 15 de diciembre de 2011

ADO VISUAL Y DAO VISUAL


    Que es el objeto ADO
    (Microsoft ActiveX Data Objects - ADO). Conjunto de objetos COM para el acceso a recursos de datos. Prevé una capa entre los lenguajes de programación y las bases de datos OLE, lo que permite a los programadores escribir programas que accedan a datos, sin saber cómo está implementada la base de datos (sólo se debe tener cuidado en la conexión a la misma). Tampoco es necesario conocer sobre SQL cuando se usa ADO, aunque también pueden utilizarse comandos SQL, pero esto crearía en el programa una dependencia del tipo de base de datos usado.En otras palabras, ADO es un mecanismo que utilizan los programas para comunicarse con las bases de datos. Forma parte de lenguajes como Visual Basic, Delphi, ASP, etc. La versión ADO.NET forma parte de la plataforma de programación .NET de Microsoft. ADO fue introducido por Microsoft en 1996, y sustituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object), ambos sistemas se utilizaban antes para acceder a las bases de datos locales y remotas respectivamente
    .
     

    Introducción

    En este ejemplo se accede a una base de datos de Access usando ADO.


    Lo único que tenemos que hacer es:
    • Indicar que se va a usar compatibilidad con COM. Esto se consigue indicando aspcompat = true en la directiva ASP.NET indicada al principio de la página.
    • La forma de acceder a los objetos ADO (que son COM/ActiveX) ya que habrá que usar código "compatible" con punto NET, al menos en la forma de llamar a los métodos y funciones, es decir usando los paréntesis para encerrar los parámetros. Ya que por lo demás, el código es "exactamente" el mismo que se usaría con ASP y VBScript.

    En el ejemplo siguiente, se da por supuesto que existe un directorio llamado "datos" que está en el mismo directorio que la página ASPX, si cambias la localización de ese directorio, tendrás que cambiar el código de la conexión, más concretamente en el parámetro a Server.MapPath(...).En el zip con el ejemplo, incluyo una pequeña base de datos que es la usada en el formulario Web. Por tanto, si lo descomprimes, procura que la base de datos se quede dentro del directorio "datos". De forma predeterminada se creará ese directorio. ¿Dónde descomprimir el fichero? Dentro del directorio "localhost", por defecto es: C:\Inetpub\wwwroot Para acceder a la página de prueba, tendrás que usar http://localhost/ejemploAccessADO.aspx Por supuesto esto sólo será posible si tienes el Windows 2000/XP Profesional o un Windows Server que tenga instalado el IIS. En este ejemplo sólo muestro el código de Visual Basic, ya que al fin y al cabo es BScript.
     Ejemplo
    <%
    ' Variables usadas para crear los objetos, etc.
    Dim Rst, Cnn
    Dim sConn, sTip
    Dim sTitulo, sLink, sApartado, sDescripcion
    Dim s, i
    ' Crear los objetos
    Cnn = Server.CreateObject("ADODB.Connection")
    ' Crear la conexión a la base de datos
    sConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            Server.MapPath("datos\elguille.mdb") & ";"
    Cnn.Open(sConn)
    ' Crear la cadena SQL
    s = "SELECT * FROM Titulos ORDER BY Apartado ASC"
    Rst = Cnn.Execute(s)
    On Error Resume Next
    Err.Clear
    ' Buscar desde el principio
    Rst.MoveFirst
    i = 0
    Do While Not (Rst.BOF Or Rst.EOF)
        i = i + 1
        With Rst
            ' Asignar a las variables el contenido del registro
            sTitulo = .Fields("Titulo").Value & ""
            sLink = .Fields("Link").Value & ""
            sApartado = .Fields("Apartado").Value & ""
            sDescripcion = .Fields("Descripcion").Value & ""
            ' Mostrar los datos hallados
            Response.Write(i & "- <a href='" & sLink & "'>" & _
                   sTitulo & "</a> <b>(" & _
                   sApartado & ")</b><br>" & sDescripcion & "<br>")
        End With
        '
        ' Mostrar el siguiente registro
        Rst.MoveNext
    Loop
    Response.Write("<br>")
    Err.Clear
    If i = 0 Then
        Response.Write("<br><b>No se ha encontrado ningún registro que contenga")
        Response.Write(" lo que has especificado.</b><br>")
        Response.Write("Pulsa en este link para <b>")
        Response.Write("<a href='mostrarDatosTodo.aspx'>"
        Response.Write("Mostrar todos los registros</a></b>.<br>")
    End If
    '
    Rst.Close
    Cnn.Close
    Rst = Nothing
    Cnn = Nothing
    '
    %>
    Que es el modelo DAO
     (Objetos de Acceso a Datos) viene definido como sigue:
    Podemos utilizar el modelo de Objetos de Acceso a Datos para manipular bases de datos bien en el modelo nativo del motor de acceso JET (.MDB) o bien en cualquier otro formato ISAM (Fox, dBASE, Excel, Btrieve, Paradox, y Text).
    El modelo de datos DAO (DbEngine, WorkSpace, Database y Recordset)
           DAO incorpora en sus librerías, todos los objetos necesarios para la creación, eliminación y modificación de una estructura de datos, incorporando además herramientas para la utilización de los datos almacenados. 
    Ejemplo
           
    El objeto principal, de esta estructura jerarquizada de objetos, es DBEngine. Éste objeto, no puede ser elemento de ninguna colección, por lo que no pueden crearse objetos DBEngine adicionales.
           Con los métodos .OpenDatabase y .CreateWorkSpace, del objeto DbEngine, podemos crear llamadas a una base de datos; directamente para almacenar en el espacio de trabajo predefinido, o para añadir espacios de trabajos adicionales a la coleccion de objetos WorkSpace, donde abrir posteriormente la base de datos.
           Los valores devueltos por esos dos métodos son:
           .CreateWorkSpace:
           Añade un nuevo objeto de area de trabajo, a la coleccion de objetos WorsSpace, en el Objeto DbEngine.
           .OpenDatabase:
           Devuelve un objeto Database, que referencia una base de datos, en el área de trabajo predeterminada.
           Dim Db As Database        Set Db = DbEngine.WorkSpace(0).OpenDatabase("Ruta del fichero de datos")
           O bien, de la siguiente manera para el área de trabajo predeterminada.
           Dim Db As Database        Set Db = DbEngine.OpenDatabase("Ruta del fichero de datos")
           El objeto Database devuelto por el método .OpenDatabase, posee a su véz otras colecciones de objetos, pero siguiendo el ejemplo, de abrir una base de datos y mostrar registros, vamos a tratar solamente sobre el objeto Recordset (conjunto de registros).
           El método que vamos a usar para rellenar el objeto Recorset, con los registros es: .OpenRecordset, y es aquí donde vamos ejecutar una instrucción SQL para definir los registros que vamos a mostrar.
           Dim Rst As Recordset        Set Rst = Db.OpenRecordset("SELECT * FROM Personas")
           Para realizar el ejemplo hay que crear una base de datos llamada MisDatos.mdb, que contenga una tabla denominada Personas, y guardarla en la misma carpeta donde vayamos a guardar el proyecto. Crear un proyecto nuevo. Añadir en Referencias una llamada a la libreria: Microsoft DAO 3.51 Object Library. En el formulario poner un control Data y un DbGrid, enlazado al Data. Añadir este código. Guardar el proyecto y ejecutar (F5).
           Se comienza con la declaración de los objetos que vamos a utilizar, uno para la base de datos y otro para el conjunto de registros a usar.
           Option Explicit        Dim Db As Database        Dim Rst As Recordset
           A continuación ejecutamos las instrucciones necesarias para cargar la base de datos y rellenar el recorset, asignándolo luego al control Data1.
           Private Sub Form_Load()               Set Db = DbEngine.OpenDatabase(App.Path & "\MisDatos.mdb")               Set Rst = Db.OpenRecordset("SELECT * FROM Personas")               Data1.DatabaseName = App.Path & "\MisDatos.mdb"               Set Data1.Recordset = Rst        End Sub
           Con ésto tendremos los datos mostrados en la rejilla de datos.
           Otra forma de mostrar los registros obtenidos, sería registro a registro, en controles TextBox, éstos pueden estar enlazados al igual que el DbGrid a un control Data o mostrar los registro directamente desde el objeto Rst, mediante el siguiente código:
           Supongamos una matriz con controles TextBox, uno por cada campo que exista en la Tabla.
           Dim i As Long        For i = 0 to Rst.Fields.Count - 1               Text1(i).Text = Rst(i)        Next i
     Conexion (Videos)
     
    Video de pequeños errores de la conexion

jueves, 22 de septiembre de 2011


 INTRODUCCION:

Visual Basic 6.0 es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de PCs, tanto expertos como novatos.En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje.

Visual Basic 6.0 es también un programa basado en objetos, aunque no orientado a objetos como C++ o Java. La diferencia está en que Visual Basic 6.0 utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++.

Programas secuenciales, interactivos e orientados a eventos VB 6.0



PROGRAMAS SECUENCIALES, INTERACTIVOS Y ORIENTADOS A EVENTOS

En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipo batch) Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados. De ordinario, mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. A este tipo de programas se les llama también programas basados u orientados a procedimientos a algoritmos (procedural lenguajes) lo que debe hacer por medio de menús.

Los programas interactivos limitan y orientan la acción del usuario. Un ejemplo de programa interactivo podría ser 


Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, bien para suministrar datos, bien para indicar al programaMatlab

viernes, 26 de agosto de 2011

unidad 1


SISTEMAS DE ARCHIVOS
Un sistema de archivos es un conjunto de programas que prestan servicio a los usuarios finales, donde cada programa define y maneja sus propios dato
Los sistemas de archivos presentan algunos inconvenientes que se atribuyen a que la definición de los datos se encuentra codificada dentro de los programas de aplicación, y no siendo almacenada de forma independiente a las aplicaciones
Debido a los inconvenientes que presentaban los sistemas de archivos surgieron las Bases de Datos y los Sistemas de Gestión de Base de Datos


BASE DE DATOS
En las bases de datos se almacenan grandes cantidades de datos, que son definidos una sola vez y que pueden ser accesados por varios usuarios
organización y no a los departamentos o núcleos de la misma, eliminando la redundancia de datos y estableciendo una mínima duplicidad de los datos. Cada dato de la base de datos almacena una descripción de los mismos que es denominada
Los sistemas de información separan la definición de la estructura de datos de los programas de aplicación y almacenan esta definición en la base de datos,


 DATA BASE MANAGMENT SYSTEM (DBMS)
 Los sistemas de Gestión de Bases de Datos, son aplicaciones que permiten a los usuarios definir, crear y mantener la base de datos y proporciona un acceso controlado a la misma.
Algunos de los SGBD más conocidos son: SQL, DB2, SLQ/DS, ORACLE, INGRES, INFORMIX, SYBASE, PARADOX, DBASE, ACCESS, FOXPRO, R, RM/T y RM/V2.
OBJETIVOS DE UN SGBD -Definir la Base de Datos mediante el Lenguaje de Definición de Datos, el cual permite especificar la estructura, tipo de datos -Separar la descripción y manipulación de la data, permitiendo un mayor entendimiento de los objetos, además de flexibilidad de consulta y actualización de los datos. -Permitir la inserción, eliminación, actualización, consulta de los datos mediante el Lenguaje de Manejo de Datos, lo que permite resolver el problema que presentan los sistemas de archivos, donde hay que trabajar con un conjunto fijo de consultas o la necesidad de tener muchos programas de aplicaciones.
-Lenguajes procedurales: manipulan la base de datos registro a registro y se deben especificar las operaciones a realizar para obtener los datos resultado.
-Eliminar la redundancia de datos, establecer una mínima duplicidad en los datos y minimizar el espacio en disco utilizado


 ACTORES EN EL ENTORNO DE UNA BASE DE DATOS
Administrador de la base de datos: se encarga del diseño físico de la base de datos y de su implementación, realiza el control de la seguridad y de la concurrencia, mantiene el sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones obtengan buenas prestaciones Diseñadores de la base de datos: realizan el diseño lógico de la base de datos, debiendo identificar los datos, las relaciones entre datos y las restricciones sobre los datos y sus relaciones. El diseñador de la base de datos Programadores de aplicaciones: se encargan de implementar los programas de aplicación que servirán a los usuarios finales.

VENTAJAS DE LOS SGBD
 Control sobre la redundancia de datos: Los sistemas de archivos almacenan varias copias de los mismos datos en archivos distintos. Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Más información sobre la misma cantidad de datos: Al estar todos los datos integrados, se puede extraer información adicional sobre los mismos. Compartición de datos: En los sistemas de archivos, los archivos pertenecen a las personas o a los departamentos que los utilizan. Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. EXISTENCIA DE LOS SGBD Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Mejora en los servicios de copias de seguridad y de recuperación ante fallos: Los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo. INCONVENIENTES DE LOS SGBD Complejidad: Los SGBD son conjuntos de programas muy complejos con una gran funcionalidad. Coste económico del SGBD: El coste de un SGBD varía dependiendo del entorno y de la funcionalidad que ofrece Prestaciones: Los SGBD están escritos para ser más generales y ser útiles en muchas aplicaciones, lo que puede hacer que algunas de ellas

ARQUITECTURA DE TRES NIVELES
Hay tres características importantes inherentes para el enfoque de las bases de datos; estas son : a) separación entre los programas y los datos (independencia entre los programas y datos ); b) el manejo de múltiples vistas de usuario y c) La arquitectura de tres niveles es un método de gran aceptación para explicar el funcionamiento de los sistemas de bases de datos fue formalizado en 1975 y mejorado en 1978 es también conocido como arquitectura ANSI/SPARC 1. El nivel interno: tiene un esquema interno, el cual describe la estructura de almacenamiento físico de la Base de Datos. 2. El nivel conceptual: tiene un esquema conceptual el cual describe la estructura de todas las Bases de Datos para una comunidad de usuarios. El esquema conceptual es una descripción global de la BD que oculta los detalles 3. El nivel externo: o nivel de vista incluye un número de esquemas externos o vistas de usuario. Cada esquema externo describe la vista de la BD de un grupo o de los usuarios de la BD. Cada vista típicamente describe la parte de la BD


MÓDULOS DE LOS DBMS
 Los DBMS son software tremendamente complicados; a continuación se muestran los componentes de software que constituyen un DBMS y los tipo de software del sistema que interactúan con los DBMS.

 • La BD y los catálogos del DBMS usualmente son almacenados en discos.
 • El acceso a disco es controlado principalmente por el sistema operativo el cual controla las I/O a los discos.

• El procesador de consultas (query prossesor) maneja las consultas de alto nivel que son ingresadas interactivamente, donde el usuario espera los resultados de la búsqueda en el momento. Analiza la sintaxis y el contenido de la consulta
• El precompilador (precompiler) extrae los comandos del DML de un programa de aplicación escrito en un lenguaje de programación host Esta figura se utiliza para mostrar las partes mas representativas de los DBMS en cuanto a módulos se refiere. Los DBMS interactúan con los sistemas operativos cuando se accede a memoria (que es donde esta la base de dato y el catálogo).

DISEÑO DE UNA BASE DE DATOS
El diseño de una base de datos es un proceso complejo que abarca decisiones en distintos niveles.
independientemente, utilizando técnicas específicas. Así, el diseño de una base de datos se descompone en diseño conceptual, diseño


 DISEÑO CONCEPTUAL

La naturaleza de los datos, independientemente de su representación física.
 El uso de los datos a través de las áreas de aplicación
El esquema conceptual es una fuente de información para el diseño lógico de la base de datos. .
La perspectiva que cada usuario tiene de los datos.