UNIVERSIDAD POLITÉCNICA AMAZÓNICA
Ingeniería de Sistemas
ADO.NET
DOCENTE : Marco Aurelio Porro Chulli
ASIGNATURA : Laboratorio de Programación III.
CICLO : VII "A"
INTEGRANTES :
- Vicente Wualdir Alberca Rojas.
- Yenny Isabel Cuello Moron.
ADO.NET
1.
Contenido
Ø Definición
ADO.NET es
un conjunto de clases que exponen servicios de acceso a datos para
programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para
la creación de aplicaciones de uso compartido de datos distribuidas. Constituye
una parte integral de NET Framework y proporciona acceso a datos relacionales,
XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo,
como la creación de clientes de base de datos front-end y objetos empresariales
de nivel medio que utilizan aplicaciones, herramientas, lenguajes o
exploradores de Internet.
ADO.NET proporciona acceso
coherente a orígenes de datos como SQL Server y XML, así como a orígenes de
datos expuestos mediante OLE DB y ODBC. Las aplicaciones de consumidor que comparten datos pueden
utilizar ADO.NET para conectar a estos orígenes de datos y recuperar, controlar
y actualizar los datos contenidos.
ADO.NET separa el acceso de
la manipulación de los datos en componentes discretos que se pueden utilizar
por separado o conjuntamente. ADO.NET incluye proveedores de datos .NET Framework para
conectarse a una base de datos, ejecutar comandos y recuperar resultados. Los resultados, o bien, se procesan directamente, o bien,
se colocan en un objeto DataSet de
ADO.NET con el fin de exponerlos al usuario para un propósito específico,
combinados con datos de varios orígenes, o de pasarlos entre niveles.
ADO.NET proporciona
funcionalidad a los desarrolladores que escriben código administrado similar a
la funcionalidad que los objetos ADO (ActiveX Data Objects) proporcionan a los
desarrolladores de modelo de objetos componentes (COM) nativo. Se recomienda utilizar
ADO.NET, y no ADO, para obtener acceso a datos de aplicaciones .NET.
ADO.NET proporciona el
método más directo de acceso a datos de .NET Framework. Para obtener una
abstracción de nivel más alto que permita que las aplicaciones funcionen en un modelo
conceptual en vez de en el modelo de almacenamiento subyacente, vea ADO.NET Entity Framework.
Ø
CARACTERISTICAS GENERALES ADO.NET
aprovecha la eficacia de XML para proporcionar
acceso a datos sin mantener una conexión abierta. ADO.NET y las clases de XML
incluidas en .NET Framework convergen en el objeto DataSet. El DataSet se puede
llenar con datos procedentes de un origen XML, ya sea éste un archivo o una
secuencia XML. El DataSet se puede escribir como XML compatible con el del
Consorcio World Wide Web (W3C), incluyendo su esquema como esquema XSD
(Lenguaje de definición de esquemas XML), independientemente del origen de los
datos incluidos en el DataSet. Puesto que el formato nativo de serialización
del DataSet es XML, es un medio excelente para mover datos de un nivel a otro,
por lo que el DataSet es idóneo para utilizar datos y contextos de esquemas de
interacción remota desde y hacia un servicio Web XML. Los componentes de
ADO.NET están diseñados para separar el acceso a datos de la manipulación de
datos. ADO.NET tiene dos componentes principales que cumplen esta función: el
DataSet y el proveedor de datos de .NET Framework, que es un conjunto de
componentes entre los que se incluyen los objetos Connection, Command,
DataReader y DataAdapter.
Ø ARQUITECTURA
ADO.NET
consiste en dos partes primarias:
Data provider
Estas
clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server y Oracle.
Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero
cada uno tienen un conjunto común de clases de utilidad:
· Connection:
Proporciona una conexión usada para comunicarse con la fuente de datos. También
actúa como Abstract Factory para los
objetos command.
· Command:
Usado para realizar alguna acción en la fuente de datos, como lectura,
actualización, o borrado de datos relacionales.
· Parameter:
Describe un simple parámetro para un command. Un ejemplo común es
un parámetro para ser usado en un procedimiento
almacenado.
· DataAdapter:
"Puente" utilizado para transferir data entre una fuente de datos y
un objeto DataSet (ver abajo).
· DataReader:
Es una clase usada para procesar eficientemente una lista grande de resultados,
un registro a la vez.
DataSets
Los
objetos DataSets, son un grupo de clases que describen una simple base de datos relacional en
memoria, fueron la estrella del show en el lanzamiento inicial (1.0) del
Microsoft .NET Framework. Las clases forman una jerarquía de contención:
· Un
objeto DataSet representa un esquema (o una base de datos
entera o un subconjunto de una). Puede contener las tablas y las relaciones
entre esas tablas.
· Un
objeto DataTable representa una sola tabla en la base de
datos. Tiene un nombre, filas, y columnas.
· Un
objeto DataView "se sienta sobre" un DataTable y
ordena los datos (como una cláusula "order by" de SQL) y, si se
activa un filtro, filtra los registros (como una cláusula "where" del
SQL). Para facilitar estas operaciones se usa un índice en memoria. Todas las
DataTables tienen un filtro por defecto, mientras que pueden ser definidos
cualquier número de DataViews adicionales, reduciendo la interacción con la
base de datos subyacente y mejorando así el desempeño.
· Un DataColumn representa
una columna de la tabla, incluyendo su nombre y tipo.
· Un
objeto DataRow representa una sola fila en la tabla, y permite
leer y actualizar los valores en esa fila, así como la recuperación de
cualquier fila que esté relacionada con ella a través de una relación de clave
primaria - clave extranjera.
· Un DataRowView representa
una sola fila de un DataView, la diferencia entre un DataRow y el DataRowView
es importante cuando se está interactuando sobre un resultset.
· Un DataRelation es
una relación entre las tablas, tales como una relación de clave primaria -
clave ajena. Esto es útil para permitir la funcionalidad del DataRow de
recuperar filas relacionadas.
· Un Constraint describe
una propiedad de la base de datos que se debe cumplir, como que los valores en
una columna de clave primaria deben ser únicos. A medida que los datos son
modificados cualquier violación que se presente causará excepciones.
Un
DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades
Connection y Command que han sido iniciados. Sin embargo, un DataSet puede
guardar su contenido a XML (opcionalmente con un esquema XSD), o llenarse a sí
mismo desde un XML, haciendo esto excepcionalmente útil para los servicios web,
computación distribuida, y aplicaciones ocasionalmente conectadas
desconectados.
Ø DataSet
El DataSet de ADO.NET está expresamente diseñado para el
acceso a datos independientemente de cualquier origen de datos. Como
resultado, se puede utilizar con múltiples y distintos orígenes de datos, con
datos XML o para administrar datos locales de la aplicación. DataSet contiene una colección de uno o más objetos DataTable formados
por filas y columnas de datos, así como claves principales, claves externas,
restricciones e información de la relación sobre los datos incluidos en los
objetos DataTable. Para obtener más información, consulta DataSets, DataTables y DataViews.
En el diagrama siguiente se
ilustra la relación entre un proveedor de datos .NET Framework y un DataSet.
Ø Elegir un DataReader
o un DataSet
A la hora de decidir si su
aplicación debe utilizar un DataReader (vea Recuperar datos mediante DataReader) o un DataSet (vea DataSets,
DataTables y DataViews), debe tener en cuenta el tipo de funcionalidad que
su aplicación requiere. Use un DataSet para hacer lo siguiente:
· Almacene datos en la memoria
caché de la aplicación para poder manipularlos. Si solamente necesita leer los
resultados de una consulta, el DataReader es
la mejor elección.
· Utilizar datos de forma
remota entre un nivel y otro o desde un servicio Web XML.
· Interactuar con datos
dinámicamente, por ejemplo, para enlazar con un control de Windows Forms o para
combinar y relacionar datos procedentes de varios orígenes.
· Realizar procesamientos
exhaustivos de datos sin necesidad de tener una conexión abierta con el origen
de datos, lo que libera la conexión para que la utilicen otros clientes.
Si no necesita la
funcionalidad proporcionada por el DataSet, puede mejorar el rendimiento de su aplicación si
utiliza el DataReader para devolver sus
datos de solo avance y de solo lectura. Aunque DataAdapter utiliza DataReader para rellenar el contenido de un DataSet (vea Rellenar un conjunto de datos desde un objeto DataAdapter), al utilizar el DataReader puede mejorar el rendimiento porque no usará la
memoria que utilizaría el DataSet, además de evitar el
procesamiento necesario para crear y rellenar el contenido de DataSet.
Ø Clases de
ADO.NET
· System.Data:
clases genéricas de datos de ADO .NET, integra la gran mayoría de clases que
habilitan el acceso a los datos de la arquitectura .NET.
· System.Data.SqlClient:
clases del proveedor de datos de SQL Server, permiten el acceso a proveedores SQL
Server en su versión 7.0 y superior.
· System.Data.OleDb:
clases del proveedor de datos de OleDB, permiten el acceso a proveedores .NET
que trabajan directamente contra controladores basados en los ActiveX de
Microsoft.
· System.Data.SqlTypes:
definición de los tipos de datos de SQL Server, proporciona la
encapsulación en clases de todos los tipos de datos nativos de SQL Server y
sus funciones de manejo de errores, ajuste y conversión de tipos,
etc.
· System.Data.Common:
clases base, reutilizables de ADO .NET, proporcionan la colección de clases
necesarias para acceder a una fuente de datos (como por ejemplo una Base de
Datos).
· System.Data.Internal:
integra el conjunto de clases internas de las que se componen los proveedores
de datos.
Dentro del espacio de nombres System.Data encontramos
las clases compartidas que constituyen el eje central de ADO.NET, y son las
siguientes:
· DataSet:
almacén de datos por excelencia en ADO .NET. Representa una base de datos
desconectada del proveedor de datos. Almacena tablas y sus relaciones.
· DataTable:
un contenedor de datos. Estructurado como un conjunto de filas (DataRow) y
columnas(DataColumn).
· DataRow:
registro que almacena n valores. Representación en ADO .NET de una fila de
una tabla de la base de datos.
· DataColumn:
contiene la definición de una columna. Metadatos y datos asociados a su dominio.
· DataRelation:
enlace entre dos o más columnas iguales de dos o más tablas.
· Constraint:
reglas de validación de las columnas de una tabla.
· DataColumnMapping:
vínculo lógico existente entre una columna de un objeto del DataSet y la
columna física de la tabla de la base de datos.
· DataTableMapping:
vínculo lógico existente entre una tabla del DataSet y la tabla física de la
base de datos.
Además de estas clases, existe otro grupo de
clases, las clases específicas de un proveedor de datos. Estas clases forman
parte de lo específico de un fabricante de proveedores de datos .NET. Tienen
una sintaxis de la forma XxxClase donde "Xxx" es un prefijo que
determina el tipo de plataforma de conexión a datos. Se definen en dos
NameSpaces: System.Data.SqlClient y System.Data.OleDb.
SqlCommand Clases que representan un comando SQL contra un
OleDbCommand sistema gestor de datos.
SqlCommandBuilder Generador de comandos SQL de inserción,
modificación y OleDbCommandBuilder borrado desde una consulta SQL de selección de
datos.
SqlDataReader Un lector de datos de sólo avance, conectado a la base
de OleDbDataReader datos.
SqlDataAdapter Clase adaptadora entre un objeto DataSet y sus
OleDbDataAdapter operaciones físicas
en la base de datos (select,insert,update y delete).
SqlParameter Define los parámetros empleados en la llamada a
OleDbParameter procedimientos almacenados.
SqlTransaction Gestión de
las transacciones a realizar en la base de datos.
Ø EJEMPLO DE
ADO.NET
Ejemplos de
Entity Framework
En
los listados de código siguientes se muestra cómo recuperar los datos de un
origen de datos consultando las entidades de un Entity Data Model
(EDM). Estos ejemplos utilizan la modelo de Northwind. Para
obtener más información, consulte Introducción a Entity Framework.
LINQ to Entities
El
código de este ejemplo usa una consulta LINQ para devolver los datos como
objetos Categorías, que se proyectan como un tipo anónimo que contiene solo las
propiedades CategoryID y CategoryName. Para obtener más información,
consulte LINQ to Entities información general sobre.
Option Explicit On
Option Strict On
Imports System
Imports System.Linq
Imports System.Data.Objects
Imports NorthwindModel
Class LinqSample
Public Shared Sub ExecuteQuery()
Using context As NorthwindEntities = New NorthwindEntities()
Try
Dim query = From category In context.Categories _
Select New With _
{ _
.categoryID = category.CategoryID, _
.categoryName = category.CategoryName _
}
For Each categoryInfo In query
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _
categoryInfo.categoryID, categoryInfo.categoryName)
Next
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
End Sub
End Class
ObjectQuery con establecimiento de tipos
El
código de este ejemplo utiliza un ObjectQuery<> </> > para
devolver datos como objetos Categorías. Para obtener más información,
consulte consultas de objeto.
Option Explicit On
Option Strict On
Imports System
Imports System.Data.Objects
Imports NorthwindModel
Class ObjectQuerySample
Public Shared Sub ExecuteQuery()
Using context As NorthwindEntities = New NorthwindEntities()
Dim categoryQuery As ObjectQuery(Of Categories) = context.Categories
For Each category As Categories In _
categoryQuery.Execute(MergeOption.AppendOnly)
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _
category.CategoryID, category.CategoryName)
Next
End Using
End Sub
End Class
EntityClient
El
código de este ejemplo utiliza un EntityCommand para
ejecutar una consulta de Entity SQL. Esta consulta devuelve una lista de
registros que representan instancias del tipo de entidad
Categories. Un EntityDataReader se
utiliza para tener acceso a registros de datos en el conjunto de
resultados. Para obtener más información, consulte proveedor
de EntityClient para Entity Framework.
Option Explicit On
Option Strict On
Imports System
Imports System.Data
Imports System.Data.Common
Imports System.Data.EntityClient
Imports NorthwindModel
Class EntityClientSample
Public Shared Sub ExecuteQuery()
Dim queryString As String = _
"SELECT c.CategoryID, c.CategoryName " & _
"FROM NorthwindEntities.Categories AS c"
Using conn As EntityConnection = _
New EntityConnection("name=NorthwindEntities")
Try
conn.Open()
Using query As EntityCommand = _
New EntityCommand(queryString, conn)
Using rdr As DbDataReader = _
query.ExecuteReader(CommandBehavior.SequentialAccess)
While rdr.Read()
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _
rdr(0), rdr(1))
End While
End Using
End Using
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
End Sub
End Class
2. Resumen
ADO.NET es un conjunto de clases que exponen servicios de
acceso a datos para programadores de .NET Framework. ADO.NET ofrece abundancia
de componentes para la creación de aplicaciones de uso compartido de datos
distribuidas.
Arquitectura
ADO.NET
consiste en dos partes primarias:
·
Data
provider
·
DataSets
DATA SET
El DataSet de ADO.NET está expresamente diseñado
para el acceso a datos independientemente de cualquier origen de datos.
DataSet contiene
una colección de uno o más objetos DataTable formados
por filas y columnas de datos, así como claves principales, claves externas,
restricciones e información de la relación sobre los datos incluidos en los
objetos DataTable
Clases de ADO.NET
· System.Data
· System.Data.SqlClient
· System.Data.OleDb
· System.Data.SqlTypes
· System.Data.Common
· System.Data.Internal
· DataSet
· DataTable
· DataRow
·
DataColumn,etc.
3. Summary
ADO.NET is a set of classes
that expose data access services for .NET Framework programmers. ADO.NET offers
an abundance of components for creating distributed data sharing applications.
Architecture
ADO.NET consists of two
primary parts:
• Data provider
• DataSets
DATE SET
The ADO.NET DataSet is
expressly designed for data access regardless of any data source.
DataSet contains a collection
of one or more DataTable objects formed by rows and columns of data, as well as
primary keys, foreign keys, constraints, and relationship information about the
data included in DataTable objects.
ADO.NET Classes
• System.Data
• System.Data.SqlClient
• System.Data.OleDb
• System.Data.SqlTypes
• System.Data.Common
• System.Data.Internal
• DataSet
• DataTable
• DataRow
• DataColumn, etc.
4. Recomendaciones
· Para usar un conjunto de datos, se crea una instancia del
mismo y, a continuación, se usa un adaptador de datos para rellenarlo desde el
origen de datos. Posteriormente, se trabaja con los datos del conjunto de
datos, por ejemplo, enlazando controles con los miembros de dicho conjunto.
· Una estrategia alternativa consiste en realizar
operaciones directamente en la base de datos. En este modelo, se usa una
consulta de TableAdapter o un comando de datos que incluye una instrucción SQL
o una referencia a un procedimiento almacenado.
· En ADO.NET se supone que hay un modelo de acceso a datos
en el que se puede abrir una conexión, obtener datos o realizar una operación y
cerrar luego la conexión. ADO.NET proporciona dos estrategias básicas de
trabajo con este modelo. Una de ellas consiste en almacenar datos en un
conjunto de datos, que es una caché almacenada en memoria de los registros con
los que se puede trabajar mientras se está desconectado del origen de datos.
5. Conclusiones
· ADO .NET ha permitido que el almacenaje y recuperación de
información en bases de datos SQLServer sea sencillo, de forma que se pueda
acceder a esta información previamente guardada sin necesidad de ejecutar la
aplicación.
· ADO .NET está
diseñado para fundamentarse en la fuerza del modelo de programación de ADO,
mientras que provee una evolución en la tecnología de acceso a datos para
responder a las necesidades cambiantes del desarrollador. Está diseñado para
fortalecer tus conocimientos de ADO, mientras que provee un control más fino
sobre los componentes, recursos y comportamiento de tu aplicación cuando accede
y trabaja con datos.
· ADO .NET está diseñado para fundamentarse en la fuerza
del modelo de programación de ADO, mientras que provee una evolución en la
tecnología de acceso a datos para responder a las necesidades cambiantes del
desarrollador.
· ADO.NET, es una base de datos versátil y eficiente de la
tecnología de acceso a gerente. NET, que facilitan y maximizar el desarrollo de
aplicaciones con acceso a bases de mucho más rápidamente y con mejor
rendimiento.
6. Apreciación del Equipo
· ADO.NET proporciona acceso coherente a orígenes de datos
como SQL Server y XML, así como a orígenes de datos expuestos mediante OLE DB y
ODBC. Las aplicaciones de consumidor que comparten datos pueden utilizar
ADO.NET para conectar a estos orígenes de datos y recuperar, controlar y
actualizar los datos contenidos.
· ADO.NET incluye proveedores de datos .NET Framework
para conectarse a una base de datos, ejecutar comandos y recuperar resultados.
Los resultados, o bien, se procesan directamente, o bien, se colocan en un
objeto DataSet de ADO.NET con el fin de exponerlos al usuario para un propósito
específico, combinados con datos de varios orígenes, o de pasarlos entre
niveles.
· ADO.NET separa el acceso de la manipulación de los datos
en componentes discretos que se pueden utilizar por separado o conjuntamente.
ADO.NET incluye proveedores de datos .NET.
· Las aplicaciones de desarrollo hoy, ya es normal que se
conectará a una base de datos, ejemplos comerciales que tenemos en nuestras
narices, especialmente en internet (Google, Facebook, correo electrónico,
etc.), usan la base de datos de gran volumen. Por esta razón se considera
importante tener desarrollo entorno como NET y por lo tanto, ADO.NET, que es
una base de datos versátil y eficiente de la tecnología de acceso a gerente.
NET, que facilitan y maximizar el desarrollo de aplicaciones con acceso a bases
de mucho más rápidamente y con mejor rendimiento.
7. Glosario de Términos
NET Framework:NET Framework es un componente integral de Windows que
admite la compilación y la ejecución de la siguiente generación de aplicaciones
y servicios Web.
La encapsulación:
es un mecanismo que consiste en
organizar datos y métodos de una estructura, conciliando el modo en que el
objeto se implementa, La definición más concreta de los metadatos es “datos
acerca de los datos” y sirven para suministrar información sobre los datos
producidos.
Encapsulamiento
(informática): En
programación modular, y más específicamente en programación orientada a
objetos, se denomina encapsulamiento al ocultamiento del estado.
XML:
es un Lenguaje de Etiquetado Extensible
muy simple, pero estricto que juega un papel fundamental en el intercambio de
una gran variedad de datos.
Open DataBase
Connectivity (ODBC): es un estándar de acceso a las bases de datos
desarrollado por SQL Access Group (SAG) en 1992. El objetivo de ODBC es hacer
posible el acceder a cualquier dato desde cualquier aplicación, sin importar
qué sistema de gestión de bases de datos (DBMS) almacene los datos.
OLE
DB: (algunas veces escrito como
OLEDB u OLE-DB) es la sigla de Object Linking and Embedding for Databases
("Enlace e incrustación de objetos para bases de datos") y es una
tecnología desarrollada por Microsoft usada para tener acceso a diferentes
fuentes de información, o bases de datos, de manera uniforme.
8. Linkografías
AQUÍ LES DEJO EL LINK DE LAS DIAPOSITIVAS
No hay comentarios:
Publicar un comentario