La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a ADO.NET y SQL Server 2000 Erich Bühler MVP.

Presentaciones similares


Presentación del tema: "Introducción a ADO.NET y SQL Server 2000 Erich Bühler MVP."— Transcripción de la presentación:

1 Introducción a ADO.NET y SQL Server 2000 Erich Bühler MVP

2 ¿Qué es SQL Server? Tareas Gestiona datos para transacciones y análisis Gestiona datos para transacciones y análisis Transacciones: OLTP Transacciones: OLTP Análisis: OLAP Análisis: OLAP Atiende a peticiones de clientes Atiende a peticiones de clientes SQL ServerClienteResultadoResultado OLAP OLTP PeticiónPetición

3 Herramientas SQL Server Consola administrativa Consola administrativa de SQL Server Consola administrativa de SQL Server Centraliza toda la administración Centraliza toda la administración Tareas comunes: Tareas comunes: Configuración de SQL Server Configuración de SQL Server Seguridad Seguridad Creación y diseño de base de datos Creación y diseño de base de datos Actividades de mantenimiento Actividades de mantenimiento Backup, exportación, monitorización, log… Backup, exportación, monitorización, log…

4 ¿Qué es SQL Server? Servicios de SQL Server Microsoft Distributed Transaction Coordinator Microsoft Distributed Transaction Coordinator Servicio MSSQLServer Servicio MSSQLServer Servicio SQLServerAgent Servicio SQLServerAgent Microsoft Search Gestión de datos Proceso de sentencias Integridad de datos Trabajos Alertas Operadores Catálogos Full-Text Indices Full-Text Gestión de transacciones distribuidas SQL Server

5 Estructura de una base de datos Archivos Tablas, índices Datos DatabaseDatabase Fichero de datos.mdf o.ndf Fichero de log.ldf.ldf

6 Estructura de una base de datos Transacciones La aplicación envía una modificación 11 Archivo log La modificación es guardada en el log 33 Se cargan las páginas en memoria y se modifican 22 Cache y búfer Archivo de datos Un checkpoint escribe las páginas de memoria a disco 44

7 Estructura de una base de datos Tipos y tablas Tablas Tablas Formadas por columnas con tipo Formadas por columnas con tipo Las columnas pueden ser funciones SQL Las columnas pueden ser funciones SQL Multitud de tipos por defecto Multitud de tipos por defecto int, decimal, money, datetime, nvarchar, ntext, image… int, decimal, money, datetime, nvarchar, ntext, image… Permite añadir los propios Permite añadir los propios OrderIDClienteIDFechaPrecioPrecioConTasasFoto int ncharimagedatetimemoneyPrecio*0,16

8 Estructura de una base de datos Integridad de datos De columna De columna Valor por defecto, valores admitidos Valor por defecto, valores admitidos De entidad De entidad Clave primaria Clave primaria Unique Unique Referencial Referencial Clave foránea Clave foránea Comprobación de fórmula Comprobación de fórmula

9 Estructura de una base de datos Índices Aceleran las consultas Aceleran las consultas Formados por una o varias columnas Formados por una o varias columnas Automatizados con Index Tuning Wizard Automatizados con Index Tuning Wizard Akhtar... Barr... Con... Funk... Funk... … … Ganio... Hall... Jone... Jones... Jones... … … Smith... Smith... Smith... White... White... … … Martin... Martin... Ota... Phua... Rudd... … … Akhtar … Martin Akhtar Ganio … Martin Smith …

10 Programación de SQL Server Ejecución de sentencias SQL Lenguaje Transact-SQL Lenguaje Transact-SQL Tres cometidos Tres cometidos Manipulación de datos Manipulación de datos SELECT, INSERT, UPDATE, DELETE SELECT, INSERT, UPDATE, DELETE Definición de datos Definición de datos CREATE, ALTER, DROP CREATE, ALTER, DROP Control de datos Control de datos GRANT, DENY, REVOKE GRANT, DENY, REVOKE

11 Selección de datos

12 Programación de SQL Server Ejecución de sentencias SQL (II) Operadores Operadores =,, AND, NOT… =,, AND, NOT… Funciones Funciones AVG, SUM, DB_NAME… AVG, SUM, DB_NAME… Control de flujo Control de flujo IF, ELSE; WHILE… IF, ELSE; WHILE… Unión de tablas Unión de tablas JOIN, UNION… JOIN, UNION…

13 Programación de SQL Server Procedimientos almacenados Sentencias T-SQL almacenadas en servidor Sentencias T-SQL almacenadas en servidor Aceptan parámetros de entrada / salida Aceptan parámetros de entrada / salida Ventajas Ventajas Lógica ejecutada en servidor Lógica ejecutada en servidor Evita movimiento de datos Evita movimiento de datos Precompiladas Precompiladas SELECT * FROM Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS Null

14 Programación de SQL Server Desencadenadores (Triggers) Procedimiento almacenado enlazado a la modificación de una tabla Procedimiento almacenado enlazado a la modificación de una tabla Tres tipos Tres tipos INSERT, UPDATE, DELETE INSERT, UPDATE, DELETE Tres posibles acciones Tres posibles acciones FOR, AFTER, INSTEAD OF FOR, AFTER, INSTEAD OF IF (SELECT COUNT(*) FROM Deleted) > 1 BEGIN RAISERROR(No puede borras más de un registro a la vez) END

15 Acceso a datos con ADO.NET

16 Modelo tradicional Base de datos

17 Introducción a ADO.NET Es una parte integral del framework Es una parte integral del framework Último paradigma propuesto por Microsoft Último paradigma propuesto por Microsoft Resuelve los siguientes problemas Resuelve los siguientes problemas Utiliza XML para el transporte de información Utiliza XML para el transporte de información Se pueden enviar resultados a través de Internet Se pueden enviar resultados a través de Internet Es posible integrar orígenes XML con facilidad, ej. Servicio Web. Es posible integrar orígenes XML con facilidad, ej. Servicio Web.

18 Introducción a ADO.NET El espacio de nombres raíz para ADO.NET es System.Data El espacio de nombres raíz para ADO.NET es System.Data Soporte para varias tecnologías (incluso XML) Soporte para varias tecnologías (incluso XML) System Data SQLClient OracleClient OleDB Odbc

19 Base de datos

20 Básicas del modelo desconectado Trabajo con infor. en memoria (caché) Trabajo con infor. en memoria (caché) Básicamente se producen 3 etapas: Básicamente se producen 3 etapas: Se obtiene la información y se desconecta del origen Se obtiene la información y se desconecta del origen Se modifica la información Se modifica la información Se conecta nuevamente y concilia con la base de datos Se conecta nuevamente y concilia con la base de datos Ahorro de conexiones y mejoras para aplicaciones distribuidas, pero tener en cuenta la concurrencia!! (sqlranger.com) Ahorro de conexiones y mejoras para aplicaciones distribuidas, pero tener en cuenta la concurrencia!! (sqlranger.com)

21 Básicas del modelo desconectado El Adaptador es el encargado de efectuar la conexión El Adaptador es el encargado de efectuar la conexión Funciona como un enchufe entre los datos y la base de datos Funciona como un enchufe entre los datos y la base de datos Contiene la información de conexión y consulta Contiene la información de conexión y consulta Hace transparente la obtención de datos de cualquier origen (se encarga a bajo nivel de la re-conexión) Hace transparente la obtención de datos de cualquier origen (se encarga a bajo nivel de la re-conexión) Hay uno genérico (OleDbDataAdapter) y uno específico para SQL Server (SqlDataAdapter) Hay uno genérico (OleDbDataAdapter) y uno específico para SQL Server (SqlDataAdapter)

22 Manipulación de datos Espacio System.Data Espacio System.Data Contiene los objetos desconectados Contiene los objetos desconectados La manipulación se efectúa mediante el objeto DataSet La manipulación se efectúa mediante el objeto DataSet Caché de datos Caché de datos Relacional Relacional

23 Carga del DataSet Dim StrConexion As String, StrComandoAutores As String Dim StrComandoEmpleado As String, StrComandoTiendas As String Dim StrConexion As String, StrComandoAutores As String Dim StrComandoEmpleado As String, StrComandoTiendas As String Dim AdEmpleado As OleDbDataAdapter, AdTiendas As OleDbDataAdapter Dim AdEmpleado As OleDbDataAdapter, AdTiendas As OleDbDataAdapter Dim AdAutores As OleDbDataAdapter, DS As New DataSet Dim AdAutores As OleDbDataAdapter, DS As New DataSet StrConexion = "Provider=SQLOLEDB.1;User ID=sa;Persist Security Info=False; InitialCatalog=pubs; Data Source=MiServidor" StrComandoAutores = "Select * FROM Authors" StrComandoEmpleado = "Select * FROM Employee" StrComandoTiendas = "Select * FROM Stores" StrComandoTiendas = "Select * FROM Stores" AdAutores = New OleDb.OleDbDataAdapter(StrComandoAutores, StrConexion) AdEmpleado = New OleDbDataAdapter(StrComandoEmpleados, StrConexion) AdTiendas = New OleDbDataAdapter(StrComandoTiendas, StrConexion) … AdAutores.Fill(DS, "Authors") AdEmpleado.Fill(DS, "Employee") AdTiendas.Fill(DS, "Stores")

24 Manipulación de datos Capa de negocios Capa de datos Capa de presentación Web forms Negocio a Negocio Dataset Dataset Internet intranet DataAdapter DataAdapter Xml Aplicación.Exe IE Dataset Windows forms

25 ADO.NET en el modelo desconectado

26 Estructura de la información El DataSet contiene 3 colecciones El DataSet contiene 3 colecciones DataTable DataTable DataColumn DataColumn DataRow DataRow En algunos casos se puede utilizar también a DataRelation y Constraint En algunos casos se puede utilizar también a DataRelation y Constraint

27 Estructura de la información

28 Modificación de datos Conciliación Conciliación Se deben tener los 4 comandos en el adaptador Se deben tener los 4 comandos en el adaptador PropiedadDescripción SelectCommand Almacena la información necesaria para obtener las filas de una tabla a cargar en el DataSet. UpdateCommand Almacena la información necesaria para llevar acabo una modificación sobre una fila del origen. InsertCommand Almacena la información necesaria para agregar una fila al origen. DeleteCommand Almacena la información necesaria para eliminar una fila de la base de datos.

29 Modificación de datos

30 Para sincronizar con el origen, se debe invocar al método Update del Adaptador Para sincronizar con el origen, se debe invocar al método Update del Adaptador AdaptadorTiendas.Update(DS, "Stores") AdaptadorTiendas.Update(DS, "Stores") Por último cambiar el estado de las filas Por último cambiar el estado de las filasDS.Tables("Stores").AcceptChanges() Private Sub Conciliar_Click(... 'Envía los cambios de la tabla Stores. 'Envía los cambios de la tabla Stores. AdaptadorTiendas.Update(DS, "Stores") AdaptadorTiendas.Update(DS, "Stores") 'Indica que las filas de esta tabla ya han sido enviadas. 'Indica que las filas de esta tabla ya han sido enviadas. DS.Tables("Stores").AcceptChanges() DS.Tables("Stores").AcceptChanges() End Sub

31 DataSet Es posible Es posible Indicar relaciones y restricciones entre tablas Indicar relaciones y restricciones entre tablas Crear DS virtuales Crear DS virtuales Exhibir la información jerárquicamente Exhibir la información jerárquicamente

32 DataSet Controlar restricciones, proponer valores por defecto, crear columnas calculadas Controlar restricciones, proponer valores por defecto, crear columnas calculadas Leer/Escribir a XML el esquema de la tabla y/o información Leer/Escribir a XML el esquema de la tabla y/o información WriteXML WriteXML ReadXML ReadXML Consumir información XML Consumir información XML

33 Crystal Reports y su relación con ADO.NET Crystal puede consumir información trabajando bajo el modelo conectado o desconectado Crystal puede consumir información trabajando bajo el modelo conectado o desconectado Se conoce en Crystal como el modelo Push Se conoce en Crystal como el modelo Push

34 Resumiendo… ADOADO.NET Utiliza Recordset Utiliza DataSet Requiere consultas JOIN Se utilizan métodos de ADO.NET que utilizan DataRelation Se comunica a la DB a través del Recordset mediante una conexión Se comunica a la DB utilizando el objeto DataAdapter Bloqueos activos No existen los bloqueos, aunque pueden haber otros conflictos…

35 © 2004 Erich R. Bühler


Descargar ppt "Introducción a ADO.NET y SQL Server 2000 Erich Bühler MVP."

Presentaciones similares


Anuncios Google