Download Presentación de PowerPoint

Document related concepts

ADO.NET wikipedia , lookup

SQL Server Compact wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Base de datos en memoria wikipedia , lookup

Tabla (base de datos) wikipedia , lookup

Transcript
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
MSSQLServer



Servicio
SQLServerAgent



SQL Server
Microsoft Distributed
Transaction Coordinator
Microsoft Search
Gestión de datos
Proceso de sentencias
Integridad de datos
Trabajos
Alertas
Operadores
Gestión de transacciones
distribuidas



Catálogos Full-Text
Indices Full-Text
Estructura de una base de
datos
Archivos
Database
Fichero de datos
.mdf o .ndf
Tablas, índices
Datos
Fichero de log
.ldf
Estructura de una base de
datos
Transacciones
1
La aplicación envía una
modificación
Cache y búfer
2
Se cargan las páginas en
memoria y se modifican
3
La modificación es guardada
en el log
Archivo log
Archivo de datos
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
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 añadir los propios
Estructura de una base de
datos
Integridad de datos

De columna


De entidad



Valor por defecto, valores admitidos
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
Ganio
…
Akhtar
Barr
Con
Funk
Funk
…
...
...
...
...
...
...
Akhtar
…
Martin
Ganio
Hall
Jone
Jones
Jones
…
...
...
...
...
...
...
Martin
Smith
…
Martin
Martin
Ota
Phua
Rudd
…
...
...
...
...
...
...
Smith
Smith
Smith
White
White
…
...
...
...
...
...
...
Programación de SQL Server
Ejecución de sentencias SQL

Lenguaje Transact-SQL

Tres cometidos

Manipulación de datos


Definición de datos


SELECT, INSERT, UPDATE, DELETE
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


Funciones


AVG, SUM, DB_NAME…
Control de flujo


=, <, <>, AND, NOT…
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
intranet
Web forms
IE
Dataset
Negocio a Negocio
Xml
Capa de negocios
Dataset DataAdapter
DataAdapter
Capa de
datos
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.
Almacena la información necesaria para
agregar una fila al origen.
InsertCommand
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
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…
© 2004 Erich R. Bühler