A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Banco de Dados Temporais (BDT)

Apresentações semelhantes


Apresentação em tema: "Banco de Dados Temporais (BDT)"— Transcrição da apresentação:

1 Banco de Dados Temporais (BDT)
Kamila T. Lyra Karina C. S. Nishimura Thiago P. Colonhezi William S. Strafacce

2 BDT - Introdução Bancos de dados convencionais:
Manter dados atuais Bancos de dados temporais: Manter evolução temporal dos dados Informações históricas Associar informações temporais aos dados rótulos temporais associados aos objetos do banco de dados temporal

3 BDT - Introdução Bancos de dados temporais permitem armazenar e recuperar todos os estados de uma aplicação (atual, passado e futuro previsto), registrando sua evolução com o passar do tempo [Edelweiss,1998].

4 BDT – Conceitos de Tempo (1/3)
Dimensão Temporal Tipos de dados temporais: Instante: momento em que ocorre um evento. Período: intervalo entre dois instantes diferentes e conhecidos Intervalo: tempo entre dois instantes diferentes. Sabe-se sua duração, mas não quando começa ou termina.

5 BDT – Conceitos de Tempo (2/3)
Tipos de Tempo Transação Tempo no qual o fato é registrado no banco de dados. Validade Tempo em que o valor é válido na realidade modelada. Definido pelo usuário propriedades temporais definidas explicitamente pelos usuários em um domínio temporal e manipuladas pelos programas da aplicação

6 BDT – Conceitos de Tempo (3/3)
Ordem no tempo Linear Presume-se que o tempo flui linearmente, entre dois pontos, do passado para o futuro. Ramificada Um dado pode ter diversos sucessores ou predecessores. Ex: Uma certa decisão pode gerar um entre diversas opções de resultados. Circular Dados que se repetem ao longo de um período de tempo. Ex: Datas de promoções de vendas que se repetem todo ano.

7 BDT – Classificações (1/4)
Bancos de Dados Instantâneos Apenas armazena o estado presente SQL tradicional Para aplicar controle temporal: Criação explícita de atributos definindo as datas associadas ao registro. Controle destes atributos deverá ser feito manualmente pelo desenvolvedor da aplicação

8 BDT - Classificações (2/4)
Bancos de Dados de Tempo de Transação Adicionar um rótulo com a data de cada transação realizada sobre um registro Transparente ao desenvolvedor (implícito) Não apaga registros anteriores à transação Presente e Passado

9 BDT - Classificações (3/4)
Bancos de Dados de Tempo de Validade Armazena a data de validade do registro (quando os dados passarão a ser válidos no sistema), cujo controle é responsabilidade do usuário A partir da data 15/07/04 o salário do José passa a ser R$900,00.

10 BDT - Classificações (4/4)
Bancos de Dados Bitemporais Associa tanto o tempo de transação como o tempo de validade ao registro. Fornece acesso a todo o histórico de alterações com suas respectivas validades

11 Consultas a bancos de dados temporais.
BDT – Linguagem de consulta temporal Deve possibilitar a recuperação de informações: Temporais Não temporais Tirar real proveito da utilização da dimensão temporal Enriquecida para manipular a dimensão temporal Deduzir valores não explicitamente armazenados Quando um banco de dados temporal é utilizado é importante também utilizar uma linguagem de consulta temporal. Essa linguagem deve possibilitar a recuperação de informações temporais ou não temporais, tirando real proveito da utilização da dimensão temporal. A linguagem temporal faz essas consultas, pois é enriquecida para manipular a dimensão temporal, utilizando uma lógica temporal que permite deduzir valores não explicitamente armazenados.

12 Consultas temporais. Exemplos
Recuperar valores de domínio temporal selecione o valor da propriedade Data_de_Nascimento Referir-se a um instante ou intervalo selecione o valor do salario no dia 01/01/11 Recuperar valores com base no tempo selecionar todos os valores do salario antes do dia 01/01/11 Fornecer informações temporais(pontos, intervalos) quando foi alterado o salário do funcionário Essas consultas permitem, por exemplo: Recuperar valores de propriedades cujo domínio é temporal. Ex.: selecione o valor da propriedade que armazena a data de nascimento de uma pessoa; Referir-se a um determinado instante ou a um intervalo de tempo. Ex: qual o valor do salário no dia 01/01/2011; Recuperar valores com base em restrições temporais. Ex: recuperar todos os valores do salário do funcionário antes do dia 01/02/2011; Fornecer informações temporais (datas, intervalos). Ex: Qual a data em que foi alterado o salário de um funcionário.

13 Problemas em consultas temporais
Necessidade de novos métodos de indexação grande volume de dados métodos tradicionais só servem para valores já ordenados Manipulação de informações incompletas incerteza sobre a existência de objetos eventos que não se sabe quando ocorreram Além dos problemas encontrados no processamento de consultas normais, o processamento de consultas temporais apresenta os seguintes problemas: Necessidade de novos métodos de indexação (estrutura e algoritmos de busca): devido ao grande volume de dados armazenados em BDT. Métodos tradicionais de indexação só podem ser utilizados para valores com algum tipo de ordenação; Manipulação de informações incompletas: podem ser devido à incerteza quanto a existência de objetos em certos pontos no tempo ou eventos cujo tempo de ocorrência não são conhecidos.

14 Tipos de BDTs e as consultas 1/2
Instantâneos: não permite consultas temporais, apenas armazena o estado presente do BD. Tempo de transação: permite consultar tempos atuais e passados ex: qual o salário do funcionário na data 01/01/1993 Bancos de dados instantâneos: Não permitem consultas temporais pois apenas armazena o estado presente do BD; Bancos de dados de tempo de transação: permite consultar valores atuais e valores definidos em tempos passados. Ex: saber qual era o salário de um funcionário na data de 01/10/2000;

15 Tipos de BDTs e as consultas 2/2
Tempo de validade: permite recuperar valores de previsão para o futuro que estejam armazenados ex: selecione o salário do funcionário em 01//02/2012 Bitemporais: permite consultar tempos passados, atuais e futuros: história do BDT história presente historia passada: definir data de limite Desejo conhecer a história passada até o dia 20/09/2012 Bancos de dados de tempo de validade: permite recuperar também valores sob a forma de previsão para o futuro que já estejam armazenados no BDT. Ex: desejo saber qual será o salário do funcionário em 01/02/2015; Bancos de dados bitemporais: permite consultas de tempos passados, atuais e futuros. O conjunto de todos esses estados do banco caracteriza sua história. A história presente corresponde ao conhecimento atual sobre o passado o presente e o futuro do banco de dados; a história passada corresponde ao conhecimento que existia naquele momento a respeito do passado, presente e futuro, a consulta de uma história passada deve definir alguma cláusula que diga qual o limite do tempo de transação que deve ser considerado. Ex: desejo conhecer a história passada até a transação do dia 22/08/2011. Informações definidas após esse tempo devem ser desconsideradas.

16 Consultas temporais Componente de seleção: condição lógica
Sobre os dados – condições estabelecidas somente sobre os valores de dados. Ex: selecionar os empregados que nasceram antes de 01/01/1980 Temporal – somente as informações temporais são analisadas. Ex: selecionar todos os empregados da empresa durante 01/01/2000 a 31/12/2010 Vamos analisar as formas como uma consulta temporal pode se apresentar. Os componentes de uma consulta são: O componente de seleção: representado através de uma condição lógica, as condições podem envolver valores de dados e valores temporais associados aos dados: Consultas de seleção sobre dados: quando as condições são estabelecidas somente sobre os valores de dados, mesmo quando o tipo de dado é temporal. Ex: selecionar o salário do funcionário de nome Carlos; Selecionar os empregados que nasceram antes de 01/01/1980. Consultas de seleção temporal: somente as informações temporais associadas aos dados são analisadas pela condição de seleção. Ex: selecionar todos os empregados da empresa durante 01/01/2000 a 31/12/2010.

17 Consultas temporais Mista – atua nos dados e nas informações. Ex: selecione todos os empregados que ganham mais que 2000 no período de 01/01/2000 a 31/12/2010 Consultas de seleção mista: a condição de seleção atua nos dados e nas informações temporais. Ex: selecione todos os empregados que ganham mais que 2000 no período de 01/01/2000 a 31/12/2010.

18 Consultas temporais Componente de saída: valores solicitados
De dados - retorna exclusivamente valores de dados. Ex: selecionar os nomes dos funcionários do departamentos de entregas que entraram a partir do dia 01/01/2000 Temporais – traz informações temporais, pontos, intervalos. Ex: selecionar todos os períodos nos quais os funcionários do departamento de entregas ganharam mais que 2000 O componente de saída: que valores são solicitados nas consultas podem ser valores de dados ou valores de informações temporais: Consultas de saídas de dados: as informações selecionadas são exclusivamente de valores de dados. Ex: selecionar os nomes dos funcionarios do departamentos de entregas que entraram a partir do dia 01/01/2000. Consultas de saídas temporais: trazem informações temporais a partir das informações associadas aos dados, pontos no tempo e intervalos. Ex: selecionar todos os períodos nos quais os funcionários do departamento de entregas ganharam mais que 2000.

19 Consultas Temporais Mistas – recuperam valores de dados e valores temporais. Ex: selecionar os valores do salário e os respectivos tempos de validade para o empregado chamado João A única combinação que não pode ser utilizada é a de seleção temporal com saída temporal, devemos ter algum dado envolvido em pelo menos um dos componentes. Consultas de saídas mistas: recuperam simultaneamente valores de dados e valores temporais. Ex: selecionar os valores do salário e os respectivos tempos de validade para o empregado chamado João. Fazendo uma análise das combinações entre os componentes de seleção e os componentes de saída, observamos que a única combinação que não pode ser utilizada é a de seleção temporal com saída temporal, não é possível fazer uma consulta do tipo: selecione todos os períodos entre 01/01/2000 a 31/12/2010. Devemos ter algum dado envolvido em pelo menos um dos componentes.

20 Consultas e orientação a objeto
As informações temporais no modelo e dados orientado a objetos são associadas aos objetos e aos atributos requer propriedades especiais para a recuperação de informações A linguagem de consulta utilizada deve permitir a recuperação de informações temporais para que elas possam ser analisadas. As informações temporais (tempos de transação ou de validade), no modelo de dados orientado a objetos, são geralmente associadas aos objetos e aos atributos representando tempo de criação, tempo de definição de seus valores. Os objetos apresentam atributos (propriedades) simples (inteiros, reais) ou complexos representados por instâncias das classes, listas e conjuntos. É por essa complexidade que o modelo orientado a objetos requer propriedades especiais para a recuperação de informações.

21 Linguagem de consulta visual
Linguagem de consulta textual: TSQL2 Exige que o usuário conheça sua sintaxe e o esquema do BDT. Linguagem de consulta visual: Visual Query System TF-ORM [97] Permite que o usuário faça a consulta utilizando símbolos visuais e regras para utilizados Melhor percepção da realidade A maioria dos bancos de dados temporais utiliza a linguagem de consulta textual, geralmente derivada do SQL, a mais conhecida é a TSQL2. A linguagem textual exige que o usuário conheça sua sintaxe e o esquema de banco de dados. Em 97 foi publicada uma interface gráfica de linguagem visual de consulta, o Visual Query System TF-ORM. Uma linguagem visual de consulta permite que o usuário faça uma consulta sem conhecer a sintaxe, através da utilização de símbolos visuais e de um conjunto de regras para utilizá-los, permite também que o usuário tenha uma melhor percepção da realidade.

22 Linguagem de consulta visual
A consulta é feita através de diversas janelas, uma destas apresenta uma representação gráfica do modelo conceitual de banco de dados, o usuário realiza a consulta navegando nesse esquema e selecionando os elementos de interesse para a consulta. Em uma segunda janela aparece somente a parte do esquema conceitual envolvida na consulta, e sobre a qual se define as condições da consulta

23 Linguagem de consulta visual
O sistema apresenta também um conjunto de janelas que podem ser usadas no complemento da consulta, definindo restrições temporais ou não.

24 Linguagem TSQL2 Extensão do SQL;
Linguagem padrão para tratar aspectos temporais; Suporte a: Tipo de dados; Linhas de tempo; Suporte para tempo transação e para tempo de validade;

25 Linguagem TSQL2 Tipo de dados;
Date time e interval – instants, intervals e spans; Surrogate – utilizado como identificador único para objetos que possuem atributos temporais, mas não substitui a chave da tabela; Seus valores não podem ser visto pelo usuário.

26 Linguagem TSQL2 Linhas de tempo; Tres linhas de tempo:
Tempo definido pelo usuário; Tempo de validade – inicio e fim do tempo de validade (begginning e forever); Tempo de transação – inception (quando a tupla é criada) e until changed (quando ocorre uma alteração na tupla)

27 Linguagem TSQL2 Suporte para tempo transação e para tempo de validade;
Cada tupla é rotulada com um elemento temporal; Nome Salário Begginning Forever Inception Until Changed Ana 20000 01/01/1991 - 15/01/1991 Antonio 10000 01/01/1992 01/01/2000 20/01/1992 02/01/2000 15000

28 Linguagem TSQL2 Exemplo de consulta:
Listar o nome de todos os colaboradores que trabalharam na empresa ao mesmo tempo que João esteve no departamento de brinquedos. SELECT C1.nome FROM Colaborador C1, Colaborador C2 WHERE C2.nome = “João” AND C2.Dept = “Brinquedos” AND valid(C1) OVERLAPS valid(C2)

29 Linguagem TSQL2 Não é possível encontrar um SGBD totalmente temporal, algumas funcionalidades podem ser encontradas outras não; Como solução existem as camadas de software que simulam essa funcionalidade;

30 Vantagens Histórico de manipulação de registros
Agilidade em consultas simultâneas Relaciona ocorrência x tempo Possibilita analisar dados históricos e prever um cenário futuro

31 Desvantagens Numero elevado de relacionamentos
Redundância no armazenamento dos dados Grande volume de dados a serem armazenados


Carregar ppt "Banco de Dados Temporais (BDT)"

Apresentações semelhantes


Anúncios Google