Cómo realizar el seguimiento de datos con sql: 2011 mesas bitemporales

A veces quieres saber tanto cuando un evento se produjo en el mundo real y cuando ese evento fue registrado en la base de datos SQL. Para casos como este, es posible utilizar una tabla que es a la vez una tabla versionada por el sistema y una tabla período de tiempo de aplicación. Estas tablas se conocen como tablas bitemporales.

Hay una serie de casos en los que una mesa bitemporal podría ser necesario. Supongamos, por ejemplo, que uno de sus empleados mueve su residencia a través de la frontera del estado de Oregon a Washington. Debe tener en cuenta el hecho de que su retención de impuestos estatales debe cambiar a partir de la fecha oficial del movimiento.

Sin embargo, es poco probable que el cambio en la base de datos se hará en exactamente el mismo día. Las dos veces necesitan ser registrados, y una mesa bitemporal pueden hacer que la grabación muy bien. El tiempo de Registro de los tiempos versionado por el sistema cuando el cambio fue notorio a la base de datos y los registros del período de tiempo de aplicación cuando el movimiento fueron legalmente en vigor. Aquí hay un código de ejemplo para crear una tabla de este tipo:

Video: Eaton's Visual Designer Interactive Training - Database Connectivity SQL DB

CREAR employee_bt TABLA (EmpID INTEGER, FECHA EmpStart, EmpEnd FECHA, EmpDept IntegerPERIOD PARA EmpPeriod (EmpStart, EmpEnd), Sys_Start marca de tiempo (12) GENERADOS ALWAYSAS ROW START, Sys_End marca de tiempo (12) GENERADOS FIN ALWAYSAS ROW, EmpName VARCHAR (30), EmpStreet VARCHAR (40), EmpCity VARCHAR (30), EmpStateProv VARCHAR (2), EmpPostalCode VARCHAR (10), el plazo de SYSTEM_TIME (Sys_Start, Sys_End), PRIMARY KEY (EmpID, EPeriod sin superposiciones), FOREIGN KEY (EDept, PERIODO EPeriod) Referencias Dept (DeptID, PERIODO dperiod)) con el sistema de VERSIONING-

bitemporales tablas sirven a los propósitos de ambas tablas versionado por el sistema y las tablas de tiempo de aplicación. El usuario proporciona valores para las columnas de inicio y final período de tiempo de aplicación. Un INSERTAR operación en una tabla tal ajusta automáticamente el valor del período de tiempo del sistema a la marca de tiempo de la transacción. El valor de la columna del final del periodo de tiempo del sistema se ajusta automáticamente al valor más alto permitido para el tipo de datos de esa columna.

ACTUALIZAR y BORRAR operaciones funcionan como lo hacen para las tablas estándar período de tiempo de aplicación. Como ocurre con las tablas versionado por el sistema, ACTUALIZAR y BORRAR operaciones afectan sólo filas actuales, y con cada operación de este tipo una fila histórica se inserta automáticamente.

Una consulta realizada sobre una mesa bitemporal puede especificar un período de tiempo de aplicación, un período versionado por el sistema, o ambos. He aquí un ejemplo de la “ambos” caso:

Video: Acceso a base de datos con C# y WPF parte 1

employee_bt EmpIDFROM SELECT PARA SISTEMA DE TIEMPO COMO OFTIMESTAMP `15/07/2013 00: 00: 00`WHERE EmpID = 314159 ANDEmpPeriod CONTIENE FECHA` 06/20/2013 00: 00: 00`-
Artículos Relacionados