Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa de la asignatura:
Programación NET III
Clave:
15143632
Índice
Presentación de la unidad
Logros
• Identificar los conceptos básicos de una conexión en .NET para poder aplicar esta
tecnología en proyectos de procesamiento y gestión de la información.
• Identificar las operaciones que se pueden realizar a una base de datos mediante
un programa de conexión en .NET.
Competencia específica
Se puede decir que el acceso a datos consiste en establecer una conexión entre dicho
componente de software y el medio de almacenamiento de información (Gómez, 2010).
Una vez que se ha realizado esta conexión es posible realizar operaciones de gestión de
información tales como:
• Crear (altas)
• Borrar (bajas)
• Actualizar (cambios)
• Recuperar (leer)
1.1.1. OLE DB
OLE DB (Object Linking and Embedding for Databases) es una tecnología de acceso a
datos desarrollada por Microsoft cuyo objetivo es unificar el acceso a la información,
considerando que ésta puede estar en diferentes recursos como bases de datos o
archivos de diferentes tipos. Esta tecnología se caracteriza por ser capaz de separar los
datos de la aplicación donde se encuentran contenidos, esto se basa en el fundamento de
que las aplicaciones necesitan acceso a diferentes orígenes de datos y no requieren
conocer las funcionalidades específicas de cada origen.
(MSDN, 2013 c)
Microsoft propone un modelo simple pero muy poderoso de acceso universal a los datos
UDA (Universal Data Access), ¿a qué hace referencia este concepto? Para responder a
este cuestionamiento es necesario situarse en un ambiente organizacional, donde la
información es obtenida desde diferentes medios como archivos, hojas de cálculo, bases
de datos e incluso del correo electrónico.
Como solución a estos inconvenientes, Microsoft propone el acceso universal a los datos.
Este modelo comprende dos grandes características (MSDN, 2013 e):
• Acceso no DBMS (Data Base Management System): Se refiere a que es posible tener
acceso a orígenes de datos que no son manejadores de bases de datos (para
recordar qué son los manejadores de bases de datos revisa las asignaturas
Diseño de bases de datos y Administración de bases de datos). Por ejemplo: emails,
sistemas de archivos, hojas de cálculo y/o aplicaciones de administración de
proyectos.
Consumidores y proveedores
El modelo que emplea OLE DB se basa en consumidores y proveedores, donde un
consumidor es todo aquel elemento de software (programa) que realiza solicitudes de
datos y un proveedor es aquel elemento de software (programa) que responde a dichas
solicitudes entregando la información solicitada. Como regla general, cada llamada o
petición realizada por los consumidores debe estar implementada en el proveedor.
De manera técnica, es posible decir que un consumidor es todo aquel sistema, aplicación
o programa que tiene acceso a los datos por medio de interfaces OLE DB. Es posible
definir a los proveedores como todo aquel componente de software que implementa
interfaces OLE DB para encapsular el acceso a los datos para enviarlos a los
consumidores (MSDN, 2013 a).
Objetos OLE DB
1.1.2. ADO
La tecnología ADO (Microsoft ActiveX Data Objects) permite a las aplicaciones el acceso
a datos de un servidor de base de datos y su manipulación a través de un proveedor
OLE DB (MSDN, 2013 d).
Esta tecnología puede ser empleada por ambientes Windows (Visual Basic, C++) y en
ambientes Web (ASP).
Componente Función
Recordset Maneja un conjunto de registros de la base de datos. Cada recordset
puede ser generado por una o varias tablas de la base de datos. Este
componente tiene la capacidad de recorrerse entre sus elementos en
todas direcciones: al siguiente o anterior registro así como al último o al
primero.
Command Envía instrucciones SQL para ser ejecutados en la base de datos. Los
comandos permiten insertar nuevos registros así como editarlos o
eliminarlos. Entre las instrucciones SQL que se efectúan con Command
también se incluyen aquellas que permiten recuperar la información.
Selects y sus criterios o filtros.
Connection Establece la conexión con la base de datos. En esta conexión se
intercambian los datos y las operaciones a realizar sobre la base de
datos. Emplea al proveedor OLE DB cuando se tratan de bases de
datos nativas de Windows y ODBC si se trata de otro tipo de bases de
datos.
DataProvider Se encarga de conectar directamente con el tipo de base de datos al
que pertenece. Por cada tipo de base de datos se debe implementar el
DataProvider específico de dicho tipo. En otras palabras, cada
manejador cuenta con su propio DataProvider.
Principales componentes ADO. Basado en MSDN, 2013 d
ADO .NET es una tecnología para el acceso y gestión de datos desarrollada por Microsoft
(si necesitas recordar lo que es la gestión de datos, revisa la asignatura Administración de
bases de datos). Está conformada por un conjunto de clases que ofrecen servicios de
acceso a datos y componentes para la creación de aplicaciones de uso compartido. Las
fuentes de datos de esta tecnología comprenden:
• Bases de datos relacionales
• XML
• Aplicaciones
Esta tecnología permite que cualquier aplicación que consuma datos pueda conectarse
al origen de datos que requiera, recuperarlos, gestionarlos y actualizarlos
adecuadamente. El modelo de ADO .NET separa el acceso de los datos de su
manipulación, de tal manera que los datos pueden procesarse directamente en su fuente
o manipularse en la memoria mediante un DataSet (se explicará más adelante las
características de un DataSet).
Esta tecnología ADO.NET es el modelo que utiliza .NET para el acceso a orígenes de
datos como SQL Server y XML de forma nativa y a otros orígenes a través de OLE DB y
ODBC.
Los principales componentes de ADO .NET son los proveedores de datos .NET
Framework y DataSet. Sus características son las siguientes:
2. Sincronizar el origen de datos con las modificaciones realizadas sobre los datos.
Flujo de datos
Flujo de datos
Flujo de datos
Proveedores de datos .NET Framework. Sirven para realizar las tareas principales del
procesamiento de datos:
a) Conectarse a una base de datos.
b) Ejecutar comandos.
c) Recuperar información.
Proveedor de
datos.NET Espacio de nombres Descripción
Framework
Proporciona acceso a datos para
SQL Server System.Data.SqlClient Microsoft SQL Server.
En este tema conocerás a detalle la tecnología propuesta por Microsoft para la obtención
y gestión de información (ADO .NET). La importancia de aprender esta tecnología radica
principalmente en que es muy común encontrarse con la necesidad de obtener y trabajar
con datos que se encuentran en diferentes fuentes, como archivos o bases de datos;
mediante ADO.NET es posible desarrollar aplicaciones que trabajen con diferentes
orígenes de datos.
Los objetos que conforman ADO. NET se explicarán en los siguientes subtemas.
1.2.1. DataReaders
Como se mencionó en los temas 1.2.1 DataSets y 1.2.2 DataAdapters, los DataSets
comprenden una representación offline de los datos y en este tema se abordarán los
DataReaders que son una alternativa más eficiente cuando no se requiere trabajar con
grandes volúmenes de información o recurrencia de usuarios (Gómez, 2010).
En el supuesto caso de que un sistema requiera leer una gran cantidad de registros y que
esta petición se realice por muchos usuarios de manera recurrente, si se carga esta
información en DataSets, se estará sobresaturando la memoria con muchos datos. Ante
este tipo de situaciones es más eficiente emplear un objeto DataReader pues está
diseñado para generar un flujo de sólo lectura y sólo hacia delante, de tal manera que
únicamente almacena un registro en memoria cada vez en el servidor.
datos, la puede recorrer hacia atrás y hacia adelante, mientras que un DataReader
únicamente lee y recorre los datos hacia adelante, registro por registro, consumiendo
menos recursos del servidor.
Try
objConn.Open
Dim dr as SqlDataReader
dr = cmdTbProveedores.ExecuteReader()
Do While dr.Read()
TextCta.Text = dr.Items(“NumCta”)
TextNombre.Text = dr.Items(“Nombre”)
TextPaterno.Text = dr.Items(“APaterno”)
Loop
5. Se cierra el DataReader:
dr.Close()
6. Se cierra la conexión:
objConn.Close()
Catch (e as Exception)
MsgBox(e.message)
End Try
En este subtema se expuso el uso del objeto DataReader para identificar en qué
situaciones es más conveniente utilizar uno u otro modelo de recuperación y modificación
de datos. Es necesario que continúes con el desarrollo de la unidad donde se explicarán
los demás modelos: DataAdapters y DataSets.
1.2.2. DataAdapters
Para comprender mejor este proceso se explicará a continuación paso por paso:
1. El DataAdapter establece una conexión con el origen de los datos. En este paso
también se crean y llenan las DataTables.
3. Se hace un llamado al método GetChanges para crear un segundo DataSet con los
datos modificados.
5. Se hace un llamado al método Merge para sincronizar los datos del segundo
DataSet con los del original.
6. Se hace un llamado al método AcceptChanges del DataSet para aceptar los cambios
o rechazarlos con RejectChanges.
Se puede decir que trabajando de manera conjunta, los DataSets y los DataAdapters se
lleva a cabo el proceso de recuperación y modificación de datos con ADO .NET.
1.2.3. DataSets
DataSet es un objeto esencial para trabajar con datos desconectados (offline) mediante
ADO .NET (Gómez, 2010). Es posible imaginar al objeto DataSet como una
representación virtual almacenada en la memoria que proporciona un modelo de
programación relacional independiente del origen de datos. Recuerda que es posible
utilizar muchos y distintos orígenes de datos como bases de datos, archivos XML, etc.
Esta representación comprende tablas relacionadas, constraints y las relaciones
existentes entre las tablas.
DataTableCollection. Cada objeto DataSet contiene una colección de cero o más objetos
DataTable los cuales representan una tabla, de tal manera que una DataTableCollection
contiene a todos los objetos DataTable.
Cada DataTable representa a una única tabla de datos residentes en memoria y contiene
a su vez los siguientes elementos:
4. Se carga el DataSet (dst) con los datos consumidos por el DataAdapter (da):
da.Fill(dst)
En este tema se expuso la forma en la que es posible trabajar con conexiones a orígenes
de datos de manera offline, para después sincronizar y actualizar uno o varios orígenes
de datos. Se puede decir a manera de conclusión que los DataAdapters son el
complemento de los DataSets, pues el uno depende directamente del otro para efectuar
su labor.
En este tema se desarrollaron varios conceptos básicos del acceso a datos en .NET, pues
gracias a los DataSets y los diferentes objetos que lo conforman es posible recuperar
información de un cierto origen de datos y presentarla para su gestión.
Es importante mencionar también que ADO .NET es 100% compatible con XML, por esta
razón es posible llenar un DataSet a través de XML. La información que se cargue con
XML al DataSet será capaz de combinarse con otros datos ya cargados en el mismo.
En este proyecto vas a cubrir los requerimientos de una organización que incluye
procesos que ayudarás a mejorar con tu aplicación y que son la base de todo sistema de
información: altas, bajas, cambios y consulta de información, de tal manera que este
desarrollo te servirá de mucho en tu carrera profesional pues este tipo de procesos son
muy comunes en el desarrollo de software.
Como se mencionó anteriormente, para realizar una conexión, el primer paso es crear la
base de datos para poder lograr la conexión desde .NET. En este capítulo se ilustrará con
un ejemplo la forma en que se analizan y exponen los requerimientos de conexión
mediante .NET.
1. Dar de alta a sus proveedores almacenando la siguiente información por cada uno:
• Nombre de la empresa
• Razón social
• RFC
• Nombre completo del contacto o ejecutivo
• Correo electrónico
• Página web
• Teléfono
• Dirección (calle, número, colonia, delegación o municipio, estado, país)
• Servicios (muebles, electrónica, línea blanca, ropa mujer, ropa hombre, deportes)
4. Finalmente es necesario que la aplicación cuente con los mecanismos necesarios para
poder eliminar de la base de datos a algún proveedor.
En este tema se han expuesto los puntos principales del requerimiento de los “Almacenes
Cozumel”, mismos que vas a desarrollar a lo largo del curso hasta crear una aplicación
que los pueda cubrir al 100%.
El primer paso consiste en analizar los requerimientos antes expuestos y diseñar una
propuesta de solución a los mismos que incluya una base de datos relacional.
En una base de datos no puede haber tablas individuales, todas ellas deben tener
relación; para llevar a cabo esta relación debes tener en cuenta lo que es una llave
primaria (primary key, sus siglas son PK) y una llave foránea (foreign key, sus siglas son
FK), estos términos los viste en tus materias de base de datos.
Cada tabla tendrá su propia llave primaria, en el caso de País será Clave_pais y para
Estado será Clave_estado. Para llevar a cabo la relación entre estas dos tablas debes
tener en cuenta que un estado pertenece a un país, por lo tanto, País le hereda su llave
primaria a la tabla Estado, cuando se hace esto la llave primaria o PK que se hereda se
asigna como campo a la otra tabla, se respeta el mismo nombre que sería Clave_pais y
pasa a ser su llave foránea o FK, con esto estarás haciendo una relación entre dos tablas
y visualmente se vería como en la siguiente figura:
Siguiendo el subtema 1.3.1. Análisis del caso de estudio, para el caso de proveedores se
requiere contar con la siguiente información:
• Nombre de la empresa
• Razón social
• RFC
• Nombre completo del contacto o ejecutivo
• Correo electrónico
• Página web
• Teléfono
• Dirección (calle, número, colonia, delegación o municipio, estado, país)
• Servicios (muebles, electrónica, línea blanca, ropa mujer, ropa hombre, deportes)
Para ello se deberá realizar una tabla llamada proveedores y la información solicitada en
los requerimientos pasará a ser un campo de la tabla proveedores la cual quedaría de la
siguiente manera:
PROVEEDORES
Clave_proveedor PK
razon_social
rfc
nombre_contacto
correo_electronico
pagina_web
telefono
direccion
servicios
En código de MySQL, que es el motor de base de datos que ocuparás para crear la base
de datos y hacer la conexión con .NET, sería el siguiente:
En conclusión, con esta tabla podrás realizar ya los requerimientos que se te soliciten en
un caso. Debes tomar en cuenta que muchos términos que se vieron en este subtema los
viste en tus materias de Administración y diseño de bases de datos, en este apartado se
expone el ejemplo para que observes la forma de crear tu base de datos y tus tablas y
con ello puedas realizar la conexión con .NET.
Cierre de la unidad
En esta unidad se expusieron las bases necesarias para poder avanzar en las siguientes
unidades hacia el desarrollo de un proyecto, debido a que con los temas vistos ya podrás
vincular tus aplicaciones desarrolladas con .NET y una base de datos. Recuerda que la
mejor manera de aprender y comprender estos temas es practicar.
Vuelve a repasar la información de esta unidad 1 Conexión con bases de datos y practica
la programación de archivos de conexión, esto te ayudará a comprender mejor la
importancia de esta primera unidad y te facilitará la aplicación de estos conocimientos
para mejorar tus habilidades en el desarrollo de software y en la utilización de estos
recursos de conexión mediante .NET.
Es muy recomendable que consultes este centro de recursos debido a que es publicado
por la misma compañía que desarrollo la tecnología .NET y aquí podrás encontrar lo
último en información relacionada a Visual Basic .NET.
Al igual que Microsoft, el sitio de MYSQL Dev. ofrece también el sitio web Developer
Zone, donde encontrarás los mejores recursos e información sobre este manejador.
https://dev.mysql.com/
Fuentes de consulta
• Durán, L. (2007). Bases de Datos con Visual Basic. España: Marcombo, Ediciones
Técnicas.
• MSDN, Microsoft Developer Network (2013 b). Datasets de ADO.NET. [En línea]
https://docs.microsoft.com/es-es/dotnet/framework/data/adonet/ado-net-
datasets?redirectedfrom=MSDN
• MSDN, Microsoft Developer Network (2013 c). Microsoft OLE DB. [En línea]
http://msdn.microsoft.com/en-
us/library/windows/desktop/ms722784%28v=vs.85%29.aspx
• Ramírez, J. F., (2005). Aprenda Practicando Visual Basic 2005 usando Visual
Studio 2005. México: Pearson Educación.