SlideShare una empresa de Scribd logo
Introducción a ADO.NET y
Introducción a ADO.NET y
SQL Server 2000
SQL Server 2000
Erich Bühler
Erich Bühler
MVP
MVP
¿Qué es SQL Server?
¿Qué es SQL Server?
Tareas
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 Server
Cliente
Resultado
Resultado
OLAP
OLAP
OLTP
OLTP
Petición
Petición
Herramientas SQL Server
Herramientas SQL Server
Consola administrativa
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…
¿Qué es SQL Server?
¿Qué es SQL Server?
Servicios de 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
Estructura de una base de datos
Archivos
Archivos
Tablas, índices
Tablas, índices
Datos
Datos
Database
Database
Fichero de datos
Fichero de datos
.mdf o .ndf
.mdf o .ndf
Fichero de log
Fichero de log
.ldf
.ldf
Estructura de una base de datos
Estructura de una base de datos
Transacciones
Transacciones
La aplicación envía una
La aplicación envía una
modificación
modificación
1
1
Archivo log
Archivo log
La modificación es guardada
La modificación es guardada
en el log
en el log
3
3
Se cargan las páginas en
Se cargan las páginas en
memoria y se modifican
memoria y se modifican
2
2
Cache y búfer
Cache y búfer
Archivo de datos
Archivo de datos
Un checkpoint
Un checkpoint
escribe las páginas
escribe las páginas
de memoria a disco
de memoria a disco
4
4
Estructura de una base de datos
Estructura de una base de datos
Tipos y tablas
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,
int, decimal, money, datetime, nvarchar, ntext,
image…
image…
 Permite añadir los propios
Permite añadir los propios
OrderID
OrderID ClienteID
ClienteID Fecha
Fecha Precio
Precio PrecioConTasas
PrecioConTasas Foto
Foto
int
int nchar image
datetime money Precio*0,16
Estructura de una base de datos
Estructura de una base de datos
Integridad 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
Estructura de una base de datos
Estructura de una base de datos
Índices
Í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
…
Programación de SQL Server
Programación de SQL Server
Ejecución de sentencias SQL
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
Selección de datos
Selección de datos
Programación de SQL Server
Programación de SQL Server
Ejecución de sentencias SQL (II)
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…
Programación de SQL Server
Programación de SQL Server
Procedimientos almacenados
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
Programación de SQL Server
Programación de SQL Server
Desencadenadores (Triggers)
Desencadenadores (Triggers)
 Procedimiento almacenado enlazado a la
Procedimiento almacenado enlazado a la
modificación de una tabla
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
Acceso a datos con ADO.NET
Acceso a datos con ADO.NET
Modelo tradicional
Modelo tradicional Base de datos
Base de datos
Introducción a ADO.NET
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
Se pueden enviar resultados a través de
Internet
Internet
 Es posible integrar orígenes XML con facilidad,
Es posible integrar orígenes XML con facilidad,
ej. Servicio Web.
ej. Servicio Web.
Introducción a ADO.NET
Introducción a ADO.NET
 El espacio de nombres raíz para ADO.NET
El espacio de nombres raíz para ADO.NET
es System.Data
es System.Data
 Soporte para varias tecnologías (incluso XML)
Soporte para varias tecnologías (incluso XML)
System
System
Data
Data
SQLClient
SQLClient
OracleClient
OracleClient
OleDB
OleDB
Odbc
Odbc
Base de datos
Base de datos
Básicas del modelo
Básicas del modelo
desconectado
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
Se obtiene la información y se desconecta del
origen
origen
 Se modifica la información
Se modifica la información
 Se conecta nuevamente y concilia con la base
Se conecta nuevamente y concilia con la base
de datos
de datos
 Ahorro de conexiones y mejoras para
Ahorro de conexiones y mejoras para
aplicaciones distribuidas, pero tener en
aplicaciones distribuidas, pero tener en
cuenta la concurrencia!! (sqlranger.com)
cuenta la concurrencia!! (sqlranger.com)
Básicas del modelo
Básicas del modelo
desconectado
desconectado
 El Adaptador es el encargado de efectuar la
El Adaptador es el encargado de efectuar la
conexión
conexión
 Funciona como un ‘enchufe’ entre los datos y
Funciona como un ‘enchufe’ entre los datos y
la base de datos
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
Hace transparente la obtención de datos de
cualquier origen (se encarga a bajo nivel de
cualquier origen (se encarga a bajo nivel de
la re-conexión)
la re-conexión)
 Hay uno genérico (OleDbDataAdapter) y
Hay uno genérico (OleDbDataAdapter) y
uno específico para SQL Server
uno específico para SQL Server
(SqlDataAdapter)
(SqlDataAdapter)
Manipulación de datos
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
La manipulación se efectúa mediante el
objeto DataSet
objeto DataSet
 Caché de datos
Caché de datos
 Relacional
Relacional
Carga del DataSet
Carga del DataSet
Dim StrConexion As String, StrComandoAutores As String
Dim StrConexion As String, StrComandoAutores As String
Dim StrComandoEmpleado As String, StrComandoTiendas 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;
StrConexion = "Provider=SQLOLEDB.1;User ID=sa;Persist Security Info=False;
InitialCatalog=pubs; Data Source=MiServidor"
InitialCatalog=pubs; Data Source=MiServidor"
StrComandoAutores = "Select * FROM Authors"
StrComandoAutores = "Select * FROM Authors"
StrComandoEmpleado = "Select * FROM Employee"
StrComandoEmpleado = "Select * FROM Employee"
StrComandoTiendas = "Select * FROM Stores"
StrComandoTiendas = "Select * FROM Stores"
AdAutores = New OleDb.OleDbDataAdapter(StrComandoAutores, StrConexion)
AdAutores = New OleDb.OleDbDataAdapter(StrComandoAutores, StrConexion)
AdEmpleado = New OleDbDataAdapter(StrComandoEmpleados, StrConexion)
AdEmpleado = New OleDbDataAdapter(StrComandoEmpleados, StrConexion)
AdTiendas = New OleDbDataAdapter(StrComandoTiendas, StrConexion)
AdTiendas = New OleDbDataAdapter(StrComandoTiendas, StrConexion)
…
…
AdAutores.Fill(DS, "Authors")
AdAutores.Fill(DS, "Authors")
AdEmpleado.Fill(DS, "Employee")
AdEmpleado.Fill(DS, "Employee")
AdTiendas.Fill(DS, "Stores")
AdTiendas.Fill(DS, "Stores")
Manipulación de datos
Manipulación de datos
Capa de negocios
Capa de negocios
Capa de
Capa de
datos
datos
Capa de presentación
Capa de presentación
Web forms
Web forms
Negocio a Negocio
Negocio a Negocio
Dataset
Dataset
Dataset
Dataset
Internet
Internet
intranet
intranet
DataAdapter
DataAdapter
DataAdapter
DataAdapter
Xml
Xml
Aplicación.Exe
Aplicación.Exe
IE
IE
Dataset
Dataset
Windows forms
Windows forms
ADO.NET en el modelo
ADO.NET en el modelo
desconectado
desconectado
Estructura de la información
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
En algunos casos se puede utilizar también a
DataRelation y Constraint
DataRelation y Constraint
Estructura de la información
Estructura de la información
Modificación de datos
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
Propiedad
Propiedad Descripción
Descripción
SelectCommand
SelectCommand Almacena la información necesaria para
Almacena la información necesaria para
obtener las filas de una tabla a cargar en
obtener las filas de una tabla a cargar en
el DataSet.
el DataSet.
UpdateCommand
UpdateCommand Almacena la información necesaria para
Almacena la información necesaria para
llevar acabo una modificación sobre
llevar acabo una modificación sobre
una fila del origen.
una fila del origen.
InsertCommand
InsertCommand Almacena la información necesaria para
Almacena la información necesaria para
agregar una fila al origen.
agregar una fila al origen.
DeleteCommand
DeleteCommand Almacena la información necesaria para
Almacena la información necesaria para
eliminar una fila de la base de datos.
eliminar una fila de la base de datos.
Modificación de datos
Modificación de datos
Modificación de datos
Modificación de datos
 Para sincronizar con el origen, se debe
Para sincronizar con el origen, se debe
invocar al método Update del Adaptador
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 filas
DS.Tables("Stores").AcceptChanges()
DS.Tables("Stores").AcceptChanges()
Private Sub Conciliar_Click(...
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
'Indica que las filas de esta tabla ya han sido
enviadas.
enviadas.
DS.Tables("Stores").AcceptChanges()
DS.Tables("Stores").AcceptChanges()
End Sub
End Sub
DataSet
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
DataSet
DataSet
 Controlar restricciones, proponer valores por
Controlar restricciones, proponer valores por
defecto, crear columnas calculadas
defecto, crear columnas calculadas
 Leer/Escribir a XML el esquema de la tabla y/o
Leer/Escribir a XML el esquema de la tabla y/o
información
información
 WriteXML
WriteXML
 ReadXML
ReadXML
 Consumir información XML
Consumir información XML
Crystal Reports y su relación
Crystal Reports y su relación
con ADO.NET
con ADO.NET
 Crystal puede consumir información trabajando
Crystal puede consumir información trabajando
bajo el modelo conectado o desconectado
bajo el modelo conectado o desconectado
 Se conoce en Crystal como el modelo Push
Se conoce en Crystal como el modelo Push
Resumiendo…
Resumiendo…
ADO
ADO ADO.NET
ADO.NET
Utiliza Recordset
Utiliza Recordset Utiliza DataSet
Utiliza DataSet
Requiere consultas JOIN
Requiere consultas JOIN Se utilizan métodos de
Se utilizan métodos de
ADO.NET que utilizan
ADO.NET que utilizan
DataRelation
DataRelation
Se comunica a la DB a través
Se comunica a la DB a través
del Recordset mediante una
del Recordset mediante una
conexión
conexión
Se comunica a la DB utilizando
Se comunica a la DB utilizando
el objeto DataAdapter
el objeto DataAdapter
Bloqueos activos
Bloqueos activos No existen los bloqueos,
No existen los bloqueos,
aunque pueden haber otros
aunque pueden haber otros
conflictos…
conflictos…
© 2004 Erich R. Bühler
© 2004 Erich R. Bühler

Más contenido relacionado

PDF
Introducción a ADONET y SQL Server RESUMEN.pdf
PPT
SQL_ADO.NET.ppt
PPTX
SQL_ADO.NET.pptx
PPT
Administracinyprogramacinensql server
PPT
Administración y programación en sql server
PDF
Sql
PPT
visual basic .net
PPTX
Modoconexion
Introducción a ADONET y SQL Server RESUMEN.pdf
SQL_ADO.NET.ppt
SQL_ADO.NET.pptx
Administracinyprogramacinensql server
Administración y programación en sql server
Sql
visual basic .net
Modoconexion

Similar a SQL_ADO.NET.pptSQL_ADO.NET.pptSQL_ADO.NET.ppt (20)

PPTX
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
PPTX
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
PDF
Sql server2000-tuto
PPS
ADO .NET
PPTX
Database fundamental itprosdc_chapter2
PDF
Curso sql server_administracion
PPT
Ado.Net
PPTX
Sql server 2014 básico
PPTX
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
PPTX
S3-PD1-2.1 Ado net
PPTX
Presentacion
PPT
Curso sql server 2012 clase 1
PDF
Sistema Ado.Net
PPTX
Espacio de nombres system.data.sql client
PPT
Conexión a SQL Server con C#.NET a través de ODBC
DOCX
Practica sql i,ii
PPTX
LENGUAJE TRANSACT - SQL
PPSX
Ochoa ornelas raquel_acceso a una base de datos
PDF
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
Sql server2000-tuto
ADO .NET
Database fundamental itprosdc_chapter2
Curso sql server_administracion
Ado.Net
Sql server 2014 básico
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
S3-PD1-2.1 Ado net
Presentacion
Curso sql server 2012 clase 1
Sistema Ado.Net
Espacio de nombres system.data.sql client
Conexión a SQL Server con C#.NET a través de ODBC
Practica sql i,ii
LENGUAJE TRANSACT - SQL
Ochoa ornelas raquel_acceso a una base de datos
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
Publicidad

Más de rpatonubi (15)

PPTX
Unit-1.pptxUnit-1.pptxUnit-1.pptxUnit-1.pptx
PPTX
Unit-1-es.pptx Unit-1-es.pptxUnit-1-es.pptx
PPTX
ExpAgentesIntro.pptxExpAgentesIntro.pptx
PPT
Agentes_inteligentes2(2005-II).ppt ExpAgentesIntro.pptx
PPTX
docker_1.pptxdocker_1.pptxdocker_1.pptxdocker_1.pptx
PPTX
M__tricas_y_KPIs.pptxM__tricas_y_KPIs.pptxM__tricas_y_KPIs.pptxM__tricas_y_KP...
PDF
mallet-tutorial.pdf mallet-tutorial.pdf mallet-tutorial.pdf
PPT
Reconocimiento de voz RUA - Tema 6.ppt Reconocimiento de voz RUA - Tema 6.ppt
PPT
Regresion T6.ppt Regresion T6.ppt Regresion T6.ppt
PPT
turban_bi2e_pp_ch01.pptturban_bi2e_pp_ch01.pptturban_bi2e_pp_ch01.pptturban_b...
PPT
PLAN y GOBIERNO.pptPLAN y GOBIERNO.pptPLAN y GOBIERNO.pptPLAN y GOBIERNO.pptP...
PPTX
Chapter1_Introduction_v2_20230112.pptxChapter1_Introduction_v2_20230112.pptx
PPT
T6.pptT6.pptT6.pptT6.pptT6.pptT6.pptT6.ppt
PPTX
plantilla-170314003514 plantilla-170314003514.pptx
PPT
PLAN y GOBIERNO - Oscar Vega PLAN y GOBIERNO - Oscar Vega
Unit-1.pptxUnit-1.pptxUnit-1.pptxUnit-1.pptx
Unit-1-es.pptx Unit-1-es.pptxUnit-1-es.pptx
ExpAgentesIntro.pptxExpAgentesIntro.pptx
Agentes_inteligentes2(2005-II).ppt ExpAgentesIntro.pptx
docker_1.pptxdocker_1.pptxdocker_1.pptxdocker_1.pptx
M__tricas_y_KPIs.pptxM__tricas_y_KPIs.pptxM__tricas_y_KPIs.pptxM__tricas_y_KP...
mallet-tutorial.pdf mallet-tutorial.pdf mallet-tutorial.pdf
Reconocimiento de voz RUA - Tema 6.ppt Reconocimiento de voz RUA - Tema 6.ppt
Regresion T6.ppt Regresion T6.ppt Regresion T6.ppt
turban_bi2e_pp_ch01.pptturban_bi2e_pp_ch01.pptturban_bi2e_pp_ch01.pptturban_b...
PLAN y GOBIERNO.pptPLAN y GOBIERNO.pptPLAN y GOBIERNO.pptPLAN y GOBIERNO.pptP...
Chapter1_Introduction_v2_20230112.pptxChapter1_Introduction_v2_20230112.pptx
T6.pptT6.pptT6.pptT6.pptT6.pptT6.pptT6.ppt
plantilla-170314003514 plantilla-170314003514.pptx
PLAN y GOBIERNO - Oscar Vega PLAN y GOBIERNO - Oscar Vega
Publicidad

Último (20)

PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Cosacos y hombres del Este en el Heer.ppt
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Híper Mega Repaso Histológico Bloque 3.pdf
Fundamentos_Educacion_a_Distancia_ABC.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas

SQL_ADO.NET.pptSQL_ADO.NET.pptSQL_ADO.NET.ppt

  • 1. Introducción a ADO.NET y Introducción a ADO.NET y SQL Server 2000 SQL Server 2000 Erich Bühler Erich Bühler MVP MVP
  • 2. ¿Qué es SQL Server? ¿Qué es SQL Server? Tareas 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 Server Cliente Resultado Resultado OLAP OLAP OLTP OLTP Petición Petición
  • 3. Herramientas SQL Server Herramientas SQL Server Consola administrativa 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? ¿Qué es SQL Server? Servicios de 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 Estructura de una base de datos Archivos Archivos Tablas, índices Tablas, índices Datos Datos Database Database Fichero de datos Fichero de datos .mdf o .ndf .mdf o .ndf Fichero de log Fichero de log .ldf .ldf
  • 6. Estructura de una base de datos Estructura de una base de datos Transacciones Transacciones La aplicación envía una La aplicación envía una modificación modificación 1 1 Archivo log Archivo log La modificación es guardada La modificación es guardada en el log en el log 3 3 Se cargan las páginas en Se cargan las páginas en memoria y se modifican memoria y se modifican 2 2 Cache y búfer Cache y búfer Archivo de datos Archivo de datos Un checkpoint Un checkpoint escribe las páginas escribe las páginas de memoria a disco de memoria a disco 4 4
  • 7. Estructura de una base de datos Estructura de una base de datos Tipos y tablas 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, int, decimal, money, datetime, nvarchar, ntext, image… image…  Permite añadir los propios Permite añadir los propios OrderID OrderID ClienteID ClienteID Fecha Fecha Precio Precio PrecioConTasas PrecioConTasas Foto Foto int int nchar image datetime money Precio*0,16
  • 8. Estructura de una base de datos Estructura de una base de datos Integridad 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 Estructura de una base de datos Índices Í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 Programación de SQL Server Ejecución de sentencias SQL 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
  • 12. Programación de SQL Server Programación de SQL Server Ejecución de sentencias SQL (II) 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 Programación de SQL Server Procedimientos almacenados 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 Programación de SQL Server Desencadenadores (Triggers) Desencadenadores (Triggers)  Procedimiento almacenado enlazado a la Procedimiento almacenado enlazado a la modificación de una tabla 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 Acceso a datos con ADO.NET
  • 16. Modelo tradicional Modelo tradicional Base de datos Base de datos
  • 17. Introducción a ADO.NET 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 Se pueden enviar resultados a través de Internet Internet  Es posible integrar orígenes XML con facilidad, Es posible integrar orígenes XML con facilidad, ej. Servicio Web. ej. Servicio Web.
  • 18. Introducción a ADO.NET Introducción a ADO.NET  El espacio de nombres raíz para ADO.NET El espacio de nombres raíz para ADO.NET es System.Data es System.Data  Soporte para varias tecnologías (incluso XML) Soporte para varias tecnologías (incluso XML) System System Data Data SQLClient SQLClient OracleClient OracleClient OleDB OleDB Odbc Odbc
  • 19. Base de datos Base de datos
  • 20. Básicas del modelo Básicas del modelo desconectado 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 Se obtiene la información y se desconecta del origen origen  Se modifica la información Se modifica la información  Se conecta nuevamente y concilia con la base Se conecta nuevamente y concilia con la base de datos de datos  Ahorro de conexiones y mejoras para Ahorro de conexiones y mejoras para aplicaciones distribuidas, pero tener en aplicaciones distribuidas, pero tener en cuenta la concurrencia!! (sqlranger.com) cuenta la concurrencia!! (sqlranger.com)
  • 21. Básicas del modelo Básicas del modelo desconectado desconectado  El Adaptador es el encargado de efectuar la El Adaptador es el encargado de efectuar la conexión conexión  Funciona como un ‘enchufe’ entre los datos y Funciona como un ‘enchufe’ entre los datos y la base de datos 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 Hace transparente la obtención de datos de cualquier origen (se encarga a bajo nivel de cualquier origen (se encarga a bajo nivel de la re-conexión) la re-conexión)  Hay uno genérico (OleDbDataAdapter) y Hay uno genérico (OleDbDataAdapter) y uno específico para SQL Server uno específico para SQL Server (SqlDataAdapter) (SqlDataAdapter)
  • 22. Manipulación de datos 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 La manipulación se efectúa mediante el objeto DataSet objeto DataSet  Caché de datos Caché de datos  Relacional Relacional
  • 23. Carga del DataSet Carga del DataSet Dim StrConexion As String, StrComandoAutores As String Dim StrConexion As String, StrComandoAutores As String Dim StrComandoEmpleado As String, StrComandoTiendas 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; StrConexion = "Provider=SQLOLEDB.1;User ID=sa;Persist Security Info=False; InitialCatalog=pubs; Data Source=MiServidor" InitialCatalog=pubs; Data Source=MiServidor" StrComandoAutores = "Select * FROM Authors" StrComandoAutores = "Select * FROM Authors" StrComandoEmpleado = "Select * FROM Employee" StrComandoEmpleado = "Select * FROM Employee" StrComandoTiendas = "Select * FROM Stores" StrComandoTiendas = "Select * FROM Stores" AdAutores = New OleDb.OleDbDataAdapter(StrComandoAutores, StrConexion) AdAutores = New OleDb.OleDbDataAdapter(StrComandoAutores, StrConexion) AdEmpleado = New OleDbDataAdapter(StrComandoEmpleados, StrConexion) AdEmpleado = New OleDbDataAdapter(StrComandoEmpleados, StrConexion) AdTiendas = New OleDbDataAdapter(StrComandoTiendas, StrConexion) AdTiendas = New OleDbDataAdapter(StrComandoTiendas, StrConexion) … … AdAutores.Fill(DS, "Authors") AdAutores.Fill(DS, "Authors") AdEmpleado.Fill(DS, "Employee") AdEmpleado.Fill(DS, "Employee") AdTiendas.Fill(DS, "Stores") AdTiendas.Fill(DS, "Stores")
  • 24. Manipulación de datos Manipulación de datos Capa de negocios Capa de negocios Capa de Capa de datos datos Capa de presentación Capa de presentación Web forms Web forms Negocio a Negocio Negocio a Negocio Dataset Dataset Dataset Dataset Internet Internet intranet intranet DataAdapter DataAdapter DataAdapter DataAdapter Xml Xml Aplicación.Exe Aplicación.Exe IE IE Dataset Dataset Windows forms Windows forms
  • 25. ADO.NET en el modelo ADO.NET en el modelo desconectado desconectado
  • 26. Estructura de la información 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 En algunos casos se puede utilizar también a DataRelation y Constraint DataRelation y Constraint
  • 27. Estructura de la información Estructura de la información
  • 28. Modificación de datos 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 Propiedad Propiedad Descripción Descripción SelectCommand SelectCommand Almacena la información necesaria para Almacena la información necesaria para obtener las filas de una tabla a cargar en obtener las filas de una tabla a cargar en el DataSet. el DataSet. UpdateCommand UpdateCommand Almacena la información necesaria para Almacena la información necesaria para llevar acabo una modificación sobre llevar acabo una modificación sobre una fila del origen. una fila del origen. InsertCommand InsertCommand Almacena la información necesaria para Almacena la información necesaria para agregar una fila al origen. agregar una fila al origen. DeleteCommand DeleteCommand Almacena la información necesaria para Almacena la información necesaria para eliminar una fila de la base de datos. eliminar una fila de la base de datos.
  • 30. Modificación de datos Modificación de datos  Para sincronizar con el origen, se debe Para sincronizar con el origen, se debe invocar al método Update del Adaptador 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 filas DS.Tables("Stores").AcceptChanges() DS.Tables("Stores").AcceptChanges() Private Sub Conciliar_Click(... 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 'Indica que las filas de esta tabla ya han sido enviadas. enviadas. DS.Tables("Stores").AcceptChanges() DS.Tables("Stores").AcceptChanges() End Sub End Sub
  • 31. DataSet 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 DataSet  Controlar restricciones, proponer valores por Controlar restricciones, proponer valores por defecto, crear columnas calculadas defecto, crear columnas calculadas  Leer/Escribir a XML el esquema de la tabla y/o Leer/Escribir a XML el esquema de la tabla y/o información información  WriteXML WriteXML  ReadXML ReadXML  Consumir información XML Consumir información XML
  • 33. Crystal Reports y su relación Crystal Reports y su relación con ADO.NET con ADO.NET  Crystal puede consumir información trabajando Crystal puede consumir información trabajando bajo el modelo conectado o desconectado bajo el modelo conectado o desconectado  Se conoce en Crystal como el modelo Push Se conoce en Crystal como el modelo Push
  • 34. Resumiendo… Resumiendo… ADO ADO ADO.NET ADO.NET Utiliza Recordset Utiliza Recordset Utiliza DataSet Utiliza DataSet Requiere consultas JOIN Requiere consultas JOIN Se utilizan métodos de Se utilizan métodos de ADO.NET que utilizan ADO.NET que utilizan DataRelation DataRelation Se comunica a la DB a través Se comunica a la DB a través del Recordset mediante una del Recordset mediante una conexión conexión Se comunica a la DB utilizando Se comunica a la DB utilizando el objeto DataAdapter el objeto DataAdapter Bloqueos activos Bloqueos activos No existen los bloqueos, No existen los bloqueos, aunque pueden haber otros aunque pueden haber otros conflictos… conflictos…
  • 35. © 2004 Erich R. Bühler © 2004 Erich R. Bühler