Euro Castillo
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Base de Datos Temporales

Ir abajo

Base de Datos Temporales Empty Base de Datos Temporales

Mensaje  NicolRosa1 Miér Mar 21, 2012 9:57 pm

EQUIPO N° IV:

Rosa Nicolina C.I: 16.342.911
Hernández Erick C.I: 16.134.236
Padovani Diego C.I: 18.111.078
Colina Yazunary C.I: 18.914.179
Garcia David C.I: 20.301.220



BASE DE DATOS TEMPORALES

CONCEPTO DE DATOS TEMPORALES
Si los datos son una representación codificada de los hechos, entonces los datos temporales son una representación codificada de hechos con marcas de tiempo. En una base de datos temporal todos los datos son temporales, lo que significa que cada hecho registrado tiene una marca de tiempo.

CONCEPTO BASE DE DATOS TEMPORALES:
Una base de datos temporal es aquella que contiene datos históricos o además de estos posee datos actuales.

TIPOS DE DATOS:
En la Base de Datos Temporales existen tipos de datos que sirven para dar soporte a conceptos temporales tales como instante, intervalo y elemento temporal.
Se define un instante como un punto particular en el eje del tiempo.
Se define un intervalo como el tiempo entre dos instantes.
Se define un elemento temporal como una unión finita de intervalos de tiempo.

INTERVALOS:
Luego de haber definido los tipos de datos para crear la representación del tiempo en el que los datos son válidos en el mundo real; se procede con los aspectos temporales que incluyen tiempo de validez y tiempo de transacción y la combinación de estos dos atributos forman un dato bitemporal.
- Tiempo de Validez (TV): Indica el período en el cual un hecho es verdad en el mundo real.
- Tiempo de transacción: Indica el período en el cual un hecho está guardado en la base de datos.
- Dato Bitemporal: Es la unión del tiempo de validez y el tiempo transaccional.

Ejemplo: Tomamos dos períodos y estos no tienen que ser idénticos para un mismo hecho. Imagine una base de datos temporal guardando datos sobre el siglo veinte. El tiempo de validez sobre esos hechos estará comprendido entre el año 1901 y el año 2000, sin embargo el tiempo transaccional empezará cuando insertemos esos hechos en la base de datos, por ejemplo, 25 de diciembre del 2006.


OPERACIONES DE ESTRUCTURA
Inserción: Se crea una versión actual del dato. Por ejemplo: Tiempo de Valor Inicial (TIV) y Tiempo de
Valor Final (TVF) es igual a infinito ( ∞).
Eliminación: Actualiza el Tiempo de Valor Final (TVF) del dato y pasa a ser histórico y lo deja sin ningún
registro actual.
Modificación: Es la unión de la Inserción y la Eliminación.

OPERADORES TEMPORALES
Entre los operadores más útiles para cualquier tipo de datos están:
Operadores de Comparación: Es un conjunto de operadores temporales lógicos para comparar intervalos de tiempo. Todos estos operadores reciben como parámetros dos intervalos y devuelven un valor de verdad, es decir, operan bajo una signatura:
Operador Temporal: I x I  Boolean
Donde I es un conjunto de intervalos. I = { i1, i2, …, in }.
- EQUALS es verdadero, si los dos intervalos son iguales.
- BEFORE es verdadero, si el primer intervalo está antes del segundo.
- AFTER es verdadero si el primer intervalo está después del segundo.
- MEETS es verdadero cuando los dos intervalos son contiguos.
- OVERLAP es verdadero cuando los dos intervalos se solapan.
- BEGINS indica si el primer intervalo es el comienzo del segundo.
- ENDS indica si el primer intervalo es el final del segundo.
- MERGES es verdadero si los dos intervalos se pueden fusionar en uno solo, es decir, son contiguos o se
solapan.
- INCLUDES indica si el primer intervalo contiene al segundo.
- INCLUDED_IN indica si el primer intervalo está dentro del segundo.

OPERADORES TOTALES
Además de los operadores temporales, se han propuesto dos operadores conocidos como operadores de totales LEXPAND y COLLAPSE. A diferencia de los operadores de temporales, EXPAND y COLLAPSE se aplican a conjuntos de intervalos en lugar de a un par de intervalos y producen como resultado otro conjunto de intervalos. El funcionamiento de los operadores de totales es el siguiente:
- EXPAND recibe como parámetro un conjunto de intervalos y devuelve el conjunto de todos los intervalos cuyo punto inicial está contenido en algún intervalo del conjunto que recibe como parámetro y, además, el punto final es igual al punto inicial.
- COLLAPSE recibe como parámetro un conjunto de intervalos y devuelve como resultado el conjunto mínimo de intervalos que tiene la misma forma expandida (obtenida con el operador EXPAND) que el conjunto original.

CLAVES
- Intervalo es un tupla con valor inicial y valor final.
- La clave debe cumplir con las siguientes restricciones:
o Debe existir un ordenamiento total.
o Existencia de inicio y fin donde el inicio es menor o igual al fin (inicio <= fin).
o Función sucesora (Granularidad).

Granularidad: Es la partición en grupos de elementos ordenados en un dominio temporal.
Gránulo: Es un valor dentro de la granularidad elegida para un propósito.

IMPLEMENTACIÓN
- Una sola tabla contiene todas las tuplas actuales e históricas.
- Partición Horizontal: Crear dos tablas una para la información válida y otra para la información histórica.
- Partición Vertical: Se distribuyen los atributos de la relación temporal en distintas relaciones y los atributos que se actualizan a la vez se ponen en la misma relación.

CONSIDERACIONES DE DISEÑO DE BASES DE DATOS
• Almacenar sólo la información necesaria

• Pedir sólo lo necesario y ser explícito

• Normalizar las estructuras de tablas:
- Controlar la redundancia de la información.
- Evitar pérdidas de información.
- Capacidad para representar toda la información.
- Mantener la consistencia de los datos.

• Seleccionar el tipo de dato apropiado:
Una vez identificadas todas las tablas y columnas que necesita la base de datos, se debe determinar el tipo de dato de cada campo. Existen tres categorías principales que pueden aplicarse prácticamente a cualquier aplicación de bases de datos: Texto, Números y Fecha y hora.

• Utilizar índices apropiadamente:
Los índices son un sistema especial que utilizan las bases de datos para mejorar su rendimiento global. Al definir índices en las columnas de una tabla, se le indica a MySQL que preste atención especial a dichas columnas.

• Usar consultas REPLACE:
Existen ocasiones en las que se desea insertar un registro a menos de que éste ya se encuentre en la tabla. Si el registro ya existe, lo que se debe hacer es una actualización de los datos. En lugar de escribir el código que cumpla con esta lógica, y tener que ejecutar varias consultas, lo mejor es usar la sentencia REPLACE de MySQL

• Usar tablas temporales:
Cuando se trabaja con tablas muy grandes, suele suceder que ocasionalmente se necesite ejecutar algunas consultas sobre un pequeño subconjunto de una gran cantidad de datos. En vez de ejecutar estas consultas sobre la tabla completa y hacer que MySQL encuentre cada vez los registros que necesita, puede ser mucho más rápido seleccionar dichos registros en una tabla temporal y entonces ejecutar dichas consultas sobre esta tabla.

• Usar una versión reciente de MySQL

















NicolRosa1

Mensajes : 1
Fecha de inscripción : 01/03/2012

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.