SlideShare una empresa de Scribd logo
1 de 22
ADO.NET
DEFINICIÓN:
ADO.NET es un conjunto de componentes del software que pueden ser usados por los
programadores para acceder a datos y a servicios de datos. Es parte de la biblioteca de
clases base que están incluidas en el Microsoft .NET Framework. Es comúnmente
usado por los programadores para acceder y para modificar los datos almacenados en
un Sistema Gestor de Bases de Datos Relacionales, aunque también puede ser usado
para acceder a datos en fuentes no relacionales. ADO.NET es a veces considerado
como una evolución de la tecnología ActiveX Data Objects (ADO), pero fue cambiado
tan extensivamente que puede ser concebido como un producto enteramente nuevo.
Información General:
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. El objeto DataSet de ADO.NET también puede utilizarse independientemente
de un proveedor de datos .NET Framework para administrar datos que son locales de
la aplicación o que proceden de un origen XML.
Las clases de ADO.NET se encuentran en System.Data.dll y se integran con las clases
de XML incluidas en System.Xml.dll.
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.
ARQUITECTURA DE ADO.NET:
Tradicionalmente, el procesamiento de datos ha dependido principalmente de un
modelo de dos niveles basado en una conexión. A medida que aumenta el uso que
hace el procesamiento de datos de arquitecturas de varios niveles, los programadores
están pasando a un enfoque sin conexión con el fin de proporcionar una mejor
escalabilidad a sus aplicaciones.
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.
Los proveedores de datos .NET Framework son componentes diseñados explícitamente
para la manipulación de datos y el acceso rápido a datos de solo lectura y solo avance.
El objeto Connection proporciona conectividad a un origen de datos. El objeto
Command permite tener acceso a comandos de base de datos para devolver datos,
modificar datos, ejecutar procedimientos almacenados y enviar o recuperar información
sobre parámetros. DataReader proporciona un flujo de datos de alto rendimiento desde
el origen de datos. Por último, el objeto DataAdapter proporciona el puente entre el
objeto DataSet y el origen de datos. DataAdapter utiliza objetos Command para ejecutar
comandos SQL en el origen de datos tanto para cargar DataSet con datos y reconciliar
en el origen de datos los cambios aplicados a los datos incluidos en el DataSet.
Para obtener más información, vea Proveedores de datos .NET Framework y
Recuperación y modificación de datos en ADO.NET.
 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.
El DataSet de ADO.NET es una representación de datos residente en memoria que
provee un modelo de programación relacional consistente e independiente al origen de
datos que contiene. Un DataSet representa un conjunto completo de datos, incluyendo
las tablas que contienen, ordenan y restringen los datos, así como las relaciones entre
las tablas.
Hay varias maneras de trabajar con un DataSet, que se pueden aplicar de forma
independiente o conjuntamente. Puede realizar lo siguiente:
• Crear mediante programación una DataTable, DataRelation y una Constraint en un
DataSet y rellenar las tablas con datos.
• Llenar el DataSet con tablas de datos de un origen de datos relacional existente
mediante DataAdapter.
• Cargar y hacer persistente el contenido de DataSet mediante XML. Para obtener
más información, consulta Utilizar XML en un DataSet.
También se puede transportar un DataSet fuertemente tipado mediante un servicio Web
XML. El diseño del DataSet lo convierte en idóneo para el transporte de datos mediante
servicios Web XML. Para obtener información general sobre servicios Web XML, vea
XML Web Services Overview. Para ver un ejemplo de cómo utilizar un DataSet de un
servicio Web XML, vea Consumir DataSet a partir de un servicio Web XML.
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.
Los conjuntos definen relaciones N:N entre registros: varios propietarios, varios
miembros. Un registro puede ser un propietario de varios conjuntos, y miembro en
cualquier número de conjuntos.
El modelo en red es una generalización del modelo jerárquico, en tanto está construido
sobre el concepto de múltiples ramas (estructuras de nivel inferior) emanando de uno o
varios nodos (estructuras de nivel alto), mientras el modelo se diferencia del modelo
jerárquico en que las ramas pueden estar unidas a múltiples nodos. El modelo de red
es capaz de representar la redundancia en datos de una manera más eficiente que en
el modelo jerárquico.
Las operaciones del modelo de red se realizan por de navegación: un programa
mantiene la posición actual, y navega entre registros siguiendo las relaciones entre
ellos. Los registros también pueden ser localizados por valores claves.
Aunque no es una característica esencial del modelo, las bases de datos en red
implementan sus relaciones mediante punteros directos al disco. Esto da una
velocidad de recuperación excelente, pero penaliza las operaciones de carga y
reorganización.
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).
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.
EJEMPLOS DE ADO.NET:
Los listados de código de este tema muestran cómo recuperar datos de una base de
datos utilizando las tecnologías ADO.NET siguientes:
Proveedores de datos ADO.NET:
• SqlClient (System.Data.SqlClient)
• OleDb (System.Data.OleDb)
• Odbc (System.Data.Odbc)
• OracleClient (System.Data.OracleClient)
A continuación, se muestra una sencilla aplicación de ADO.NET que devuelve resultados
desde un origen de datos y los escribe en la consola o en el símbolo del sistema.
a)
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class Program
Public Shared Sub Main()
Dim connectionString As String = GetConnectionString()
Dim queryString As String = _
"SELECT CategoryID, CategoryName FROM dbo.Categories;"
Using connection As New SqlConnection(connectionString)
Dim command As SqlCommand = connection.CreateCommand()
command.CommandText = queryString
Try
connection.Open()
Dim dataReader As SqlDataReader = _
command.ExecuteReader()
Do While dataReader.Read()
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _
dataReader(0), dataReader(1))
Loop
dataReader.Close()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
End Sub
Private Shared Function GetConnectionString() As String
' To avoid storing the connection string in your code,
' you can retrieve it from a configuration file.
Return "Data Source=(local);Initial Catalog=Northwind;" _
& "Integrated Security=SSPI;"
End Function
End Class
b)
Imports System
Imports System.Data
Imports System.Data.SqlClientPublic Class Sample
Imports Microsoft.VisualBasic
Public Class Sample
Public Shared Sub Main()
Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;" & _
"Integrated Security=SSPI;Initial Catalog=northwind")
Dim catCMD As SqlCommand = nwindConn.CreateCommand()
catCMD.CommandText = "SELECT CategoryID, CategoryName FROM Categories"
nwindConn.Open()
Dim myReader As SqlDataReader = catCMD.ExecuteReader()
Do While myReader.Read()
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", myReader.GetInt32(0),
myReader.GetString(1))
Loop
myReader.Close()
nwindConn.Close()
End Sub
End Class
RESUMEN:
ADO.NET es la tecnología .NET para interactuar con fuentes de datos. Tiene varios
Data Providers, que permiten la comunicación con diferentes fuentes de datos,
dependiendo de los protocolos que utilizan o de la base de datos.
Independientemente de cuál sea el proveedor de datos que utilice, utilizará un
conjunto similar de objetos para interactuar con un origen de datos. El objeto
SqlConnection le permite administrar una conexión a un origen de datos. Los objetos
SqlCommand le permiten hablar con una fuente de datos y enviar comandos a ella.
Para tener acceso rápido de sólo lectura a datos, utilice el SqlDataReader. Si
deseamos trabajar con datos desconectados, utilizaremos un DataSet e
implementaremos la lectura y escritura desde el origen de datos con un
SqlDataAdapter.
SUMMARY:
ADO.NET is .NET technology for interacting with data sources. It has several Data
Providers, which allow communication with different data sources, depending on the
protocols they use or the database. Regardless of which data provider you use, you
will use a similar set of objects to interact with a data source. The SqlConnection
object allows you to manage a connection to a data source. SqlCommand objects
allow you to talk to a data source and send commands to it. For quick read-only
access to data, use the SqlDataReader. If we want to work with disconnected data,
we will use a DataSet and implement the read and write from the data source with a
SqlDataAdapter.
RECOMENDACIONES:
La programación en ADO.NET, ha despertado gran interés y muchas personas se están iniciando en
ella. A pesar de tratarse de una tecnología que facilita enormemente la programación en relación con
las bases de datos, hay algunas dificultades que pueden retrasar el aprendizaje del programador
principiante, entre ellas, aprender el uso adecuado del lenguaje SQL para realizar las tareas
deseadas.
CONCLUSIONES:
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.
En conclusión ADO.NET es un conjunto de los componentes del software que pueden ser usados por
los programadores para accesar a datos y que viene a facilitar mucho la vida del programador.
APRECIACIÓN DEL EQUIPO:
Sabemos que ADO.NET nos permite interactuar con diferentes tipos de fuentes de datos y diferentes
tipos de bases de datos. Sin embargo, no hay un solo conjunto de clases que le permitan lograr esto
universalmente. Dado que diferentes fuentes de datos exponen diferentes protocolos, necesitamos
una forma de comunicarnos con la fuente de datos correcta usando el protocolo correcto. Algunas
fuentes de datos más antiguas utilizan el protocolo ODBC, muchas fuentes de datos más recientes
usan el protocolo OleDb y hay más fuentes de datos todos los días que permiten comunicarse con
ellos directamente a través de las bibliotecas de clases .NET ADO.NET.
ADO.NET proporciona una forma relativamente común de interactuar con fuentes de datos, pero
viene en diferentes conjuntos de bibliotecas para cada modo en que puede hablar con un origen de
datos. Estas bibliotecas se llaman Proveedores de Datos y usualmente se nombran para el tipo de
protocolo o fuente de datos con el que pueden interactuar. La Tabla 1 enumera algunos proveedores
de datos bien conocidos, el prefijo API que utilizan y el tipo de origen de datos con el que permiten
interactuar.

Más contenido relacionado

La actualidad más candente

Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 
Origen de una base de datos
Origen de una base de datosOrigen de una base de datos
Origen de una base de datosNicole Cedeño
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´sDiego Silva Viera
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 
Herramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente ServidorHerramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente ServidorHectlys Piña
 
Arquitectura de las bases de datos
Arquitectura de las bases de datosArquitectura de las bases de datos
Arquitectura de las bases de datosMaria Garcia
 
Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datosMaria Garcia
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasanibalsmit
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSitsl
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 

La actualidad más candente (20)

Bases de datos en red y jerárquicas
Bases de datos en red y jerárquicasBases de datos en red y jerárquicas
Bases de datos en red y jerárquicas
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL) Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL)
 
Origen de una base de datos
Origen de una base de datosOrigen de una base de datos
Origen de una base de datos
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´s
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 
Herramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente ServidorHerramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente Servidor
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Arquitectura de las bases de datos
Arquitectura de las bases de datosArquitectura de las bases de datos
Arquitectura de las bases de datos
 
Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datos
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Bases de datos y sistemas de informacion
Bases de datos y sistemas de informacionBases de datos y sistemas de informacion
Bases de datos y sistemas de informacion
 
Dataset y datatable
Dataset y datatableDataset y datatable
Dataset y datatable
 
Bases de datos NoSQL en entornos Big Data
Bases de datos NoSQL en entornos Big DataBases de datos NoSQL en entornos Big Data
Bases de datos NoSQL en entornos Big Data
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 

Similar a Ado.net (20)

ADO.NET
ADO.NETADO.NET
ADO.NET
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Ado.net
Ado.netAdo.net
Ado.net
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
ADO
ADOADO
ADO
 
Ado.net
Ado.netAdo.net
Ado.net
 
Ochoa ornelas raquel_acceso a una base de datos
Ochoa ornelas raquel_acceso a una base de datosOchoa ornelas raquel_acceso a una base de datos
Ochoa ornelas raquel_acceso a una base de datos
 
Ado.net
Ado.netAdo.net
Ado.net
 
Ado.net
Ado.netAdo.net
Ado.net
 
ADO .net
ADO .netADO .net
ADO .net
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
ADO
ADOADO
ADO
 
Modo conexion manuel
Modo conexion manuelModo conexion manuel
Modo conexion manuel
 
Isangelt lo Hizo!!
Isangelt lo Hizo!!Isangelt lo Hizo!!
Isangelt lo Hizo!!
 
ADO.Net
ADO.NetADO.Net
ADO.Net
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.net
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
visual basic .net
visual basic .netvisual basic .net
visual basic .net
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
 

Más de Lisbeth Ocaña Bueno (20)

OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.
 
COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
CURSORES EN SQL SERVER
CURSORES EN SQL SERVERCURSORES EN SQL SERVER
CURSORES EN SQL SERVER
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
 
VISTAS
VISTASVISTAS
VISTAS
 
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
 
Ejecutables en Netbeans
Ejecutables en NetbeansEjecutables en Netbeans
Ejecutables en Netbeans
 
REPORTES
REPORTESREPORTES
REPORTES
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
OBJETO CONNECTION
OBJETO CONNECTIONOBJETO CONNECTION
OBJETO CONNECTION
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor de Base de Datos.
Gestor de Base de Datos.
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.net
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
JTABLE
JTABLEJTABLE
JTABLE
 
RESULTSET
RESULTSETRESULTSET
RESULTSET
 

Ado.net

  • 1.
  • 2. ADO.NET DEFINICIÓN: ADO.NET es un conjunto de componentes del software que pueden ser usados por los programadores para acceder a datos y a servicios de datos. Es parte de la biblioteca de clases base que están incluidas en el Microsoft .NET Framework. Es comúnmente usado por los programadores para acceder y para modificar los datos almacenados en un Sistema Gestor de Bases de Datos Relacionales, aunque también puede ser usado para acceder a datos en fuentes no relacionales. ADO.NET es a veces considerado como una evolución de la tecnología ActiveX Data Objects (ADO), pero fue cambiado tan extensivamente que puede ser concebido como un producto enteramente nuevo.
  • 3. Información General: 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. El objeto DataSet de ADO.NET también puede utilizarse independientemente de un proveedor de datos .NET Framework para administrar datos que son locales de la aplicación o que proceden de un origen XML.
  • 4. Las clases de ADO.NET se encuentran en System.Data.dll y se integran con las clases de XML incluidas en System.Xml.dll. 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.
  • 5. ARQUITECTURA DE ADO.NET: Tradicionalmente, el procesamiento de datos ha dependido principalmente de un modelo de dos niveles basado en una conexión. A medida que aumenta el uso que hace el procesamiento de datos de arquitecturas de varios niveles, los programadores están pasando a un enfoque sin conexión con el fin de proporcionar una mejor escalabilidad a sus aplicaciones. 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.
  • 6. 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. Los proveedores de datos .NET Framework son componentes diseñados explícitamente para la manipulación de datos y el acceso rápido a datos de solo lectura y solo avance. El objeto Connection proporciona conectividad a un origen de datos. El objeto Command permite tener acceso a comandos de base de datos para devolver datos, modificar datos, ejecutar procedimientos almacenados y enviar o recuperar información sobre parámetros. DataReader proporciona un flujo de datos de alto rendimiento desde el origen de datos. Por último, el objeto DataAdapter proporciona el puente entre el objeto DataSet y el origen de datos. DataAdapter utiliza objetos Command para ejecutar comandos SQL en el origen de datos tanto para cargar DataSet con datos y reconciliar en el origen de datos los cambios aplicados a los datos incluidos en el DataSet.
  • 7. Para obtener más información, vea Proveedores de datos .NET Framework y Recuperación y modificación de datos en ADO.NET.  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
  • 8. 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.
  • 9. 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. El DataSet de ADO.NET es una representación de datos residente en memoria que provee un modelo de programación relacional consistente e independiente al origen de datos que contiene. Un DataSet representa un conjunto completo de datos, incluyendo las tablas que contienen, ordenan y restringen los datos, así como las relaciones entre las tablas. Hay varias maneras de trabajar con un DataSet, que se pueden aplicar de forma independiente o conjuntamente. Puede realizar lo siguiente: • Crear mediante programación una DataTable, DataRelation y una Constraint en un DataSet y rellenar las tablas con datos. • Llenar el DataSet con tablas de datos de un origen de datos relacional existente mediante DataAdapter.
  • 10. • Cargar y hacer persistente el contenido de DataSet mediante XML. Para obtener más información, consulta Utilizar XML en un DataSet. También se puede transportar un DataSet fuertemente tipado mediante un servicio Web XML. El diseño del DataSet lo convierte en idóneo para el transporte de datos mediante servicios Web XML. Para obtener información general sobre servicios Web XML, vea XML Web Services Overview. Para ver un ejemplo de cómo utilizar un DataSet de un servicio Web XML, vea Consumir DataSet a partir de un servicio Web XML. 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.
  • 11. En el diagrama siguiente se ilustra la relación entre un proveedor de datos .NET Framework y un DataSet.
  • 12. Los conjuntos definen relaciones N:N entre registros: varios propietarios, varios miembros. Un registro puede ser un propietario de varios conjuntos, y miembro en cualquier número de conjuntos. El modelo en red es una generalización del modelo jerárquico, en tanto está construido sobre el concepto de múltiples ramas (estructuras de nivel inferior) emanando de uno o varios nodos (estructuras de nivel alto), mientras el modelo se diferencia del modelo jerárquico en que las ramas pueden estar unidas a múltiples nodos. El modelo de red es capaz de representar la redundancia en datos de una manera más eficiente que en el modelo jerárquico. Las operaciones del modelo de red se realizan por de navegación: un programa mantiene la posición actual, y navega entre registros siguiendo las relaciones entre ellos. Los registros también pueden ser localizados por valores claves. Aunque no es una característica esencial del modelo, las bases de datos en red implementan sus relaciones mediante punteros directos al disco. Esto da una velocidad de recuperación excelente, pero penaliza las operaciones de carga y reorganización.
  • 13. 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).
  • 14. 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.
  • 15. EJEMPLOS DE ADO.NET: Los listados de código de este tema muestran cómo recuperar datos de una base de datos utilizando las tecnologías ADO.NET siguientes: Proveedores de datos ADO.NET: • SqlClient (System.Data.SqlClient) • OleDb (System.Data.OleDb) • Odbc (System.Data.Odbc) • OracleClient (System.Data.OracleClient) A continuación, se muestra una sencilla aplicación de ADO.NET que devuelve resultados desde un origen de datos y los escribe en la consola o en el símbolo del sistema. a) Imports System Imports System.Data Imports System.Data.SqlClient Public Class Program Public Shared Sub Main()
  • 16. Dim connectionString As String = GetConnectionString() Dim queryString As String = _ "SELECT CategoryID, CategoryName FROM dbo.Categories;" Using connection As New SqlConnection(connectionString) Dim command As SqlCommand = connection.CreateCommand() command.CommandText = queryString Try connection.Open() Dim dataReader As SqlDataReader = _ command.ExecuteReader() Do While dataReader.Read() Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _ dataReader(0), dataReader(1)) Loop dataReader.Close() Catch ex As Exception Console.WriteLine(ex.Message) End Try End Using End Sub
  • 17. Private Shared Function GetConnectionString() As String ' To avoid storing the connection string in your code, ' you can retrieve it from a configuration file. Return "Data Source=(local);Initial Catalog=Northwind;" _ & "Integrated Security=SSPI;" End Function End Class b) Imports System Imports System.Data Imports System.Data.SqlClientPublic Class Sample Imports Microsoft.VisualBasic Public Class Sample Public Shared Sub Main() Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;" & _ "Integrated Security=SSPI;Initial Catalog=northwind") Dim catCMD As SqlCommand = nwindConn.CreateCommand() catCMD.CommandText = "SELECT CategoryID, CategoryName FROM Categories" nwindConn.Open()
  • 18. Dim myReader As SqlDataReader = catCMD.ExecuteReader() Do While myReader.Read() Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", myReader.GetInt32(0), myReader.GetString(1)) Loop myReader.Close() nwindConn.Close() End Sub End Class
  • 19. RESUMEN: ADO.NET es la tecnología .NET para interactuar con fuentes de datos. Tiene varios Data Providers, que permiten la comunicación con diferentes fuentes de datos, dependiendo de los protocolos que utilizan o de la base de datos. Independientemente de cuál sea el proveedor de datos que utilice, utilizará un conjunto similar de objetos para interactuar con un origen de datos. El objeto SqlConnection le permite administrar una conexión a un origen de datos. Los objetos SqlCommand le permiten hablar con una fuente de datos y enviar comandos a ella. Para tener acceso rápido de sólo lectura a datos, utilice el SqlDataReader. Si deseamos trabajar con datos desconectados, utilizaremos un DataSet e implementaremos la lectura y escritura desde el origen de datos con un SqlDataAdapter.
  • 20. SUMMARY: ADO.NET is .NET technology for interacting with data sources. It has several Data Providers, which allow communication with different data sources, depending on the protocols they use or the database. Regardless of which data provider you use, you will use a similar set of objects to interact with a data source. The SqlConnection object allows you to manage a connection to a data source. SqlCommand objects allow you to talk to a data source and send commands to it. For quick read-only access to data, use the SqlDataReader. If we want to work with disconnected data, we will use a DataSet and implement the read and write from the data source with a SqlDataAdapter.
  • 21. RECOMENDACIONES: La programación en ADO.NET, ha despertado gran interés y muchas personas se están iniciando en ella. A pesar de tratarse de una tecnología que facilita enormemente la programación en relación con las bases de datos, hay algunas dificultades que pueden retrasar el aprendizaje del programador principiante, entre ellas, aprender el uso adecuado del lenguaje SQL para realizar las tareas deseadas. CONCLUSIONES: 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. En conclusión ADO.NET es un conjunto de los componentes del software que pueden ser usados por los programadores para accesar a datos y que viene a facilitar mucho la vida del programador.
  • 22. APRECIACIÓN DEL EQUIPO: Sabemos que ADO.NET nos permite interactuar con diferentes tipos de fuentes de datos y diferentes tipos de bases de datos. Sin embargo, no hay un solo conjunto de clases que le permitan lograr esto universalmente. Dado que diferentes fuentes de datos exponen diferentes protocolos, necesitamos una forma de comunicarnos con la fuente de datos correcta usando el protocolo correcto. Algunas fuentes de datos más antiguas utilizan el protocolo ODBC, muchas fuentes de datos más recientes usan el protocolo OleDb y hay más fuentes de datos todos los días que permiten comunicarse con ellos directamente a través de las bibliotecas de clases .NET ADO.NET. ADO.NET proporciona una forma relativamente común de interactuar con fuentes de datos, pero viene en diferentes conjuntos de bibliotecas para cada modo en que puede hablar con un origen de datos. Estas bibliotecas se llaman Proveedores de Datos y usualmente se nombran para el tipo de protocolo o fuente de datos con el que pueden interactuar. La Tabla 1 enumera algunos proveedores de datos bien conocidos, el prefijo API que utilizan y el tipo de origen de datos con el que permiten interactuar.