Вы находитесь на странице: 1из 35

Introduccin a ADO.

NET y SQL Server 2000


Erich Bhler MVP

Qu es SQL Server?
Tareas

Gestiona datos para transacciones y anlisis

Transacciones: OLTP Anlisis: OLAP

Atiende a peticiones de clientes


Cliente
Resultado Peticin

SQL Server

OLTP

OLAP

Herramientas SQL Server


Consola administrativa

Consola administrativa de SQL Server

Centraliza toda la administracin Configuracin de SQL Server Seguridad Creacin y diseo de base de datos Actividades de mantenimiento

Tareas comunes:

Backup, exportacin, monitorizacin, log

Qu es SQL Server?
Servicios de SQL Server

Servicio MSSQLServer

Gestin de datos Proceso de sentencias Integridad de datos

Servicio SQLServerAgent

Trabajos Alertas Operadores

SQL Server

Microsoft Distributed Transaction Coordinator


Microsoft Search

Gestin de transacciones distribuidas

Catlogos Full-Text Indices Full-Text

Estructura de una base de datos


Archivos

Database

Fichero de datos .mdf o .ndf

Fichero de log .ldf

Tablas, ndices

Datos

Estructura de una base de datos


Transacciones
1

La aplicacin enva una modificacin

La modificacin es guardada en el log Archivo log

Cache y bfer

Se cargan las pginas en memoria y se modifican

Archivo de datos
4

Un checkpoint escribe las pginas de memoria a disco

Estructura de una base de datos


Tipos y tablas

Tablas

Formadas por columnas con tipo Las columnas pueden ser funciones SQL
OrderID int ClienteID Fecha Precio PrecioConTasas Foto

nchar

datetime

money

Precio*0,16

image

Multitud de tipos por defecto


int, decimal, money, datetime, nvarchar, ntext, image Permite aadir los propios

Estructura de una base de datos


Integridad de datos

De columna

Valor por defecto, valores admitidos Clave primaria Unique Clave fornea Comprobacin de frmula

De entidad

Referencial

Estructura de una base de datos


ndices

Aceleran las consultas

Formados por una o varias columnas Automatizados con Index Tuning Wizard
Akhtar Ganio Akhtar Martin Martin Smith

Akhtar Barr Con Funk Funk

... ... ... ... ... ...

Ganio Hall Jone Jones Jones

... ... ... ... ... ...

Martin Martin Ota Phua Rudd

... ... ... ... ... ...

Smith Smith Smith White White

... ... ... ... ... ...

Programacin de SQL Server


Ejecucin de sentencias SQL

Lenguaje Transact-SQL

Tres cometidos

Manipulacin de datos

SELECT, INSERT, UPDATE, DELETE CREATE, ALTER, DROP GRANT, DENY, REVOKE

Definicin de datos

Control de datos

Seleccin de datos

Programacin de SQL Server


Ejecucin de sentencias SQL (II)

Operadores

=, <, <>, AND, NOT AVG, SUM, DB_NAME IF, ELSE; WHILE JOIN, UNION

Funciones

Control de flujo

Unin de tablas

Programacin de SQL Server


Procedimientos almacenados

Sentencias T-SQL almacenadas en servidor Aceptan parmetros de entrada / salida Ventajas

Lgica ejecutada en servidor

Evita movimiento de datos

Precompiladas

SELECT * FROM Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS Null

Programacin de SQL Server


Desencadenadores (Triggers)

Procedimiento almacenado enlazado a la modificacin de una tabla Tres tipos

INSERT, UPDATE, DELETE

Tres posibles acciones

FOR, AFTER, INSTEAD OF

IF (SELECT COUNT(*) FROM Deleted) > 1 BEGIN RAISERROR(No puede borras ms de un registro a la vez) END

Acceso a datos con ADO.NET

Modelo tradicional

Base de datos

Introduccin a ADO.NET

Es una parte integral del framework

ltimo paradigma propuesto por Microsoft

Resuelve los siguientes problemas


Utiliza XML para el transporte de informacin Se pueden enviar resultados a travs de Internet Es posible integrar orgenes XML con facilidad, ej. Servicio Web.

Introduccin a ADO.NET

El espacio de nombres raz para ADO.NET es System.Data

Soporte para varias tecnologas (incluso XML)


System

Data
SQLClient

OracleClient
OleDB

Odbc

Base de datos

Bsicas del modelo desconectado

Trabajo con infor. en memoria (cach) Bsicamente se producen 3 etapas:


Se obtiene la informacin y se desconecta del origen Se modifica la informacin 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)

Bsicas del modelo desconectado

El Adaptador es el encargado de efectuar la conexin


Funciona como un enchufe entre los datos y la base de datos Contiene la informacin de conexin y consulta

Hace transparente la obtencin de datos de cualquier origen (se encarga a bajo nivel de la re-conexin) Hay uno genrico (OleDbDataAdapter) y uno especfico para SQL Server (SqlDataAdapter)

Manipulacin de datos

Espacio System.Data

Contiene los objetos desconectados

La manipulacin se efecta mediante el objeto DataSet


Cach de datos Relacional

Carga del DataSet


Dim StrConexion As String, StrComandoAutores As String Dim StrComandoEmpleado As String, StrComandoTiendas As String Dim AdEmpleado As OleDbDataAdapter, AdTiendas As OleDbDataAdapter 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" 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")

Manipulacin de datos
Capa de presentacin

Windows forms
Aplicacin.Exe

Dataset

Web forms
IE

Internet intranet Dataset


Xml

Capa de negocios Dataset DataAdapter DataAdapter Capa de datos

Negocio a Negocio

ADO.NET en el modelo desconectado

Estructura de la informacin

El DataSet contiene 3 colecciones


DataTable DataColumn DataRow

En algunos casos se puede utilizar tambin a DataRelation y Constraint

Estructura de la informacin

Modificacin de datos

Conciliacin

Se deben tener los 4 comandos en el adaptador


Descripcin

Propiedad

SelectCommand

Almacena la informacin necesaria para obtener las filas de una tabla a cargar en el DataSet.

UpdateCommand

InsertCommand DeleteCommand

Almacena la informacin necesaria para llevar acabo una modificacin sobre una fila del origen. Almacena la informacin necesaria para agregar una fila al origen.
Almacena la informacin necesaria para eliminar una fila de la base de datos.

Modificacin de datos

Modificacin de datos

Para sincronizar con el origen, se debe invocar al mtodo Update del Adaptador
AdaptadorTiendas.Update(DS, "Stores")

Por ltimo cambiar el estado de las filas


DS.Tables("Stores").AcceptChanges()
Private Sub Conciliar_Click(... 'Enva los cambios de la tabla Stores. AdaptadorTiendas.Update(DS, "Stores") 'Indica que las filas de esta tabla ya han sido enviadas. DS.Tables("Stores").AcceptChanges() End Sub

DataSet

Es posible

Indicar relaciones y restricciones entre tablas Crear DS virtuales Exhibir la informacin jerrquicamente

DataSet

Controlar restricciones, proponer valores por defecto, crear columnas calculadas Leer/Escribir a XML el esquema de la tabla y/o informacin

WriteXML ReadXML

Consumir informacin XML

Crystal Reports y su relacin con ADO.NET

Crystal puede consumir informacin trabajando bajo el modelo conectado o desconectado

Se conoce en Crystal como el modelo Push

Resumiendo
ADO
Utiliza Recordset Requiere consultas JOIN

ADO.NET
Utiliza DataSet Se utilizan mtodos de ADO.NET que utilizan DataRelation Se comunica a la DB utilizando el objeto DataAdapter No existen los bloqueos, aunque pueden haber otros conflictos

Se comunica a la DB a travs del Recordset mediante una conexin Bloqueos activos

2004 Erich R. Bhler

Вам также может понравиться