CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 1 IN1008 – Projeto Conceitual de BD Modelagem Conceitual para Banco de Dados Temporal Márcio Angelo Bezerra de Lira [email protected] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 2 Interagindo O que é tempo? CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 3 Interagindo • Algo que não se vê, não se pega, mas, se armazena (tempo cronológico); • Termo criado pelos seres humanos, para conseguir definir, classificar e ordenar elementos (dados); • Pode ser metereológico ou cronológico. CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 4 Roteiro • • • • • • • • • Motivação Exemplo de Aplicações Tipos de tempo(Conceitos e Exemplos) Modelagem TempER Modelagem TUML Linguagem de Consulta TSQL2 Função Temporal no Oracle e SQLServer. Conclusão Referências CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 5 Motivação • Detalhar e melhorar meu conhecimento prévio e superficial, relacionando alguns conceitos que estavam dispersos; • Comemos ex:validade de um produto,...; • Trabalhamos ex:concluir atividades, cumprir metas...); • Nos divertimos ex cinema, brinquedos eletrônicas...; • Estudamos ex:entrega dos projetos, tempo de apresentação seminário. BD Temporais são indispensáveis no nosso cotidiano ! CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 6 Exemplo de Aplicações • Controle acadêmico ex: históricos de alunos, currículos de cursos, ...; • Área médica ex: quadro clínico de pacientes, diagnósticos, ...; • Área empresarial ex: tomadas de decisão, planejamento de orçamentos; • Sistemas de informação geográfica ex:crescimento demográfico, desmatamento... • DW’s e Data Mining CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 7 Banco De Dados Temporal • Permitem Armazenar todos os estados de um dado: Presente; passado e ; Futuro. • Tipos Instantâneo; Transação; validade e; Bitemporal. [Edelweiss, Nina] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 8 Tipos de Tempo Tempo instantâneo • Característico de BD convencional; • Dado válido no momento atual; Ex: progressão salarial CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 9 Tipos de Tempo Tempo de Transação • Tempo fornecido pelo SGBD (timestamp) • Registra o instante da inserção de dados no banco; CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 10 Tipos de Tempo Tempo de Validade • Tempo em que o dado é valido no mundo real; • Tempo fornecido pelo usuário; CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 11 Tipos de Tempo Tempo Bitemporal • Manutenção conjunta do tempo de transação e do tempo de validade. CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 12 Ordem no Tempo • O tempo pode ser: Linearmente ordenado; Ramificado ou ; Circular. [Worboys e Duckhan, 2004] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 13 Ordem no Tempo - Exemplos • Ordem linear ex: evolução do salário de um empregado Fonte – livro: Banco de Dados Geográfico, Cap 4 CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 14 Ordem no Tempo - Exemplos • futuro ramificado ex: alternativas para o capítulo final de uma novela • passado ramificado ex: hipóteses para a evolução do homem até os dias de hoje Fonte – livro: Banco de Dados Geográfico, Cap 4 CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 15 Ordem no Tempo - Exemplos • Ordem circular Ex: períodos de promoção de uma loja: verão, páscoa, dia das mães, outonoinverno, dia dos pais, ... Fonte – livro: Banco de Dados Geográfico, Cap 4 CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 16 Granularidade • Corresponde a duração de um chronon. • Um chronon é um intervalo temporal que não pode ser decomposto. EX: ANO, MÊS, DIA, HORA, MIN, SEG,... • Quanto menor for a Granularidade maior os detalhes de uma informação. [Edelweiss e Oliveira, 1994] Ex: item vendido Maior Cod_prod Ano Menor Cod_prod Mes Dia Hora c12 300.000 c12 30.000 3.000 300 h05 700.000 h05 70.000 7.000 700 CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 17 Rótulos Temporais • Formas de representar atributos temporais; • Tipos Instante; Intervalo; elemento temporal; [Langran,1993] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 18 Rótulos Temporais Instante Temporal • Dado no instante atual (now) CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 19 Rótulos Temporais Intervalo • Tempo decorrido entre dois instantes CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 20 Rótulos Temporais Elemento Temporal • evita a fragmentação de um dado em várias tuplas, CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 21 Modelagem Conceitual • TempER permite representar a associação entre elementos temporalizados e não temporalizados; • ERT (Entity Relationship Time Model) [LOU 91], dificil entendimento dos diagramas; • TER (Temporal Entity-Relationship Model) [TAU 91] Não possui notação para atributos temporalizados; • TEER (Temporal Enhanced Entity-Relationship Model) [ELM 93] assume que todos os objetos são temporalizados. • STEER [ELM 92] variante da modelagem TEER não torna disponível um tratamento adequado aos objetos não temporalizados. CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 22 Modelo TempER • Procura corrigir os problemas identificados nas demais abordagens. • Caracteristicas: Notação famíliar; Elementos temporalizados; Elementos não temporalizados; Objeto identificador; Entidades Trasitórias; Entidades Perenes; Atributos temporais. [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 23 Notação TempER Mesclando objetos de diferentes [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 24 OID – Objeto identificador • • • • • • • Gerado pelo sistema; Único; Invisível ao usuário; Define a identidade de uma entidade; Não descarta a chave primária; Possível alterar a chave primária; Princípios da orientação a objetos. [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 25 OID – Objeto identificador [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 26 Entidades Transitórias • Permite os intervalos no eixo temporal: Tem validade; Ex: funcionario com vários admissões numa empresa [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 27 Entidades Perenes • Só apresenta intervalo único. Ex: um funcionário só pode ser admitido na empresa uma vez [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 28 Relacionamentos Relacionamentos Temporais • Associam duas entidades no âmbito da dimensão temporal. Relacionamentos Intemporais • Não levam em consideração a dimensão temporal CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 29 Relacionamentos [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 30 Atributos • Dois tipos De entidade Transitória; De entidade Perene. CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 31 Atributo na entidade transitória EX: atributo salário; para cada empregado contém toda a sua história salarial [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 32 Atributo na entidade do perene Ex: atributo ref_salário; para cada função, contém todos os valores de referência que houve ao longo do tempo. [C. Antunes, C. Heuser e N. Edelweiss ] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 33 TUML- Temporal Unified Modelling Language • • • • • • • Dados temporal orientados a objeto; Várias granularidades; Classes Temporais; Associação de Classes; Extensão stereotypes (UML); Semântica temporal derivada de Modelo-TAU; TAU - integrar a tecnologia de banco de dados OO com a tecnologia de banco de dados temporal. CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 34 Classes - TUML • Três tipos: Classe tempo de validade (vt) ; Classe tempo de transação (tt); Classe bitemporal (bt). CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 35 Classe Tempo de Transação [SVINTERIKOU,97] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 36 Classe Tempo de Validade [SVINTERIKOU,97] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 37 Classe Bitemporal • Composição da TV + TT; [SVINTERIKOU,97] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 38 Transaction time association • Associações de tempo de transação podem ser definidas entre transaction time class, bitemporal time class ou ambas. [SVINTERIKOU,97] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 39 Valid time association • Associações de tempo de validade podem ser definidas entre valid time class ,bitemporal time class ou ambas. [SVINTERIKOU,97] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 40 Bitemporal time association • Associações de tempo bitemporais somente podem ser definidas entre bitemporal time class; [SVINTERIKOU,97] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 41 Linguagem de consulta TSQL2 • Extensão do SQL, • pesquisadores de 8 paises em 1995; • suporte a: Períodos de tempo; Múltiplas granularidades; • Ex: nanosegundos, anos, minutos, etc. Múltiplas representações; • Ex: terceira semana de 2007. Múltiplos Calendários • ex:(lunar, acadêmico, fiscal...) [SNO 95] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 42 Funções TSQL2 • Classificado em : Destruidor de dados; • BEGIN e END Construtor de dados; • PERIOD, INTERSECT e INTERVAL, Funções variadas; • FIRST e LAST Funções de Agregação. • COUNT, SUM, AVG, MAX, MIN [SNODGRASS, 95] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 43 Funções Temporais em Oracle • Também chamada no SGBD de Séries temporais • Versão Oracle 8 Cartucho de Séries de Tempo (Time Series Cartridges). [ORA,99] • Versão 9i Time Series (ORDTS), diretamente nas sentenças SQL. [ORA,03] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 44 Funções Temporais no SQLServer • Na versão SQLServer 2005 implementado no Analisys Services 2005 • algoritmo de Data Mining [Mauro Pichiliani, 2007] CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 45 Conclusão • Os BD temporais são indispensáveis para qualquer Sistemas de alto nível de complexidade e detalhes; • Uma modelagem clara e detalhada é de extrema importância para uma implementação de um BD Temporal ainda maior que os Bancos convêncionias; • Melhorias e inovações são sempre bem vindas; • Não devemos fugir aos padrões já consagrados CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 46 Referências • ANTUNES, Dante Carlos – GPT, HEUSER, Carlos A., Edelweiss, Nina - UFRGS (Instituto de Informática):TempER:UMA PROPOSTA DE MODELAGEM DE DADOS TEMPORAL, 1998. • DIAS, Taciana ; CÂMARA, Gilberto;CLODOVEU, A. Davis Jr. Banco de Dados Geográficos. MundoGEO, Curitiba, 2005. • EDELWEISS, N. Bancos de Dados Temporais: Teoria e Prática. Recife, 1998. In:XVII Jornada de Atualização em Informática, do XVIII Congresso Nacional da Sociedade Brasileira de Computação, v.2. Ed.: H.P. MOURA. Anais. p.225-282. • EDELWEISS, Nina; OLIVEIRA, José Palazzo M. Modelagem de aspectos temporais de sistemas de informação. Recife, 1994. Livro texto da Escola de Computação, 9. Universidade Federal de Pernambuco • [SVI97a]* SVINTERIKOU, Marianthi; THEODOULIDIS, Babis. The Temporal Unified Modeling Language (TUML). Timelab Technical Report, Departament of Computation, UMIST, UK. Oct,1997. • Snodgrass, R. T. (1995). The TSQL2 temporal query language. Norwell, MA: Kluwer Academic. • Alex Martins de Oliveira, Funcionalidades Temporais do Banco de Dados Oracle e Mecanismos para Consultas de Tempo de Validade. - Novembro 2003 – Tes Sites: • http://www.dpi.inpe.br/livros/bdados/ • http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120031/seminariosalunos.htm • http://www.omg.org • http://www.devmedia.com.br/articles/viewcomp.asp?comp=5414 CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 47 CIn/UFPE – In1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo 48