Sistemas empresariales 05
-
Upload
guillermo-raul-reyes-mendo -
Category
Education
-
view
231 -
download
0
description
Transcript of Sistemas empresariales 05
OPERACIONES
CONECTADAS A UN ORIGEN
DE DATOS
Ing. Guillermo Raúl Reyes MendoE-mail: [email protected]
• Al finalizar la unidad, el alumno realiza operaciones de consulta y actualización de datos en un entorno de aplicaciones Windows .NET la cual se encuentra conectado a un origen de datos, utilizando librerías ADO.NET
Logros de la Unidad
de Aprendizaj
e
Agenda de la clase:
Introducción a ADO.NET
* Arquitectura del ADO.NET
* Proveedores de ADO:NET.
* Operaciones de Consulta de Datos
Recuperación de Datos
* Consulta de datos: clase DataAdapter.
* Consultas SQL o procedimiento almacenado.
* Manejo de parámetros en el proceso de la consulta.
Manipulación de Datos
* Actualizando datos: clase Command.
* Actualizar datos SQL ejecutando Proc. almacenados
* Manejo de parámetros en el proceso de actualización
• Los alumnos diseñan formularios que manejan la conexión y operaciones de consulta a un origen de datos desde la aplicación Visual Studio .NET
• Los alumnos diseñan formularios que manejan la conexión y operaciones de actualización de datos a un origen de datos desde la aplicación Visual Studio .NET
Actividades Propuestas
INTRODUCCION A ADO.NET.
ADO.NET responde a las siglas de Microsoft ActiveX Data Objects de la plataforma .NET, y es una mejora respecto a la librería ADO de la versión anterior.
La tecnología ADO.NET está basada en un nuevo modelo de componentes en la que las clases de acceso a datos y las clases contenedores forman parte del marco de trabajo .NET, y está pensado para interoperar con otros componentes, aplicaciones, etc., gracias al uso de XML y soportar estándares como HTTP, XML, SOAP
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
6
7
Ado.NET
• ADO.NET es el modelo de acceso a datos para las aplicaciones basadas en .NET
• Se puede utilizar para acceder a sistemas de base 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
Ado.NET
• 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
Evolución
• ODBC (Open DataBase Connectivity)
– 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 (Object Linking and Embedding for Databases)
– 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 (Component Object Model)
– Proporciona una interfaz a bajo nivel en C++
Plataforma .Net
Arquitectura Framework.NET
Componentes
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
Arquitectura
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.
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.
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
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
• Isolation Level
• Commit() / Rollback()
• Configuración del pool de conexionesen el connection string
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
ADO.NET: DataReader
OleDbDataReader/SQLDataReader
Stream forward-only read-only
Utilizado por el DataAdapter
Muy rápido
Creado por un objeto Command (ExecuteReader)
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
ADO.NET: DataAdapter
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 Primary key
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
DataSet
Elegir un DataReader oun 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 Path Language) 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.
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
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 Select Command
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.
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
Ejemplo
“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.