Está en la página 1de 35

Introducción a ADO.

NET y
SQL Server 2000

Erich Bühler
MVP
¿Qué es SQL Server?
Tareas

 Gestiona datos para transacciones y análisis


 Transacciones: OLTP
 Análisis: OLAP
 Atiende a peticiones de clientes
Cliente SQL Server

Resultado

Petición OLTP

OLAP
Herramientas SQL Server
Consola administrativa

 Consola administrativa de SQL Server


 Centraliza toda la administración
 Tareas comunes:
 Configuración de SQL Server
 Seguridad
 Creación y diseño de base de datos
 Actividades de mantenimiento
 Backup, exportación, monitorización, log…
¿Qué es SQL Server?
Servicios de SQL Server

Servicio Gestión de datos


MSSQLServer Proceso de sentencias
Integridad de datos

Servicio Trabajos

SQLServerAgent Alertas
Operadores

SQL Server Microsoft Distributed Gestión de transacciones


Transaction Coordinator distribuidas

Microsoft Search Catálogos Full-Text


Indices Full-Text
Estructura de una base de datos
Archivos

Database

Fichero de datos Fichero de log


.mdf o .ndf .ldf

Tablas, índices

Datos
Estructura de una base de datos
Transacciones

1 La aplicación envía una


modificación 3 La modificación es guardada
en el log

Cache y búfer Archivo log

2
Archivo de datos
Se cargan las páginas en
memoria y se modifican
4
Un checkpoint
escribe las páginas
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 ClienteID Fecha Precio PrecioConTasas Foto
int nchar datetime money Precio*0,16 image

 Multitud de tipos por defecto


 int, decimal, money, datetime, nvarchar, ntext,
image…
 Permite añadir los propios
Estructura de una base de datos
Integridad de datos

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

 Aceleran las consultas


 Formados por una o varias columnas
 Automatizados con Index Tuning Wizard
Akhtar

Martin
Akhtar Martin
Ganio Smith
… …

Akhtar ... Ganio ... Martin ... Smith ...


Barr ... Hall ... Martin ... Smith ...
Con ... Jone ... Ota ... Smith ...
Funk ... Jones ... Phua ... White ...
Funk ... Jones ... Rudd ... White ...
… ... … ... … ... … ...
Programación de SQL Server
Ejecución de sentencias SQL

 Lenguaje Transact-SQL

 Tres cometidos
 Manipulación de datos
 SELECT, INSERT, UPDATE, DELETE
 Definición de datos
 CREATE, ALTER, DROP
 Control de datos
 GRANT, DENY, REVOKE
Selección de datos
Programación de SQL Server
Ejecución de sentencias SQL (II)

 Operadores
 =, <, <>, AND, NOT…
 Funciones
 AVG, SUM, DB_NAME…
 Control de flujo
 IF, ELSE; WHILE…
 Unión de tablas
 JOIN, UNION…
Programación de SQL Server
Procedimientos almacenados

 Sentencias T-SQL almacenadas en servidor


 Aceptan parámetros de entrada / salida
 Ventajas
 Lógica ejecutada en servidor
 Evita movimiento de datos
 Precompiladas

SELECT * FROM Orders WHERE


RequiredDate < GETDATE() AND
ShippedDate IS Null
Programación de SQL Server
Desencadenadores (Triggers)

 Procedimiento almacenado enlazado a la


modificación 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 más de un registro a la vez’)
END
Acceso a datos con ADO.NET
Modelo tradicional Base de datos
Introducción a ADO.NET
 Es una parte integral del framework
 Último paradigma propuesto por Microsoft

 Resuelve los siguientes problemas


 Utiliza XML para el transporte de información
 Se pueden enviar resultados a través de
Internet
 Es posible integrar orígenes XML con facilidad,
ej. Servicio Web.
Introducción a ADO.NET
 El espacio de nombres raíz para ADO.NET
es System.Data
 Soporte para varias tecnologías (incluso XML)
System

Data

SQLClient

OracleClient

OleDB

Odbc
Base de datos
Básicas del modelo
desconectado
 Trabajo con infor. en memoria (caché)
 Básicamente se producen 3 etapas:
 Se obtiene la información y se desconecta del
origen
 Se modifica la información
 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)
Básicas del modelo
desconectado
 El Adaptador es el encargado de efectuar la
conexión
 Funciona como un ‘enchufe’ entre los datos y
la base de datos
 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)
 Hay uno genérico (OleDbDataAdapter) y
uno específico para SQL Server
(SqlDataAdapter)
Manipulación de datos
 Espacio System.Data
 Contiene los objetos desconectados

 La manipulación se efectúa 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")
Manipulación de datos
Capa de presentación
Windows forms
Aplicación.Exe

Dataset

Internet Capa de negocios


Web forms intranet
IE Dataset DataAdapter
Dataset Xml
DataAdapter
Capa de
datos

Negocio a Negocio
ADO.NET en el modelo
desconectado
Estructura de la información
 El DataSet contiene 3 colecciones
 DataTable
 DataColumn
 DataRow

 En algunos casos se puede utilizar también a


DataRelation y Constraint
Estructura de la información
Modificación de datos
 Conciliación
 Se deben tener los 4 comandos en el adaptador
Propiedad Descripció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.
Modificación de datos
Modificación de datos
 Para sincronizar con el origen, se debe
invocar al método Update del Adaptador
AdaptadorTiendas.Update(DS, "Stores")

 Por último cambiar el estado de las filas


DS.Tables("Stores").AcceptChanges()

Private Sub Conciliar_Click(...


'Envía 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 información jerárquicamente
DataSet
 Controlar restricciones, proponer valores por
defecto, crear columnas calculadas
 Leer/Escribir a XML el esquema de la tabla y/o
información
 WriteXML
 ReadXML
 Consumir información XML
Crystal Reports y su relación
con ADO.NET
 Crystal puede consumir información trabajando
bajo el modelo conectado o desconectado
 Se conoce en Crystal como el modelo Push
Resumiendo…
ADO ADO.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 Se comunica a la DB utilizando
del Recordset mediante una el objeto DataAdapter
conexión
Bloqueos activos No existen los bloqueos,
aunque pueden haber otros
conflictos…
© 2004 Erich R. Bühler

También podría gustarte