SlideShare une entreprise Scribd logo
1  sur  28
Tablas temporales en
SQL Server 2016 y
Azure SQL Database v12
Jose Redondo
Microsoft Data Platform MVP
Latam (Avanet & FirstCloud) | USA (ITProCamp)
Quien soy?
Jose Redondo
Data Platform MVP Latam | Arquitecto de datos | Experto en soluciones
de Inteligencia de Negocio y Bodegas de datos | Consultor |
Conferencista Microsoft en Latinoamérica y USA
Amante del compartir el conocimiento tecnológico y la buena cultura
Twitter: @redondoj
LinkedIn: linkedin.com/in/redondoj
Blog: redondoj.wordpress.com
E-Mail: redondoj@gmail.com
Agenda
• Que es?
• Porque temporal?
• Como trabajan?
• Sintaxis de Comandos T-SQL
• Como funciona “System-Time”?
• Como consultarlas?
• Limitaciones
• Demos
Que es?
• Nuevo tipo de tabla de usuario.
• Tiene como objetivo mantener
un completo historial de
cambios en los datos.
• Permite análisis de tiempo por
su contenido.
• Es administrado por el motor de
base de datos.
• Es referenciado a otra tabla
espejo (Mirrored Schema).
Porque Temporal?
• Orígenes de datos reales dinámicas.
• Su uso no involucra escenarios de tomas de
decisiones empresariales.
Casos de usos:
• Auditar cambios.
• Permite analizar los datos conociendo el pasado de su uso.
• Reproduce el estado de los datos desde cualquier punto
anterior.
• Calcula tendencias de escenarios empresariales en el
tiempo.
• Mantiene SCD (Slowly Changing Dimension).
• Recuperación de cambios de datos circunstanciales
producto de errores de aplicaciones.
Como trabajan?
No hay cambio en el modelo de programación Nueva perspectiva
INSERT / BULK INSERT
UPDATE
DELETE
MERGE
DML SELECT * FROM temporal
Querying
CREATE temporal
TABLE PERIOD FOR
SYSTEM_TIME…
ALTER regular_table
TABLE ADD PERIOD…
DDL
FOR SYSTEM_TIME
AS OF
FROM..TO
BETWEEN..AND
CONTAINED IN
Temporal Querying
Tabla Temporal (Datos actuales)
Insert / Bulk Insert
* Antigua versión
Update */ Delete *
Tabla Histórica
Tipo de datos Datatime2
Sintaxis de comandos T-SQL
Sintaxis de comandos T-SQL
Comando BETWEEN
SELECT * FROM Administracion.Proveedores
FOR SYSTEM_TIME BETWEEN @FechaInicio AND @FechaFin
WHERE ID_Proveedores = 42
Proporciona información precisa sobre los datos almacenados en cualquier punto en el tiempo, o entre 2
puntos en el tiempo.
Hay dos conjuntos de escenarios de sistemas ortogonales en cuanto a datos temporales:
• SYSTEM(TRANSACTION)-TIME
• APPLICATION-TIME
Como funciona “System-Time”?
Tabla Temporal (Datos actuales)
Consultas Temporales *
(Citas medicas, Itinerario de vuelos, etc.)
Tabla Histórica
Consultas recurrentes
(Data actual)
* Incluye Versión
Histórica
Como consultarlas?
Expresión Establecer resultados
AS OF <date_time> SysStartTime < = date_time AND SysEndTime >
date_time
FROM <start_date_time> TO <end_date_time> SysStartTime < end_date_time AND SysEndTime >
start_date_time
BETWEEN <start_date_time> AND <end_date_time> SysStartTime < = end_date_time AND SysEndTime >
start_date_time
CONTAINED IN (<start_date_time>,
<end_date_time>
SysStartTime > = start_date_time AND SysEndTime <
= end_date_time
Limitaciones
• Una tabla temporal debe tener una clave principal definida.
• Las tablas históricas no puede tener restricciones como clave principal, clave foránea,
constraints de tabla o columna.
• Los comandos INSERT y UPDATE no puede hacer referencia a las columnas de periodo de
SYSTEM_TIME.
• TRUNCATE TABLE no se admite mientras SYSTEM_VERSIONING está activado.
• No se permite la modificación directa de los datos en una tabla histórica.
• Los desencadenadores (Triggers) INSTEAD OF no es permitido en la tabla actual y la histórica.
Los desencadenadores AFTER son solamente permitidos en la actual tabla.
• El comando REPLICATION es permitido limitadamente para algunas propiedades de los
objetos de datos en contexto.
Demos
Preguntas & Respuestas
Recursos
• Documentación MSDN
• Channel 9
Anexos
Gracias por su asistencia
SQL Server 2016

Contenu connexe

Tendances

Ciclo webinars avanttic - Actualiza tu base de datos Oracle (1/3) "Full equi...
Ciclo webinars avanttic  - Actualiza tu base de datos Oracle (1/3) "Full equi...Ciclo webinars avanttic  - Actualiza tu base de datos Oracle (1/3) "Full equi...
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (1/3) "Full equi...
avanttic Consultoría Tecnológica
 

Tendances (20)

Column stored index
Column stored index Column stored index
Column stored index
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
Microsoft Azure SQL Database
Microsoft Azure SQL DatabaseMicrosoft Azure SQL Database
Microsoft Azure SQL Database
 
SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
 
In memory
In memoryIn memory
In memory
 
Recuperación ante desastres y continuidad del negocio con Azure SQL Database
Recuperación ante desastres y continuidad del negocio con Azure SQL DatabaseRecuperación ante desastres y continuidad del negocio con Azure SQL Database
Recuperación ante desastres y continuidad del negocio con Azure SQL Database
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidad
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017
 
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datosMS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Consideraciones de sql server hardware
Consideraciones de sql server hardwareConsideraciones de sql server hardware
Consideraciones de sql server hardware
 
Power BI. Dando el salto a la nube con los pies en el suelo
Power BI. Dando el salto a la nube con los pies en el sueloPower BI. Dando el salto a la nube con los pies en el suelo
Power BI. Dando el salto a la nube con los pies en el suelo
 
10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs
 
Azure SQL Data Warehouse - 24 horas de PASS
Azure SQL Data Warehouse - 24 horas de PASS Azure SQL Data Warehouse - 24 horas de PASS
Azure SQL Data Warehouse - 24 horas de PASS
 
Base de datos
Base de datosBase de datos
Base de datos
 
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (1/3) "Full equi...
Ciclo webinars avanttic  - Actualiza tu base de datos Oracle (1/3) "Full equi...Ciclo webinars avanttic  - Actualiza tu base de datos Oracle (1/3) "Full equi...
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (1/3) "Full equi...
 
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
 

Similaire à Tablas temporales en SQL Server 2016 y Azure SQL Database v12

Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTASIntroducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Julián Castiblanco
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
Eje temático Nº 1 - Diseño de Sistemas
Eje temático Nº 1 - Diseño de SistemasEje temático Nº 1 - Diseño de Sistemas
Eje temático Nº 1 - Diseño de Sistemas
Karenpenr
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
ricardosusa5
 

Similaire à Tablas temporales en SQL Server 2016 y Azure SQL Database v12 (20)

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
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furioso
 
Diseño
DiseñoDiseño
Diseño
 
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTASIntroducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
 
Arquitectura de referencia para sistemas en tiempo real
Arquitectura de referencia para sistemas en tiempo realArquitectura de referencia para sistemas en tiempo real
Arquitectura de referencia para sistemas en tiempo real
 
Primer Eje Temático - Diseño de Sistemas
Primer Eje Temático - Diseño de SistemasPrimer Eje Temático - Diseño de Sistemas
Primer Eje Temático - Diseño de Sistemas
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
 
Eje temático Nº 1 - Diseño de Sistemas
Eje temático Nº 1 - Diseño de SistemasEje temático Nº 1 - Diseño de Sistemas
Eje temático Nº 1 - Diseño de Sistemas
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Revista TicNews Enero 2015
Revista TicNews  Enero 2015Revista TicNews  Enero 2015
Revista TicNews Enero 2015
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
 
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
 
Análisis y diseño de sistemas sesion 12 - diagrama de secuencia
Análisis y diseño de sistemas   sesion 12 - diagrama de secuenciaAnálisis y diseño de sistemas   sesion 12 - diagrama de secuencia
Análisis y diseño de sistemas sesion 12 - diagrama de secuencia
 
Analisis
AnalisisAnalisis
Analisis
 
Trabajo ayudantia
Trabajo ayudantiaTrabajo ayudantia
Trabajo ayudantia
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
 

Plus de Joseph Lopez

Plus de Joseph Lopez (17)

Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
Microsoft Azure Data Environment
Microsoft Azure Data EnvironmentMicrosoft Azure Data Environment
Microsoft Azure Data Environment
 
DBA para SharePoint
DBA para SharePointDBA para SharePoint
DBA para SharePoint
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivas
 
Introduccion a Power BI
Introduccion a Power BIIntroduccion a Power BI
Introduccion a Power BI
 
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
 
Inteligencia de Negocio - Que Planeta es eso?
Inteligencia de Negocio - Que Planeta es eso?Inteligencia de Negocio - Que Planeta es eso?
Inteligencia de Negocio - Que Planeta es eso?
 
Introduccion a las Bodegas de Datos
Introduccion a las Bodegas de DatosIntroduccion a las Bodegas de Datos
Introduccion a las Bodegas de Datos
 
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
 
Generando Toma de Decisiones Inteligente con Microsoft Big Data
Generando Toma de Decisiones Inteligente con Microsoft Big DataGenerando Toma de Decisiones Inteligente con Microsoft Big Data
Generando Toma de Decisiones Inteligente con Microsoft Big Data
 
Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...
Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...
Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...
 
Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014
Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014
Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL Azure
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (10)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Tablas temporales en SQL Server 2016 y Azure SQL Database v12

  • 1. Tablas temporales en SQL Server 2016 y Azure SQL Database v12 Jose Redondo Microsoft Data Platform MVP Latam (Avanet & FirstCloud) | USA (ITProCamp)
  • 2. Quien soy? Jose Redondo Data Platform MVP Latam | Arquitecto de datos | Experto en soluciones de Inteligencia de Negocio y Bodegas de datos | Consultor | Conferencista Microsoft en Latinoamérica y USA Amante del compartir el conocimiento tecnológico y la buena cultura Twitter: @redondoj LinkedIn: linkedin.com/in/redondoj Blog: redondoj.wordpress.com E-Mail: redondoj@gmail.com
  • 3. Agenda • Que es? • Porque temporal? • Como trabajan? • Sintaxis de Comandos T-SQL • Como funciona “System-Time”? • Como consultarlas? • Limitaciones • Demos
  • 4. Que es? • Nuevo tipo de tabla de usuario. • Tiene como objetivo mantener un completo historial de cambios en los datos. • Permite análisis de tiempo por su contenido. • Es administrado por el motor de base de datos. • Es referenciado a otra tabla espejo (Mirrored Schema).
  • 5. Porque Temporal? • Orígenes de datos reales dinámicas. • Su uso no involucra escenarios de tomas de decisiones empresariales. Casos de usos: • Auditar cambios. • Permite analizar los datos conociendo el pasado de su uso. • Reproduce el estado de los datos desde cualquier punto anterior. • Calcula tendencias de escenarios empresariales en el tiempo. • Mantiene SCD (Slowly Changing Dimension). • Recuperación de cambios de datos circunstanciales producto de errores de aplicaciones.
  • 6. Como trabajan? No hay cambio en el modelo de programación Nueva perspectiva INSERT / BULK INSERT UPDATE DELETE MERGE DML SELECT * FROM temporal Querying CREATE temporal TABLE PERIOD FOR SYSTEM_TIME… ALTER regular_table TABLE ADD PERIOD… DDL FOR SYSTEM_TIME AS OF FROM..TO BETWEEN..AND CONTAINED IN Temporal Querying
  • 7. Tabla Temporal (Datos actuales) Insert / Bulk Insert * Antigua versión Update */ Delete * Tabla Histórica Tipo de datos Datatime2
  • 10. Comando BETWEEN SELECT * FROM Administracion.Proveedores FOR SYSTEM_TIME BETWEEN @FechaInicio AND @FechaFin WHERE ID_Proveedores = 42 Proporciona información precisa sobre los datos almacenados en cualquier punto en el tiempo, o entre 2 puntos en el tiempo. Hay dos conjuntos de escenarios de sistemas ortogonales en cuanto a datos temporales: • SYSTEM(TRANSACTION)-TIME • APPLICATION-TIME
  • 11. Como funciona “System-Time”? Tabla Temporal (Datos actuales) Consultas Temporales * (Citas medicas, Itinerario de vuelos, etc.) Tabla Histórica Consultas recurrentes (Data actual) * Incluye Versión Histórica
  • 12. Como consultarlas? Expresión Establecer resultados AS OF <date_time> SysStartTime < = date_time AND SysEndTime > date_time FROM <start_date_time> TO <end_date_time> SysStartTime < end_date_time AND SysEndTime > start_date_time BETWEEN <start_date_time> AND <end_date_time> SysStartTime < = end_date_time AND SysEndTime > start_date_time CONTAINED IN (<start_date_time>, <end_date_time> SysStartTime > = start_date_time AND SysEndTime < = end_date_time
  • 13. Limitaciones • Una tabla temporal debe tener una clave principal definida. • Las tablas históricas no puede tener restricciones como clave principal, clave foránea, constraints de tabla o columna. • Los comandos INSERT y UPDATE no puede hacer referencia a las columnas de periodo de SYSTEM_TIME. • TRUNCATE TABLE no se admite mientras SYSTEM_VERSIONING está activado. • No se permite la modificación directa de los datos en una tabla histórica. • Los desencadenadores (Triggers) INSTEAD OF no es permitido en la tabla actual y la histórica. Los desencadenadores AFTER son solamente permitidos en la actual tabla. • El comando REPLICATION es permitido limitadamente para algunas propiedades de los objetos de datos en contexto.
  • 14. Demos
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Gracias por su asistencia SQL Server 2016