310 likes | 467 Views
ADO.Net. TGP (Tecnología de la Programación) 3º Curso de ITI (gestión) Jmrr @ infor.uva.es. Ado.NET. Evolución del Modelo de datos ADO Integrado en la Plataforma .NET Framework Sistema de Clases integrado en los espacios de Nombres .NEt Mas Flexible
E N D
ADO.Net TGP(Tecnología de la Programación) 3º Curso de ITI (gestión) Jmrr@infor.uva.es TGp-2010 (Capa Persistencia)
Ado.NET • Evolución del Modelo de datos ADO • Integrado en la Plataforma .NET Framework • Sistema de Clases integrado en los espacios de Nombres .NEt • Mas Flexible • trabaja con modelos multitabla desconectados) • Permite Escalabilidad • Orientado a la arquitecturas Multinivel TGp-2010 (Capa Persistencia)
Ado.Net TGp-2010 (Capa Persistencia)
ADO.Net • ADO.NET es el modelo de acceso a datos para las aplicaciones basadas en .NET • Se puede utilizar para acceder a sistemas debase de datos relacionales. Ejemplos: • SQL Server, Oracle, etc. • Muchas otras fuentes de datos (para las cuales existe un proveedor OLE DB u ODBC) • Soporte intrínseco para XML • Programación Orientada a Componentes TGp-2010 (Capa Persistencia)
ADO trabaja bien, pero: • Necesita COM y Windows • Los recordsets no viajan bien a través de Internet • ADO.NET resuelve estos problemas: • Utiliza XML (a bajo nivel) para realizar el transporte de datos • XML no tiene requisitos específicos de runtime/transporte • No se necesita un código especial para hacer el marshaling a través de Internet • ADO .NET, una nueva mentalidad: • Entorno desconectado • Todo el transporte de datos utiliza XML TGp-2010 (Capa Persistencia)
Evolución • ODBC (Open DataBaseConnectivity) • Interoperatibilidad con amplio rango de SGBD • API acceso ampliamente aceptada • Usa SQL como lenguaje de acceso a datos • DAO (Data Access Objects) • Interfaz de programación para bases de datos JET/ISAM (e.g. • MS Access) • RDO (Remote Data Objects) • Estrechamente ligado a ODBC • 2rientado a aplicaciones cliente/servidor • OLE DB (ObjectLinking and EmbeddingforDatabases) • No restringido a acceso a datos relacionales • No limitado a SQL como lenguaje de recuperación de datos • Tecnología desarrollada por Microsoft • Construido sobre COM (ComponentObjectModel) • Proporciona una interfaz a bajo nivel en C++ TGp-2010 (Capa Persistencia)
Plataforma .Net TGp-2010 (Capa Persistencia)
Arquitectura Framework .NET TGp-2010 (Capa Persistencia)
Componentes TGp-2010 (Capa Persistencia)
Dos Componentes • Proveedores de datos • Proporcionar conexión con las bases de datos • Manipulación de Datos • Acceso rápido en avance de solo lectura • Data Set • Componente Central de la Arquitectura • Acceso a datos y su manejo independiente del origen • Entre ambos se incluyen: • Connection, Command, DataReader y DataAdapter TGp-2010 (Capa Persistencia)
Arquitectura TGp-2010 (Capa Persistencia)
Proveedores de datos .NET Framework • 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. • Connection • proporciona conectividad a un origen de datos. • 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. • DataAdapter • proporciona el puente entre el objeto DataSet y el origen de datos. • 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. TGp-2010 (Capa Persistencia)
DataSet • El DataSet de ADO.NET es el componente central de la arquitectura sin conexión de ADO.NET. • El DataSet está expresamente diseñado para el acceso a datos independientemente del 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. • El DataSet contiene una colección de uno o más objetos DataTable formados por filas y columnas de datos, así como información sobre claves principales, claves externas, restricciones y relaciones relativa a los datos incluidos en los objetos DataTable. TGp-2010 (Capa Persistencia)
Conceptos Básicos • Modelo de objetos • Objetos de System.Data • Proveedores de acceso a datos .NET • Jerarquía de espacio de nombres (namespace) • Organiza el modelo de objetos • Incluye: • System.Data • System.Data.Common • System.Data.OleDb • System.Data.SqlClient • System.Data.SqlTypes TGp-2010 (Capa Persistencia)
ADO.NET: Connection • OleDbConnection/SQLConnection • Representa la sesión contra la BD • Utilizado por objetos Data Adapter y Command para recuperar/actualizar • Inicia las transacciones • Connection.BeginTransaction() devuelve un objeto Transaction • xxxTransaction • Un comando se enlista en una transacción • IsolationLevel • Commit() / Rollback() • Configuración del pool de conexionesen el connectionstring TGp-2010 (Capa Persistencia)
ADO.NET: Command • OleDbCommand/SQLCommand • Representa Transact-SQL o procedimientos almacenados • Devuelve un resultset (ExecuteReader), un valor (ExecuteScalar), o ejecuta sentencias de modificación (ExecuteNonQuery) • Generación automática con el objeto CommandBuilder TGp-2010 (Capa Persistencia)
ADO.NET: DataReader • OleDbDataReader/SQLDataReader • Stream forward-only read-only • Utilizado por el DataAdapter • Muy rápido • Creado por un objeto Command (ExecuteReader) TGp-2010 (Capa Persistencia)
ADO.NET: DataAdapter • OleDbDataAdapter/SQLDataAdapter • Representa un conjunto de Commands y una Connection • Puente entre el DataSet y la BD • Lee y actualiza la BD: • SelectCommand, • UpdateCommand, • InsertCommand • DeleteCommand TGp-2010 (Capa Persistencia)
ADO.NET: DataAdapter TGp-2010 (Capa Persistencia)
ADO.NET: DataSet • Objeto estrella en ADO.NET • Representa una caché de datos en memoria • Contiene DataTables • Lee y escribe datos y esquemas en XML • Puede ser tipado o no tipado: • Ambos heredan de la clase DataSet • El tipado se apoya en un esquema XML (.XSD) para generar la clase • El tipado tiene ventajas: • Expone estructura como propiedades y métodos: Intellisense • Recoge la Primarykey TGp-2010 (Capa Persistencia)
Otros Objetos • DataTable • Representa una tabla en memoria • Lo rellena un DataAdapter o a mano • Componente principal de los objetos DataSet y DataView • DataView • Vista personalizada de un objeto DataTable • Filtros, ordenación, búsquedas … • DataRelation • Define relaciones entre tablas • Utiliza columnas de un DataTable TGp-2010 (Capa Persistencia)
DataSet TGp-2010 (Capa Persistencia)
Elegir un DataReader o un DataSet • La elección entre DataReader(vea Recuperar datos mediante DataReader) o un DataSet (vea Crear y utilizar DataSets), debe tener en cuenta el tipo de funcionalidad que su aplicación requiere. • Usar un DataSet para hacer lo siguiente: • 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. • Almacenar datos en memoria caché localmente, dentro de su aplicación. • Proporcionar una vista XML jerárquica de datos relacionales y utilizar herramientas como una transformación XSL o una consulta Xpath (XML PathLanguage) en sus datos. • 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. • Se puede mejorar el rendimiento de su aplicación si utiliza el DataReader para devolver sus datos de sólo avance y de sólo lectura. • al utilizar el DataReader puede mejorar el rendimiento porque no usará la memoria que utilizaría el DataSet, • Evita el procesamiento necesario para crear y rellenar el contenido del DataSet. TGp-2010 (Capa Persistencia)
ADO.NET: Lecturas • Método Fill del objeto DataAdapter • Se utiliza el SelectCommand del DataAdapter • Inserta/actualiza datos del DataSet • Si la tabla existe, actualiza datos • Si no existe, crea y rellena la tabla • Una tabla por cada resultset • Mantiene la conexión en su estado original TGp-2010 (Capa Persistencia)
ADO.NET: Actualizaciones • La funcionalidad en ADO es implícita. Recordset= caja negra. • Ejemplo: UpdateBatch • En ADO.NET: Se crea un modelo más explícito y transparente. • InsertCommand, • UpdateCommand, • DeleteCommand • Eventos de Update • CommandBuilder • generación automática de los comandos de Insert, Update y Delete a partir del SelectCommand TGp-2010 (Capa Persistencia)
ADO.NET: Actualizaciones • DataAdapter.Update: • Analiza los cambios del DataSet • Ejecuta los comandos Insert, Update y Delete necesarios • Refresca el DataSet • Orden de ejecución por defecto: • Insert, Update y Delete. TGp-2010 (Capa Persistencia)
ADO.NET: Enlace Controles (binding) • ADO.NET soporta enlazar (binding) DataSets a Windows Forms / Web Forms y sus controles • VStudio.NET incluye bastantes Ayudas (wizards) para hacer el enlace entre datosy controles TGp-2010 (Capa Persistencia)
Ejemplo TGp-2010 (Capa Persistencia)
“WCF Data Services” • Implementar servicios de datos en web o en una intranet. • Los datos se estructuran como entidades y relaciones de acuerdo a las especificaciones de Entity Data Model. • Los datos implementados en este modelo se pueden direccionar mediante el protocolo HTTP estándar. TGp-2010 (Capa Persistencia)