sábado, 27 de mayo de 2017

ADO.NET.


mi pagina https://es.slideshare.net/SILVA19_PAMELA/laboratorio-de-programacin-i-76411766

“AÑO INTERNACIONAL DEL TURISMO  SOSTENIBLE PARA EL DESARROLLO”

TEMA: ADO.NET.

CURSO: LABORATORIO DE PROGRAMACIÓN I

ESPECIALIDAD: INGENIERIA DE SISTEMAS Y TELEMATICA.

NOMBRE: GILDA  PAMELA

APELLIDO: SILVA  FLORES

DOCENTE: MARCO AURELIO  PORRO  CHULLI

CILCO: IV – A                                   AULA: 501

BAGUA GRANDE– PERÚ
2017

1._CONTENIDO
·         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 una 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 Object (ADO), pero fue cambiado tan extensivamente que puede ser concebido como un producto enteramente nuevo.

·         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 API de ADO .NET proporciona una superclase que encapsula lo que sería la base de datos a un nivel lógico: tablas, vistas, relaciones, su integridad, etc, pero siempre con independencia del tipo de fabricante que la diseñó. Aquí se tiene el mejor concepto de datos desconectados: una copia en el cliente de la arquitectura de la base de datos basada en un esquema XML que la independiza del fabricante, proporcionando al desarrollador la libertad de trabajo independiente de la plataforma. En la Figura 1 se puede ver un esquema de un DataSet.

 



                                                                        Figura 1

Esta clase se compone a su vez de subclases que representan cada una, los elementos la base de datos: Tablas, las columnas, las filas, sus reglas de comprobacion, sus relaciones, las vistas asociadas a la tabla, etc.

·         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.
·         En la siguiente tabla se ofrece una descripción de las clases que podemos encontrar en estos espacios de nombres.

·  Clase Descripción SqlConnection Clase que representa la etapa de conexión a un proveedor OleDbConnection de datos. Encapsula la seguridad, pooling de conexiones,
·         etc.

·         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.

      OleDbTransaction
·        

   Para aquellos conocedores de ADO en alguna de sus versiones anteriores podemos hacer una analogía o comparación entre las antiguas clases de ADO y las nuevas de ADO .NET, en la Figura 3 se puede ver esta aproximación.






                                                 Figura 3

·         EJEMPLOS
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)

  • ü  ADO.NET Entity Framework:
LINQ to Entities
ObjectQuery con tipo
EntityClient (System.Data.EntityClient)
LINQ to SQL

Ejemplos del proveedor de datos ADO.NET
En los listados de código siguientes se muestra cómo recuperar datos de una base de datos usando proveedores de datos ADO.NET. Los datos se devuelven en DataReader. Para obtener más información, consulte recuperar datos mediante DataReader.

SqlClient

En el código de este ejemplo se supone que puede conectarse a la base de datos de ejemplo Northwind en Microsoft SQL Server. El código crea un SqlCommand para seleccionar las filas de la tabla Products, agregar un SqlParameter para restringir los resultados a las filas con un UnitPrice mayor que el valor de parámetro especificado, en este caso 5. El SqlConnection se abre dentro de un using bloque, lo que garantiza que los recursos se cierran y se eliminan cuando el código sale. El código ejecuta el comando mediante una SqlDataReadery muestra los resultados en la ventana de consola.
[DataWorks,SampleApp.SqlClient#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.SqlClient#1)]

OleDb

En el código de este ejemplo se asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft Access. El código crea un OleDbCommand para seleccionar las filas de la tabla Products, agregar un OleDbParameter para restringir los resultados a las filas con un UnitPrice mayor que el valor de parámetro especificado, en este caso 5. El OleDbConnection se abre dentro de un using bloque, lo que garantiza que los recursos se cierran y se eliminan cuando el código sale. El código ejecuta el comando mediante una OleDbDataReadery muestra los resultados en la ventana de consola.
[DataWorks SampleApp.OleDb#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.OleDb#1)]

Odbc

En el código de este ejemplo se asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft Access. El código crea un OdbcCommand para seleccionar las filas de la tabla Products, agregar un OdbcParameter para restringir los resultados a las filas con un UnitPrice mayor que el valor de parámetro especificado, en este caso 5. El OdbcConnection se abre dentro de un using bloque, lo que garantiza que los recursos se cierran y se eliminan cuando el código sale. La ejecuta el comando mediante una OdbcDataReadery muestra los resultados en la ventana de consola.

OracleClient

En el código de este ejemplo se presupone una conexión a DEMO.CUSTOMER en un servidor Oracle. También debe agregarse una referencia a System.Data.OracleClient.dll. El código devuelve los datos en un OracleDataReader.
[DataWorks SampleApp.Oracle#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.Oracle#1)]

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 Categories, 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.


ObjectQuery con establecimiento de tipos


El código de este ejemplo utiliza un ObjectQuery  para devolver datos como objetos Categories. Para obtener más información, consulte consultas de objeto.
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.
LINQ to SQL
El código de este ejemplo usa una consulta LINQ para devolver los datos como objetos Categories, que se proyectan como un tipo anónimo que contiene solo las propiedades CategoryID y CategoryName. Este ejemplo se basa en el contexto de datos Northwind. Para obtener más información, consulte Introducción.

 





































No hay comentarios:

Publicar un comentario