Banco de Dados Lucilia Yoshie Araki Marcio Cezar Santos da Rosa Agenda Introdução; Banco de Dados ; Principais Conceitos de Representação Temporal; Modelagem de Dados em Banco De Dados Temporal; Relacionamentos X Relacionamentos Intemporais; Perspectivas temporal e intemporal das entidades; Atributos; Características gerais a serem suportadas por SGBDT; Evoluções em Sistemas de Informações ; Manipulaçã ; Dados ; IMPLEMENTAÇÃ ÇÃO O DE BDT; Conclusão Introdução Os Bancos de Dados convencionais são projetados para capturar os dados mais recentes. Banco de Dados convencionais servem apenas para aquelas aplicações que necessitam de informações sobre os dados atuais do BD. Banco de Dados Bancos de Dados mantêm os dados passados, presentes e futuros, suprindo assim as insuficiências dos BD s convencionais. Permitem armazenar e recuperar todos os estados de um objeto, registrando sua evolução ao longo do tempo. Informações temporais são associadas implicitamente aos dados, correspondendo ao tempo de validade e/ou ao tempo de transação. Banco de Dados Quatro categorias (representação de informações históricas): Bancos de Dados Instantâneos (Snapshots)) ; Bancos de Dados de Tempo de Transação (Rollback); Bancos de Dados de Tempo de Validade (Histórico) ; Bancos de Dados Bitemporais ; Dimensão Temporal Esta dimensão associa alguma informação temporal a cada valor. Caso o valor de um atributo seja alterado, o valor anterior não é removido do banco de dados. possível acessar toda a história dos atributos, sendo possível analisar sua evolução temporal.
Tempo de Transação e Tempo de Validade Tempo de validade (JENSEN, 1994), é o momento do tempo em que o fato torna-se verdadeiro no mundo real que, normalmente, é fornecido pelo usuário. O tempo de transação é o momento do tempo em que o fato é registrado no banco de dados, sendo o tempo de transação suprido automaticamente pelo SGBD. Ordem no Tempo Variação Temporal O tempo é contínuo por natureza e um dado pode ter um valor diferente em qualquer instante de tempo. Para sua representação computacional, é necessário utilizar uma representação discreta do tempo, na qual a variação temporal corresponde a uma linha de tempo composta por uma seqüência de chronons. Granularidade Temporal É um parâmetro que consiste na duração de um chronon. Entretanto, dependendo da aplicação considerada, é necessário considerar simultaneamente diferentes granularidades (minutos, dias, mês e anos) para permitir uma melhor representação da realidade. Os elementos primitivos: instante, intervalo e elemento temporal Tempo Absoluto e Tempo Relativo Tempo Absoluto é uma informação temporal que define um tempo preciso, com uma granularidade determinada, associada a um fato. Tempo Relativo tem sua validade relacionada à validade de outro dado temporal, ou ao momento atual. Representação Temporal forma explícita, através da associação de um valor temporal a uma informação na forma de um rótulo temporal (timestamp( timestamp), forma implícita, através da utilização de uma linguagem de lógica temporal.
MODELAGEM DE DADOS EM TERM (Temporal Entity-Relationship Model); RAKE (Relationships, Attributes, Keys, and Entities); ERT (Entity Relationship Time Model); TER (Temporal Entity-Relationship Model); TEER (Temporal Enhanced Entity-Relationship Model) e a sua variante STEER; TF-ORM (Temporal Functionality in Objects With Roles Model); TRM (Temporal Relational Model); IXRM (Internal-eXtendeXtend Relational Model ); HRDM (Historical Relational Data Model ). MODELAGEM DE DADOS EM Entidades transitórias Validade temporal é um subconjunto de pontos do tempo do eixo temporal. Utiliza-se este tipo de entidade quando se quer modelar entidades que valem por um certo período de tempo. MODELAGEM DE DADOS EM Entidades Perenes Validade temporal é exatamente igual a todo o eixo temporal. Toda vez que é incluída no banco de dados do sistema, assume-se se que seu rótulo temporal é igual a "[«,»]. MODELAGEM DE DADOS EM Identificador interno de entidades OID É gerado pelo sistema; Único no âmbito do universo do discurso da aplicação; invisível ao usuário e define a identidade de uma instância de uma entidade Relacionamentos X Relacionamentos Intemporais Perspectivas temporal e intemporal das entidades Relacionamentos temporais são relacionamentos que associam entidades no âmbito da dimensão temporal. Relacionamentos intemporais são relacionamentos que não levam em consideração a dimensão temporal.
Atributos Atributos Os atributos representam propriedades elementares de entidades ou relacionamentos. A descrição de um atributo apresenta os seguintes elementos: o nome do atributo, o domínio dos valores primitivos que podem ser associados ao atributo e a classificação do atributo em relação ao tempo. Características gerais a serem suportadas por SGBDT Necessidade de testes de consistência ncia para justificar a definiçã um atributo como temporal. Outra questão é o suporte a valores de tempo de muitas granularidades diferentes. Evoluções em Sistemas de Informações uma grande quantidade de modelos de dados temporais foi proposta; muitas linguagens de consultas foram projetadas baseadas nos mais diferentes modelos de dados; uma significativa quantidade de protótipos tipos de SGBDs temporais foram desenvolvidos; vários SGBDs comerciais orientados a objeto, jáj existentes no mercado, incluem algum suporte temporal Manipulaçã Inserçã ção o em Banco de Dados ; Quando uma operaçã inserçã ção é realizada, deve ser armazenado, além m do novo valor em questão, o valor temporal correspondente ao tempo de transaçã ção o e/ou validade inicial da tupla; Manipulaçã Remoçã ção o em Banco de Dados ; deve ser fornecida a possibilidade de recuperar informaçõ ções tanto do passado, quanto do presente e futuro. Assim, a remoçã ção o em banco de dados temporais consiste em uma remoçã ção o lógica. l
Manipulaçã Atualizaçã ção o em Banco de Dados ; compreende sempre pelo menos duas operaçõ ções: o encerramento do tempo de validade da informaçã ção o anteriormente válida v e a inserçã uma nova tupla,, com o novo valor e os rótulos r temporais adequados. Manipulaçã Consulta em Banco de Dados ; Existem quatro situaçõ ções diferentes na recuperaçã informaçõ ções, que são: s Recuperar valores de propriedades cujo domínio é temporal Referir-se a um determinado instante ou a um intervalo temporal Recuperar valores com base em restriçõ ções temporais Recuperar informaçõ ções temporais Dados A definiçã ção o da linguagem de consulta temporal baseou-se na linguagem ATSQL2 por ser um padrão o mais simples e por possuir similaridade sintática tica com o padrão o SQL. O TSQL2(Temporal Structured Query Language) é uma linguagem de consulta temporal, designada à consulta e manipulaçã que variam de acordo com o tempo. Dados - Consulta Listar o nome dos funcionários que estiveram empregados em janeiro de 1992: SELECT Name FROM Employee WHERE VALID (Employee) OVERLAPS PERIOD [01/01/1992, 01/31/1992] Dados - Consulta Listar o nome dos funcionários que foram registrados como empregados em janeiro de 1992: SELECT Name FROM Employee WHERE TRANSACTION (Employee) OVERLAPS PERIOD [01/01/1992, 01/31/1992] Dados - Inserçã ção Criar tabela: CREATE TABLE Prescription (Name, Physician, Drug, Dosage, Frequency INTERVAL MINUTE) AS VALID DAY AND TRANSACTION Inserir dados: INSERT INTO Prescription VALUES ( Sally( Sally, Dr. Beren, Proventil, 100 mg,, INTERVAL 8:00 MINUTE) VALID PERIOD [1993/01/01-1993/06/30]
Dados - Remoçã ção Remoção DELETE FROM Prescription WHERE Name = Melanie VALID PERIOD [1993-06-0101-1993-06 06-30] 30] Dados - Atualizaçã ção Atualização UPDATE Prescription SET Dosage TO 50 mg VALID PERIOD [1993-03-0101-1993-05 05-30] 30] WHERE Name = Melanie AND Drug = Proventil Implementaçã Banco de Dados Na literatura de BDT, não n o háh um consenso comum aceito em modelo de dados ou linguagens de consulta que servirão o de base para projetos de BDT e otimizaçã consultas temporais. Uma alternativa seria continuar utilizando os SGBD comerciais, sendo que, agora, acrescentando um software intermediário rio que faria a traduçã uma linguagem de consulta temporal (escrita pelo usuário) para o padrão o SQL (utilizado pelo SGBD). Conclusão Antigamente, os sistemas de informaçã ção o não n possuíam o aspecto da temporalidade. O BD pode conter, tanto tabelas temporais, quanto tabelas tradicionais, sendo que as aplicaçõ ções com dados temporais, geralmente, suportam grande volume de dados. A principal vantagem de utilizar um modelo de dados temporal está na sua capacidade de expressar a associaçã ção o dos elementos com o tempo e de especificar as restriçõ ções decorrentes disto. Bibliografia ANTUNES, Dante C.; HEUSER, Carlos A.; EDELWEISS, Nina, TempER: : Uma Propostade Modelagem de Dados Temporal. 1998. EDELWEISS, N. Bancos de Dados : Teoria e Prática. XVI I Jornada de Atualizaçã ção o em Informática JAI. XVII SBC. Belo Horizonte, 1998. JENSEN, Christian S. A consensus glossary of temporal database concepts. ACM SIGMOD Record, New York, v.23, n.1, p. 52-64, Mar. 94. OLIVEIRA, Rosiane A., Modelagem e Desenvolvimento de um Banco de Dados Temporal. Monografia - Departamento de Ciência da Computaçã ção o da Universidade Federal de Lavras. Minas Gerais/MG. 2001. SIMONETTO, Eugênio O. Uma proposta para incorporaçã aspectos temporais, no projeto lógico l de bancos de dados, em SGBDs relacionais.. Porto Alegre. Dissertaçã ção o (mestrado em Informática, Área de Sistemas de Computaçã ção) Programa de Mestrado em Informática, Pontifícia Universidade Católica do Rio Grande do Sul, 1998.