SlideShare una empresa de Scribd logo
1 de 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
SQL Server
Cliente
Resultado
OLAP
OLTP
Petición
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
Microsoft Distributed
Transaction Coordinator
Servicio
MSSQLServer
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
Estructura de una base de
datos
Archivos
Tablas, índices
Datos
Database
Fichero de datos
.mdf o .ndf
Fichero de log
.ldf
Estructura de una base de
datos
Transacciones
La aplicación envía una
modificación
1
Archivo log
La modificación es guardada
en el log
3
Se cargan las páginas en
memoria y se modifican
2
Cache y búfer
Archivo de datos
Un checkpoint
escribe las páginas
de memoria a disco
4
Estructura de una base de
datos
Tipos y tablas
 Tablas
 Formadas por columnas con tipo
 Las columnas pueden ser funciones SQL
 Multitud de tipos por defecto
 int, decimal, money, datetime, nvarchar, ntext,
image…
 Permite añadir los propios
OrderID ClienteID Fecha Precio PrecioConTasas Foto
int nchar image
datetime money Precio*0,16
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 ...
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
…
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 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
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
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

Más contenido relacionado

Similar a SQL_ADO.NET.ppt (20)

Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Sql td a
Sql   td aSql   td a
Sql td a
 
Sql server2000-tuto
Sql server2000-tutoSql server2000-tuto
Sql server2000-tuto
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdf
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Amnel
AmnelAmnel
Amnel
 
ADO
ADOADO
ADO
 
Cubos ppt
Cubos pptCubos ppt
Cubos ppt
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Sql
SqlSql
Sql
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Herramientas de control,monitoreoy estadistica de bd
Herramientas de control,monitoreoy estadistica de bdHerramientas de control,monitoreoy estadistica de bd
Herramientas de control,monitoreoy estadistica de bd
 
Tsql
TsqlTsql
Tsql
 
ADO .net
ADO .netADO .net
ADO .net
 
Herramientas De Control De B D
Herramientas De Control De B DHerramientas De Control De B D
Herramientas De Control De B D
 
Base de datos en microsoft sql server
Base de datos en microsoft sql serverBase de datos en microsoft sql server
Base de datos en microsoft sql server
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 

Último

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 

Último (19)

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 

SQL_ADO.NET.ppt

  • 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  Transacciones: OLTP  Análisis: OLAP  Atiende a peticiones de clientes SQL Server Cliente Resultado OLAP OLTP Petición
  • 3. 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…
  • 4. ¿Qué es SQL Server? Servicios de SQL Server Microsoft Distributed Transaction Coordinator Servicio MSSQLServer 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 Database Fichero de datos .mdf o .ndf Fichero de log .ldf
  • 6. Estructura de una base de datos Transacciones La aplicación envía una modificación 1 Archivo log La modificación es guardada en el log 3 Se cargan las páginas en memoria y se modifican 2 Cache y búfer Archivo de datos Un checkpoint escribe las páginas de memoria a disco 4
  • 7. Estructura de una base de datos Tipos y tablas  Tablas  Formadas por columnas con tipo  Las columnas pueden ser funciones SQL  Multitud de tipos por defecto  int, decimal, money, datetime, nvarchar, ntext, image…  Permite añadir los propios OrderID ClienteID Fecha Precio PrecioConTasas Foto int nchar image datetime money Precio*0,16
  • 8. 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
  • 9. Estructura de una base de datos Índices  Aceleran las consultas  Formados por una o varias columnas  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  Tres cometidos  Manipulación de datos  SELECT, INSERT, UPDATE, DELETE  Definición de datos  CREATE, ALTER, DROP  Control de datos  GRANT, DENY, REVOKE
  • 12. 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…
  • 13. 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
  • 14. 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
  • 15. Acceso a datos con ADO.NET
  • 17. 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.
  • 18. 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
  • 20. 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)
  • 21. 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)
  • 22. 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
  • 23. 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")
  • 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  DataTable  DataColumn  DataRow  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  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.
  • 30. 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
  • 31. DataSet  Es posible  Indicar relaciones y restricciones entre tablas  Crear DS ‘virtuales’  Exhibir la información jerárquicamente
  • 32. 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
  • 33. 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
  • 34. 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…
  • 35. © 2004 Erich R. Bühler