Como utilizar sql: tiempos y períodos 2011

Video: Ms SQL Server 2008 creación de base de datos usando el Ms SQL Server Management Studio

Aunque las versiones del estándar SQL antes de SQL: 2011 proporcionan para FECHA, HORA, TIMESTAMP, y INTERVALO tipos de datos, que no tuvieron en cuenta la idea de una período de tiempo con una hora de inicio definida y un tiempo final definido.

Una manera de abordar esta necesidad es definir un nuevo PERÍODO tipo de datos. SQL: 2011, sin embargo, no lo hace. Para introducir un nuevo tipo de datos en SQL en esta última etapa de su desarrollo podría causar estragos en el ecosistema que se ha acumulado alrededor de SQL. cirugía mayor para prácticamente todos los productos de bases de datos existentes sería necesario añadir un nuevo tipo de datos.

SQL: 2011 resuelve el problema mediante la adición definiciones del período como metadatos a las tablas. Una definición período es un componente de tabla con el nombre, la identificación de un par de columnas que capturan el inicio del período y el tiempo de cierre del período. los CREAR MESA y ALTER TABLE declaraciones utilizadas para crear y modificar tablas se han actualizado con nueva sintaxis para crear o destruir los períodos creados por estas nuevas definiciones de época.

Video: Procedimientos Almacenados en SQL Server 2008

UN PERÍODO está determinado por dos columnas: una columna de inicio y final de una columna. Estas columnas son convencionales, como las columnas de los tipos de datos de fecha existentes, cada uno con su propio nombre único. Como se mencionó anteriormente, una definición período es un componente tabla llamada. Ocupa el mismo espacio de nombres como nombres de columna, por lo que no debe duplicar cualquier nombre de columna existente.

SQL sigue un modelo cerrado-abierto por períodos, lo que significa que un período incluye el tiempo de inicio, pero no el tiempo del fin. Para cualquier fila de la tabla, el tiempo de finalización período debe ser mayor que su hora de inicio. Esta es una limitación que se impone por el DBMS.

Hay dos dimensiones de tiempo que son importantes cuando se trata de datos temporales:

Tiempo valido es el período de tiempo durante el cual una fila de una tabla refleja correctamente la realidad.

  • tiempo de transacción es el período de tiempo durante el cual una fila se ha comprometido a o registrados en una base de datos.

  • El tiempo válido y el tiempo de transacción para una fila de una tabla no tiene por qué ser el mismo. Por ejemplo, en una base de datos de negocios que registra el período durante el cual el contrato es válido, la información sobre el contrato puede ser (y probablemente es) que se inserta antes de la hora de inicio del contrato.

    En SQL: 2011, tablas separadas pueden ser creados y mantenidos para dar cabida a los dos tipos diferentes de tiempo, o una sola, mesa bitemporal puede servir al propósito. información de tiempo de la transacción se mantiene en tablas versionado por el sistema, que contienen el período de tiempo del sistema, denotado por la palabra clave HORA DEL SISTEMA.

    información de tiempo válido, por el contrario, se mantiene en tablas que contienen un período de tiempo de aplicación. Se puede dar un período de tiempo de aplicación el nombre que desee, siempre y cuando el nombre todavía no se utilizó para otra cosa. Se le permite definir como máximo un período de tiempo del sistema y un período de tiempo de aplicación.

    Aunque el apoyo temporal de datos en SQL está siendo introducido por primera vez en SQL: 2011, la gente ha tenido que hacer frente a los datos temporales mucho antes de las construcciones temporales de SQL: 2011 se incluyeron en cualquiera de los productos de base de datos. Esto se realiza normalmente mediante la definición de dos columnas de tablas, una para la fecha y hora de inicio y el otro para la fecha y hora final.

    El hecho de que SQL: 2011 no define un nuevo PERÍODO tipo de datos, sino que utiliza las definiciones de época como metadatos, significa que las tablas existentes con tales columnas de inicio y fin puede actualizarse fácilmente para incorporar la nueva capacidad. La lógica para proporcionar la información del período puede ser removido de programas de aplicación existentes, simplificarlos, acelerarlos, y hacerlas más fiable.

    Artículos Relacionados