• Nenhum resultado encontrado

Formalizando interação visual com bancos de dados históricos.

N/A
N/A
Protected

Academic year: 2021

Share "Formalizando interação visual com bancos de dados históricos."

Copied!
147
0
0

Texto

(1)

Formalizando Interação Visual com Bancos

Dados Históricos

Sônia Leila Fernandes Silva

Tese de Doutorado submetida à Coordenação dos Cursos de Pós-Gradução em Engenharia Elétrica da Universidade Federal da Paraí-ba - Campus I I como parte dos requisitos necessários para obtenção do grau de Doutor em Ciências no Domínio da Engenharia Elétrica.

Área de Concentração: Processamento da Informação

Ulrich Schiel e Tiziana Catarei Orientadores

Campina Grande, Paraíba, Brasil

(2)
(3)

F O R M A L I Z A N D O I N T E R A Ç Ã O V I S U A L C O M B A N C O D E D A D O S H I S T Ó R I C O S S Ô N I A L E I L A F E R N A N D E S D A S I L V A Tese Aprovada em 05.11.1999 U L R I C H S C H I E L , Dr.rcr.nat., U F P B Orientador T I Z I A N A C A T A R C I , Ph.D., Univ. L a Sapienza-Itália Orientadora N I N A E D E L W E I S S , Dr., U F R U S1 Componente da Banca A N Á C A R O L I N A S A L G A D O ^ r . , U F P E / Componente da Banca M A R I A D E F Á T I M A Q U E I R O Z V I E I R A T U R N E L L , Ph.D., U F P B Componente da Banca E D I L S O N F E R N E D A , Dr., U F P B Componente da Banca B E R N A R D O L U L A J U N I O R , D r / U F P B Componente da Banca C A M P I N A G R A N D E - PB Novembro - 1 9 9 9

(4)

Dedicatória

(5)

Agradecimentos

Existem muitas pessoas que colaboraram para a r e a l i z a ç ã o deste trabalho. A g r a d e ç o a D e u s por tudo.

A g r a d e ç o aos m e u s f a m i l i a r e s que sempre me apoiaram e me deram força para eu n ã o desistir dos meus objetivos.

A g r a d e ç o a t o d o s os m e u s a m i g o s que eu cultivei aqui em Campina Grande, e aos meus amigos que e s t ã o longe e que deixo muitas saudades.

A g r a d e ç o ao meu orientador U l r i c h S c h i e i pelas nossas " p o l ê m i c a s " e u t i l í s s i m a s discussões e pelo seu companheirismo.

A g r a d e ç o ao C N P q pelo suporte financeiro.

A g r a d e ç o à C O P E L E pelo apoio que me foi sempre dado, em particular, a g r a d e ç o à s e c r e t á r i a  n g e l a pela sua disponibilidade em sempre me ajudar nos momentos difíceis.

A g r a d e ç o à f a m í l i a J o r d ã o pela hospedagem, amizade e força, que t o r n o u decisivo para a c o n c r e t i z a ç ã o da tese durante a sua etapa final".

N ã o tenho palavras para agradecer à m i n h a orientadora T i z i a n a C a t a r e i . Sua objetividade, d e t e r m i n a ç ã o e p a c i ê n c i a foram fundamentais em t o r n a r realidade esta tese.

E, acima de tudo, a g r a d e ç o ao meu namorado G i u l i o por seu amor, amizade, força, p a c i ê n c i a , e por sempre estar presente em corpo e e s p í r i t o . "Per lui che sará sempre in

(6)

Resumo

A p l i c a ç õ e s recentes de banco de dados s ã o tipicamente orientadas a u m grande n ú m e r o de u s u á r i o s n ã o especialistas que necessitam ter acesso a interfaces adequadas a facilitar sua i n t e r a ç ã o com o sistema. Adicionalmente, a i n c o r p o r a ç ã o do t e m p o em sistemas de banco de dados é u m a c a r a c t e r í s t i c a i m p o r t a n t e em certas a p l i c a ç õ e s . De fato, diversos modelos de dados temporais e suas correspondentes linguagens de consulta textuais foram propostos. Contudo, existe pouca i n v e s t i g a ç ã o sobre linguagens visuais para consultar bancos de dados temporais. Nosso trabalho t e m como objetivo atender a t a l necessidade. E m particular, propomos u m ambiente visual de consultas, denominado T V Q E (Temporal Visual Query environment), o qual facilita a i n t e r a ç ã o do u s u á r i o com bancos de dados históricos. O sistema adota uma r e p r e s e n t a ç ã o d i a g r a m á t i c a do esquema conceituai do banco de dados (incluindo classes e relacionamentos temporais) e u m a "agenda gráfica" como m e t á f o r a de i n t e r a ç ã o . U s u á r i o s n ã o especialistas em banco de dados s ã o liberados de dificuldades s i n t á t i c a s , t í p i c a s de linguagens textuais, e eles podem expressar consultas temporais a t r a v é s de o p e r a ç õ e s gráficas elementares. Diferente de muitas propostas no campo de linguagens visuais de consulta, a linguagem sobre a qual o T V Q E é baseado é fornecida com sintaxe e s e m â n t i c a formal. T V Q E é baseado em u m conjunto m í n i m o de primitivas gráficas temporais ( T G P s ) , as quais são definidas sobre u m modelo gráfico de dados t e m p o r a l ( T G M ) , com sintaxe visual e s e m â n t i c a baseada em objeto. Concentramo-nos principalmente nos aspectos formais do T V Q E . Fornecemos t a m b é m algumas idéias de mecanismos visuais de i n t e r a ç ã o e q u e s t õ e s relacionadas à i m p l e m e n t a ç ã o .

(7)

A b s t r a c t

Recent database applications are typically oriented towards a large set of non-expert users, and therefore, they need to be equipped w i t h suitable interfaces f a c i l i t a t i n g the interaction w i t h the system. Moreover, the incorporation of t i m e i n database systems is a desirable feature. Indeed, severals temporal data models and the corresponding t e x t u a l query languages have been proposed. However, there is a l i m i t e d amount of research concerning the investigation of user-oriented languages for querying t e m p o r a l databases. Our proposal addresses such a need. I n particular, we propose a visual query environment, namely T V Q E (Temporal Visual Query E n v i r o n m e n t ) , which pro-vides an easier interaction of the user w i t h temporal databases. T h e system adopts a diagrammatic representation of the database schema (including t e m p o r a l classes and relationships) and a "graphical notebook" as interaction metaphor. I n our approach, non-database experts are released from syntactical difficulties which are t y p i c a l of tex-t u a l languages, and tex-they can easily express tex-temporal queries by means of elementex-tary graphical operations (e.g. click on a node label). Differently from many proposals i n the field of visual query languages, the language underlying T V Q E is provided w i t h formal syntax and semantics. I t is based on a m i n i m a l set of temporal graphical p r i m i t i v e s

( T G P s ) , which are defined on a Temporal Graph M o d e l ( T G M ) , w i t h visual syntax and object-based semantics. We m a i n l y concentrate on the formal aspects of T V Q E , and provide some ideas on the visual interaction mechanisms and i m p l e m e n t a t i o n issues.

(8)

Conteúdo

1 I n t r o d u ç ã o 1 1.1 M o t i v a ç ã o do Trabalho 4 1.2 D e s c r i ç ã o geral da tese 5 1.3 Objetivos da Tese 6 1.4 E s t r u t u r a da Tese 7 2 E s p e c i f i c a ç ã o F o r m a l de B a n c o s de D a d o s H i s t ó r i c o s 8

2.1 Ontologia do Tempo em Modelos de Dados 9

2.1.1 Ordem no Tempo 9 2.1.2 Unidade de Tempo 9 2.1.3 Densidade no Tempo • 10

2.1.4 Granularidade 10 2.1.5 D i m e n s ã o de Tempo 11 2.1.6 Tempo Absoluto e Relativo 11

2.1.7 Classificação de banco de dados temporais 11

2.2 O Modelo Temporal baseado em Grafo 12

2.3 C o n c l u s ã o deste c a p í t u l o 20

3 A s P r i m i t i v a s G r á f i c a s T e m p o r a i s 22 3.1 U m a Taxonomia para Consultas H i s t ó r i c a s 23

3.2 P r i m i t i v a s Gráficas 25 3.3 Seleção de nodo(s) sombreado(s) 27

(9)

3.5 M u d a n ç a do R ó t u l o de u m Nodo 33 3.6 Seleção do R ó t u l o de u m Nodo 35 3.7 Banco de Dados Resultante 38 3.8 U m a Linguagem Visual de Consulta Temporal 45

3.9 C o n c l u s ã o deste c a p í t u l o 49 4 U m a A n á l i s e d a E v o l u ç ã o das I n t e r f a c e s p a r a B a n c o d e D a d o s 5 1 4.1 E v o l u ç ã o da R e p r e s e n t a ç ã o Visual 52 4.1.1 Interfaces Tabulares 52 4.1.2 Interfaces D i a g r a m á t i c a s 53 4.1.3 Interfaces Icônicas 54 4.1.4 Interfaces H í b r i d a s 55 4.2 E v o l u ç ã o das E s t r a t é g i a s de I n t e r a ç ã o 57 4.2.1 M a n i p u l a ç ã o da E s t r u t u r a 59 4.2.2 M a n i p u l a ç ã o do C o n t e ú d o 60 4.3 C o n c l u s ã o deste c a p í t u l o 63 5 E x p r e s s a n d o V i s u a l m e n t e C o n s u l t a s T e m p o r a i s 6 4

5.1 Projeto conceituai inicial 65 5.2 Projeto Conceituai A t u a l 68 5.2.1 A p r e s e n t a ç ã o , entrada e s a í d a das i n f o r m a ç õ e s 69 5.2.2 Janelas Gráficas 71 5.2.3 Exemplo 74 5.3 Trabalhos Relacionados 81 5.3.1 V i s u a l i z a ç ã o de documentos h i p e r m í d i a 81 5.4 A interface TabWorkstm 82

5.5 A interface Oggetto Desktop 84

5.6 A interface VisTool 85 5.7 Interfaces TVQL e Lifelines 85

(10)

6 A s p e c t o s de I m p l e m e n t a ç ã o 88 6.1 C a r a c t e r í s t i c a s da Linguagem JAVA 89 6.1.1 C o n e x ã o ao Banco de Dados . 90 6.2 A r q u i t e t u r a de I m p l e m e n t a ç ã o 91 6.2.1 Modelo Cliente-Servidor 91 6.3 E s t r u t u r a de Classes 93 6.4 E s t r u t u r a de Dados e algoritmos 98 6.4.1 A l g o r i t m o s DFS e BFS 101 7 A c e s s o H o m o g ê n e o aos D a d o s T e m p o r a i s e H i s t ó r i c o d e I n t e r a ç õ e s 102 7.1 A H i s t ó r i a da I n t e r a ç ã o do U s u á r i o 103 7.1.1 Modelando a h i s t ó r i a da i n t e r a ç ã o do u s u á r i o 106 7.1.2 Acessando a h i s t ó r i a da i n t e r a ç ã o do u s u á r i o 109 7.1.3 Mantendo o e s t e r e ó t i p o do u s u á r i o 110 7.2 C o n c l u s ã o deste c a p í t u l o 113 8 C o n c l u s ã o 115 8.1 Potenciais, L i m i t a ç õ e s e Dificuldades 116 8.2 D i r e ç õ e s Futuras 118 8.2.1 Resultado da consulta no T V Q E 120

(11)

Lista de Figuras

1.1 Desenvolvimento de u m B D para u m Sistema de I n f o r m a ç ã o . . . 2

2.1 Universo U, universo temporal Ut, conjunto LS e o conjunto T 15

2.2 U m Typed Graph g 20

3.1 G P seleção de u m nodo 25 3.2 G P desenho de u m arco 26 3.3 G P desenho de u m arco e m u d a n ç a do r ó t u l o de u m arco 27

3.4 T G P Seleção de nodo(s) sombreado(s) 28 3.5 D u p l a seleção sobre os nodos Salário e Nível 31 3.6 E x t e n s ã o temporal da m u d a n ç a do r ó t u l o de u m arco 32

3.7 T G P m u d a n ç a do r ó t u l o de u m nodo . . . *. 33

3.8 T G P s seleção do r ó t u l o de u m nodo 36 3.9 Exemplo de uma referência t e m p o r a l a o u t r o dado 37

3.10 Diferentes visões de u m T G M D B 38 3.11 Seleção de nodos e nodos sombreados 39 3.12 Typed Graph de interesse da consulta 41 3.13 Typed Graph resultante da a p l i c a ç ã o dos operadores 45

3.14 Banco de Dados Resultante 45

3.15 P r o j e ç ã o Temporal 47 3.16 Seleção Temporal 48 3.17 F i l t r a g e m de intervalos temporais 48

(12)

4.1 Exemplo de uma n a v e g a ç ã o no Oggetto d e s k t o p 55 4.2 R e p r e s e n t a ç ã o visual h í b r i d a de V i s i o n a r y 56 4.3 Grafo correspondente à r e p r e s e n t a ç ã o visual da F i g u r a 4.2 57

4.4 Exemplo de u m ponto de vista com o conceito p r i m á r i o paper 57

4.5 E v o l u ç ã o q u a n t i t a t i v a das r e p r e s e n t a ç õ e s visuais 58 4.6 Diferentes I n t e r p r e t a ç õ e s S e m â n t i c a s para u m Mesmo Fato 60

4.7 Exemplo de uma Consulta D i n â m i c a 61 4.8 V i s u a l i z a ç ã o da h i s t ó r i a de u m i n d i v í d u o em L i f e l i n e s 62

4.9 E v o l u ç ã o q u a n t i t a t i v a das duas e s t r a t é g i a s de i n t e r a ç ã o 63

5.1 V i s u a l i z a ç ã o inicial de u m esquema conceituai 66 5.2 V i s u a l i z a ç ã o do esquema na janela de consultas 67 5.3 C o n d i ç ã o temporal sobre u m p e r í o d o de tempo 67

5.4 Layout da Janela Principal 70 5.5 Layout do painel de especificação de uma c o n d i ç ã o temporal 72

5.6 U m esquema de banco de dados visualmente representado como u m a

á r v o r e de contextos e como u m grafo 73 5.7 Os nodos selecionados Employment-context e Employee 75

5.8 Nodos selecionados e visualizados da consulta 76

5.9 Esquema da consulta 77 5.10 E d i t o r de D o m í n i o s 78 5.11 C o n d i ç ã o de espera de uma consulta temporal 79

5.12 Dois movimentos do slider usados em u m p e r í o d o . 80

5.13 C o n d i ç ã o de espera de uma consulta temporal 81

5.14 U m exemplo da estrutura pre-tree 82

5.15 M e t á f o r a de agenda utilizada em TabWorkstm 83

5.16 O u t r a estrutura de agenda no ambiente T V Q E 84

6.1 I n d e p e n d ê n c i a de Plataforma 89 6.2 A r q u i t e t u r a de i m p l e m e n t a ç ã o do ambiente T V Q E 92

(13)

6.4 Diagrama de Classes 2 96 6.5 D i a g r a m a de Classes 3 97 6.6 D i a g r a m a de Classes 4 98 6.7 D i a g r a m a de Classes 5 99 6.8 E s t r u t u r a Interna 100 6.9 Exemplo de u m grafo e sua lista de a d j a c ê n c i a 100

7.1 C a r a c t e r í s t i c a s de U s u á r i o s N ã o Profissionais 104

7.2 Classes de U s u á r i o s 105 7.3 Typed Graph do T G M D B I n t e r a ç ã o 106

7.4 Os nodos selecionados e visualizados da consulta 110

7.5 U m a c o n d i ç ã o temporal sobre Interação 111 7.6 Computando repetitividade e complexidade estrutural da consulta . . . . 112

(14)

Capítulo 1

Introdução

U m dos componentes p r o b l e m á t i c o s na m a i o r i a dos sistemas de banco de dados é a i n t e r f a c e d o u s u á r i o . Alguns pesquisadores justificaram esse fato. Por exemplo,

Ellis et al. [ 4 l ] argumentaram que houve u m a p r e o c u p a ç ã o da pesquisa direcionada

mais para q u e s t õ e s como c o n s i s t ê n c i a e eficiência do banco de dados, e menos com u s a b i l i d a d e . R. Cooper [30] declara que tanto o projeto como a i m p l e m e n t a ç ã o de interfaces para u m Sistema de Gerenciamento de Banco de Dados ( S G B D ) exigem investimentos significativos.

U m a vez que que as interfaces de u m S G B D tradicional s ã o baseadas no modelo r e l a c i o n a l [28], a s e m â n t i c a do d o m í n i o da a p l i c a ç ã o é pobremente representada [ T l ] . Como c o n s e q u ê n c i a , perde-se a visão global e a m a n i p u l a ç ã o conceituai dos dados. No modelo relacional, a estrutura complexa de u m objeto se encontra d i s t r i b u í d a sob forma de valores entre diferentes relações e a m a n i p u l a ç ã o das entidades é feita a t r a v é s de seus valores, ou seja, a " r e c o m p o s i ç ã o " de uma entidade necessita de u m a ou v á r i a s o p e r a ç õ e s de j u n ç ã o .

Realmente, é difícil capturar uma i n f o r m a ç ã o estrutural complexa a t r a v é s de tabelas relacionais, principalmente quando o objeto complexo deve ser manipulado como u m todo [96]. Desta forma, t a l modelo se t o r n o u inadequado para modelar dados de a p l i c a ç õ e s mais complexas (ex: m u l t i m í d i a ) , estimulando a g e r a ç ã o de outros modelos ( s e m â n t i c o s e orientados a objetos).

(15)

As l i n g u a g e n s t e x t u a i s d e c o n s u l t a1, acabaram sendo restritas, na sua maioria,

a u s u á r i o s especialistas na á r e a , n ã o sendo m u i t o c o m p r e e n s í v e i s e amplamente u t i l i z a -das por u s u á r i o s novos ou n ã o especialistas que, a l é m de passarem por u m p e r í o d o de aprendizado a t é a l c a n ç a r e m o d o m í n i o pleno da linguagem, s ã o forçados a conhecerem o esquema de banco de dados conceituai e alguns conceitos de á l g e b r a relacional, teoria do conjunto e j u n ç ã o . Consultas em SQL (Structured Query Language)2, por exemplo,

frequentemente consomem tempo e s ã o suscetíveis a erros [83]. Outros problemas j á foram universalmente reconhecidos (ver [9]).

O u t r o problema surge na fase de desenvolvimento de u m banco de dados para u m sistema de i n f o r m a ç ã o (Figura 1.1), segundo Carapuça et al. [16]. N a fase de a n á l i s e , se definem as entidades do mundo real que s ã o relevantes ao universo do discurso, utilizando o modelo Entidade-Relacionamento (E-R) [26], por exemplo. A segunda fase incorpora o processo de c o n s t r u ç ã o da interface, utilizando os recursos do S G B D (gerador de telas, menus e r e l a t ó r i o s ) . A c r i a ç ã o geralmente envolve u m a codificação que efetua a i n t e g r a ç ã o da a p l i c a ç ã o com as rotinas externas da interface do S G B D .

F i g u r a 1.1: Desenvolvimento de u m B D para u m Sistema de I n f o r m a ç ã o

'Uma consulta básica consiste de uma lista alvo e uma condição opcional. A lista alvo especifica os dados de interesse para o resultado da consulta, conhecida como uma projeção sobre os dados. A condição é composta de um ou mais predicados que restringem os dados relevantes à consulta, conhecida como seleção sobre os dados.

2SQL é a linguagem de consulta padrão dos SGBDs relacionais, baseada no cálculo relacional e

orientada a tupla. Cálculo relacional é um caso particular do cálculo de predicados, usado para operar sobre bancos de dados relacionais.

(16)

Carapuça et al. relatam [16] que todo este processo t e m a seguinte c o n s e q u ê n c i a :

a interface obtida, na m a i o r i a das vezes, n ã o capta toda a s e m â n t i c a que envolve as entidades do modelo conceituai. A l é m disso, a c r i a ç ã o da interface na ú l t i m a fase reforça a i d é i a de que ela, na m a i o r i a das vezes, é considerada somente do ponto de vista e s t é t i c o [23].

Diante da disponibilidade de softwares gráficos que se t o r n a r a m mais populares entre a comunidade de u s u á r i o s de c o m p u t a ç ã o , e do advento da m a n i p u l a ç ã o d i r e t a [99], interfaces visuais para banco de dados surgiram como alternativas para suprir as deficiências das linguagens de consulta n ã o procedurais, considerando dois aspectos: a i n t e r a ç ã o entre o u s u á r i o e u m a base de dados, e as l i m i t a ç õ e s dos modelos de dados em que elas se baseiam diante de aplicações mais complexas. Desta forma, as interfaces visuais facilitam a especificação de consulta do u s u á r i o .

A l é m das l i m i t a ç õ e s das linguagens convencionais discutidas acima, existem outros fatores que serviram como e s t í m u l o à a d o ç ã o de t é c n i c a s visuais nas interfaces de consulta modernas e sua ampla difusão:

• A u t i l i z a ç ã o de imagens se t o r n o u crucial dentro da i n t e r a ç ã o h o m e m - m á q u i n a . A abordagem visual a t r a i a a t e n ç ã o do u s u á r i o e estimula-o a explorar todas as funcionalidades d i s p o n í v e i s no sistema.

• O surgimento de diferentes tipos de u s u á r i o que acessam o banco de dados, tornando-os mais exigentes em acessar os dados em diferentes formas.

• O p r ó p r i o processo de f o r m u l a ç ã o de consulta é totalmente adequado para a u t i l i z a ç ã o de t é c n i c a s visuais, o qual é c o n s t i t u í d o de t r ê s fases: L o c a l i z a ç ã o , onde o u s u á r i o seleciona a parte do banco de dados sobre a qual ele quer operar; M a n i p u l a ç ã o , onde o u s u á r i o define as relações dentro da parte selecionada de forma a produzir o resultado da consulta; e V i s u a l i z a ç ã o , onde o u s u á r i o opera sobre o resultado da consulta, de forma a verificar se as i n f o r m a ç õ e s correspondem ao que ele especificou na sua consulta.

(17)

Propostas iniciais surgiram da e x p l o r a ç ã o gráfica dos modelos s e m â n t i c o s [64], co-mo construtores da linguagem de consulta. Mais tarde, esta abordagem foi aplicada aos modelos orientados a objeto, onde o acesso aos dados é feito a t r a v é s da " n a v e g a ç ã o " sobre a estrutura complexa de u m esquema conceituai ( i n t e n ç ã o do banco de dados), percorrendo sobre as classes e relacionamentos h i e r á r q u i c o s entre classes. A visuali-z a ç ã o do d o m í n i o da a p l i c a ç ã o se t o r n a mais p r ó x i m o da visão real que o u s u á r i o t e m sobre os dados.

1.1 Motivação do Trabalho

Com a abordagem c e n t r a d a n o u s u á r i o para o desenvolvimento de sistemas de inform a ç ã o , diversas atividades de pesquisa sobre sisteinformas visuais forainform realizados nos ú l -timos anos. Entre os sistemas especificamente devotados à e x t r a ç ã o d a i n f o r m a ç ã o proveniente de u m banco de dados, existem os S i s t e m a s V i s u a i s d e C o n s u l t a -S V C s (ver [23] para u m resumo sobre -SVCs).

Os SVCs incluem u m a linguagem para expressar consultas em u m formalismo visual ([59]) e u m a e s t r a t é g i a de consulta ou i n t e r a ç ã o . Eles s ã o u m a alternativa às lingua-gens textuais de consulta, que são dificilmente exploradas por u s u á r i o s novatos; e s ã o orientados a u m amplo espectro de u s u á r i o s que t ê m habilidades t é c n i c a s l i m i t a d a s e geralmente ignoram a estrutura interna do banco de dados acessado.

Contudo, SVCs a t u a m essencialmente em banco de dados convencionais, enquanto que existe u m n ú m e r o l i m i t a d o de pesquisas em r e l a ç ã o à i n v e s t i g a ç ã o de ambientes a m i g á v e i s para consultar banco de dados t e m p o r a i s , a despeito de numerosos artigos que foram publicados considerando o fator temporal relevante em diversas a p l i c a ç õ e s modernas de banco de dados, tais como aplicações b a n c á r i a s , registros m é d i c o s , reservas a é r e a s , sistemas de i n f o r m a ç ã o geográfica (SIG), sistemas m u l t i m í d i a , data warehouse, etc (ver [112] para u m a bibliografia atualizada sobre bancos de dados temporais).

Realmente, i n f o r m a ç õ e s temporais tais como valores temporais, r e s t r i ç õ e s tempo-rais e c a r a c t e r í s t i c a s de evolução temporal e s t ã o presentes em u m grande n ú m e r o de a p l i c a ç õ e s do mundo real.

(18)

Por o u t r o lado, houve muitas propostas de linguagens textuais temporais, onde c l á u s u l a s e predicados s ã o adicionados à linguagem original para m a n i p u l a r aspectos temporais. Existem linguagens textuais temporais para o modelo relacional, modelo E-R e modelos de o r i e n t a ç ã o a objeto (importantes referências podem ser encontradas em [27], [89], [116], [112]).

Estas linguagens apresentam os mesmos problemas de usabilidade das linguagens de consulta originais, tais como:

1. A necessidade de aprender uma sintaxe específica ao invés de simplesmente sele-cionar alguns ícones ou figuras e declarar alguma c o n d i ç ã o . U m erro na d e c l a r a ç ã o de u m a consulta léxica pode apenas ser detectado depois do t é r m i n o da e x e c u ç ã o da consulta inteira, ao passo que u m erro no ambiente visual é imediatamente reconhecido u m a vez que a f o r m u l a ç ã o da consulta é feita passo a passo com

feedback imediato depois de cada passo.

2. Considerando especificamente as linguagens textuais existentes, o u s u á r i o deve conhecer a estrutura interna do banco de dados de forma a declarar a sua consulta. E m u m banco de dados t e m p o r a l , o u s u á r i o t a m b é m deve estar familiarizado com conceitos do t i p o time-stamping da t u p l a e do a t r i b u t o , lógica de intervalos e j u n ç õ e s temporais.

Como esforços foram feitos para encontrar novos mecanismos visuais para acessar banco de dados convencionais, isto deveria ser feito em banco de dados temporais. Esquemas conceituais adequados s ã o necessários e novos mecanismos visuais devem ser criados para m a n i p u l a r aspectos temporais.

1.2 Descrição geral da tese

Foi projetado inicialmente u m SVC para banco de dados h i s t ó r i c o s [51], como u m a p r i m e i r a t e n t a t i v a em formular visualmente consultas temporais. O SVC original foi estendido com novas c a r a c t e r í s t i c a s , tais como:

(19)

• V i s u a l i z a ç ã o h i e r á r q u i c a de u m esquema complexo;

• Uso de uma m e t á f o r a familiar de forma a facilitar a especificação da consulta [50];

• V i s u a l i z a ç ã o intensional do resultado da consulta;

• Modelagem de dados sobre a i n t e r a ç ã o do u s u á r i o dentro do ambiente de consultas [47], [49].

A v e r s ã o estendida do sistema é denominada T V Q E (Temporal Visual Query

En-vironment) [48]. A principal idéia do sistema é fornecer ao u s u á r i o u m ambiente visual

de consultas. E m t a l ambiente, as diferentes atividades de especificação da consulta s ã o executadas de u m a forma h o m o g ê n e a , a t r a v é s de o p e r a ç õ e s gráficas elementares, ex-plorando u m a m e t á f o r a visual independente de modelo. Desta forma, u m u s u á r i o n ã o especialista nem precisa entender o modelo de dados t e m p o r a l interno, nem a sintaxe e s e m â n t i c a de uma linguagem t e m p o r a l .

Neste trabalho, concentramo-nos sobre os aspectos formais do T V Q E . Mais espe-cificamente, apresentamos a f o r m a l i z a ç ã o de u m modelo de dados com sintaxe visual e s e m â n t i c a baseada em objeto, denominada de T G M (Temporal Graph Modet) e das p r i m i t i v a s gráficas temporais ( T G P s - Temporal Graphical Primitives), sobre as quais o ambiente T V Q E é baseado. Apresentamos t a m b é m os itens descritos anteriormente, os quais se referem à atividade de f o r m u l a ç ã o de u m a consulta.

1.3 Objetivos da Tese

Os objetivos principais deste trabalho s ã o os seguintes:

• Definir formalmente a sintaxe e s e m â n t i c a de u m a linguagem visual de consul-t a para banco de dados hisconsul-tóricos, a consul-t r a v é s da c r i a ç ã o do modelo T G M e das p r i m i t i v a s gráficas temporais.

• Unificar o poder expressivo desta linguagem e sua facilidade de uso a t r a v é s da u t i l i z a ç ã o de o p e r a ç õ e s gráficas elementares.

(20)

*> Propor u m sistema visual de consulta com objetivo de validar as p r i m i t i v a s g r á -ficas temporais.

• P e r m i t i r que u s u á r i o s n ã o especializados em banco de dados sejam liberados das dificuldades s i n t á t i c a s , t í p i c a s de linguagens textuais, de forma que eles possam facilmente expressar consultas temporais, utilizando uma m e t á f o r a gráfica.

1.4 Estrutura da Tese

O trabalho é organizado da seguinte forma.

O C a p í t u l o 2 apresenta a especificação formal do modelo de dados T G M .

O C a p í t u l o 3 apresenta a especificação formal das p r i m i t i v a s gráficas temporais ( T G P s ) e descreve o resultado de como a e x e c u ç ã o da consulta é processada.

O C a p í t u l o 4 apresenta u m a análise da evolução de sistemas visuais de consulta nos ú l t i m o s anos.

O C a p í t u l o 5 apresenta o c e n á r i o concreto do ambiente T V Q E , de forma a ilustrar como u m a consulta t e m p o r a l pode ser expressa visualmente, e descreve alguns trabalhos relacionados.

O C a p í t u l o 6 descreve os aspectos de i m p l e m e n t a ç ã o do ambiente T V Q E .

O C a p í t u l o 7 relata como a h i s t ó r i a das i n t e r a ç õ e s do u s u á r i o pode ser acessada e dinamicamente m a n t i d a com a u t i l i z a ç ã o das primitivas gráficas temporais, baseado na modelagem dos aspectos temporais de u m modelo de u s u á r i o .

O C a p í t u l o 8 descreve os resultados a l c a n ç a d o s e estabelece as d i r e ç õ e s de pesquisa para este trabalho.

(21)

Capítulo 2

Especificação Formal de Bancos de

Dados Históricos

U m banco de dados e u m a linguagem de consulta s ã o formalmente definidos em termos de u m modelo de dados e u m conjunto de operadores, respectivamente. U m modelo de dados fornece u m conjunto de mecanismos estruturais que s ã o expressos em termos de u m a r e p r e s e n t a ç ã o . O mesmo se aplica a u m a linguagem de consulta, cujos operadores devem ser representados de alguma forma para serem utilizados.

Contudo, em p e r í o d o s passados, considerando o par ( m o d e l o , r e p r e s e n t a ç ã o ) , o componente de maior r e l e v â n c i a sempre foi o modelo, enquanto que, recentemente, com o crescimento da i m p o r t â n c i a dada à i n t e r a ç ã o h o m e m - m á q u i n a , o segundo componente cresceu significativamente em i m p o r t â n c i a . De forma a atender esta exigência, u m a possível s o l u ç ã o é u n i f i c a r o modelo de dados e sua r e p r e s e n t a ç ã o gráfica, aplicando diretamente o p e r a ç õ e s gráficas (com suas p r ó p r i a s s e m â n t i c a s ) sobre o modelo.

Neste contexto, apresentamos o modelo de dados t e m p o r a l T G M (Temporal Graph

Model), como u m formalismo baseado em grafo na r e p r e s e n t a ç ã o e no acesso a bancos

de dados h i s t ó r i c o s , onde a r e p r e s e n t a ç ã o visual é parte do p r ó p r i o modelo. O resto do c a p í t u l o é organizado da seguinte forma: N a seção 2.1 s ã o descritos alguns conceitos temporais que s ã o incorporados em modelos de dados. N a seção 2.2 é i n t r o d u z i d o o modelo T G M .

(22)

2.1 Ontologia do Tempo em Modelos de Dados

A n o ç ã o de tempo, como datas, d u r a ç ã o da validade das i n f o r m a ç õ e s e intervalos t e m -porais, surge em diferentes níveis: na modelagem de dados; na linguagem de recupe-r a ç ã o e m a n i p u l a ç ã o dos dados; e no nível de i m p l e m e n t a ç ã o do S G B D . A modelagem de aspectos temporais é u m i m p o r t a n t e t ó p i c o dentro dos modelos de dados. A pos-sibilidade de armazenar, manipular e recuperar dados temporais deve ser considerada quando da escolha de u m m é t o d o de modelagem.

2.1.1 Ordem no Tempo

A definição de u m a ordem a ser seguida no tempo é fundamental quando utiliza-se alguma r e p r e s e n t a ç ã o t e m p o r a l . O mais comum é o tempo que flui l i n e a r m e n t e do passado para o futuro. Isto implica em u m a o r d e n a ç ã o t o t a l entre quaisquer dois pontos no tempo. Definido dois pontos diferentes no tempo t e t', representando a ordem de p r e c e d ê n c i a t e m p o r a l a t r a v é s do operador -<, uma das seguintes e x p r e s s õ e s é verdadeira: t -< t' ou t' -< t.

E m alguns casos pode ser considerado u m tempo r a m i f i c a d o com possíveis passa-dos e futuros, ou seja, o tempo é linear do passado ao-tempo corrente, e, a p a r t i r deste ponto, o tempo se divide em diversas linhas de tempo, p e r m i t i n d o a possibilidade de dois pontos diferentes serem sucessores imediatos de u m mesmo ponto. Neste caso, a estrutura de u m tempo ramificado é uma á r v o r e cuja raiz representa o tempo corrente. U m a ú l t i m a o p ç ã o de o r d e n a ç ã o t e m p o r a l é considerar o tempo c i r c u l a r . Esta forma pode ser u t i l i z a d a para modelar eventos e processos recorrentes. U m exemplo é u m a semana, onde a p ó s sete dias, o mesmo dia volta a ocorrer.

2.1.2 Unidade de Tempo

Entre os tipos de unidades temporais, o t i p o mais básico é u m i n s t a n t e que representa u m ponto em u m a l i n h a de tempo.

(23)

o c o r r ê n c i a de u m evento é o instante no qual o evento ocorre no mundo real.

U m p e r í o d o de tempo é o tempo decorrido entre dois instantes definidos como i n í c i o e fim.

U m i n t e r v a l o de tempo é uma d u r a ç ã o do tempo. U m a d u r a ç ã o é u m a quantidade de tempo com tamanho conhecido, mas sem nenhum instante inicial ou final específico (ex. u m a semana).

U m chronon é u m intervalo de tempo com d u r a ç ã o m í n i m a que n ã o pode ser decomposto.

E l e m e n t o s t e m p o r a i s s ã o u n i õ e s finitas de p e r í o d o s disjuntos entre si ( u m a des-c r i ç ã o de elementos temporais podem ser endes-contrada em [55]).

2.1.3 Densidade no Tempo

Considerando o tempo linear, a densidade temporal pode ser de t r ê s tipos: discreta, densa ou c o n t í n u a .

O tempo d i s c r e t o indica que os instantes s ã o isomorfos aos n ú m e r o s naturais, ou seja, cada instante possui u m ú n i c o sucessor. E m u m modelo discreto, a l i n h a de tempo é composta de u m a s e q u ê n c i a de chronons.

O tempo d e n s o indica que os instantes s ã o isomorfos aos n ú m e r o s racionais, ou seja, entre quaisquer dois instantes de tempo, sempre existe outro instante.

O tempo c o n t í n u o indica que os instantes s ã o isomorfos aos n ú m e r o s reais, isto é, ele é denso e diferente dos n ú m e r o s racionais, pois n ã o possui e s p a ç o s e a cada n ú m e r o real corresponde u m instante.

2.1.4 Granularidade

A granularidade consiste na d u r a ç ã o de u m chronon. As granularidades mais utilizadas s ã o as que fazem parte do sistema de c a l e n d á r i o (segundo, m i n u t o , hora, dia, m ê s , ano, etc) e, dependendo da a p l i c a ç ã o , podem ser n e c e s s á r i a s v á r i a s granularidades. Esta capacidade d á ao u s u á r i o a facilidade de t r a t a r i n f o r m a ç õ e s temporais em vários níveis de a b s t r a ç õ e s .

(24)

2.1.5 Dimensão de Tempo

Existem duas d i m e n s õ e s ortogonais de tempo que podem ser associadas aos fatos de u m banco de dados: o tempo válido e o tempo de t r a n s a ç ã o .

O tempo v á l i d o é o tempo em que u m fato é verdadeiro na realidade modelada. O tempo válido de u m evento é o tempo no qual o evento ocorreu no mundo real, independente do registro daquele evento no banco de dados. Tempos válidos podem representar tempos no futuro, onde se espera que u m fato s e r á verdadeiro a u m tempo especificado depois do tempo corrente.

O tempo de t r a n s a ç ã o é o tempo em que u m fato é armazenado no banco de dados. O tempo de t r a n s a ç ã o de u m fato identifica a t r a n s a ç ã o que inseriu o fato no banco de dados e a t r a n s a ç ã o que removeu este fato do banco de dados.

2.1.6 Tempo Absoluto e Relativo

O tempo a b s o l u t o indica que u m tempo válido e s t á associado a u m fato e é indepen-dente de u m outro tempo específico (ex: o salário de M a r i a aumentou em 3 0 / 0 3 / 1 9 9 9 ) .

O t e m p o r e l a t i v o indica que o tempo válido associado a u m fato é determinado pelo tempo v á l i d o de u m o u t r o fato. O relacionamento entre estes dois tempos pode ser q u a l i t a t i v o (antes, durante, etc) ou q u a n t i t a t i v o (três dia antes, vinte anos depois, etc).

2.1.7 Classificação de banco de dados temporais

Os bancos de dados temporais s ã o classificados como: B D s d e t e m p o v á l i d o , onde ao dado é associado o tempo válido, ou seja, o armazenamento das i n f o r m a ç õ e s varia com o tempo, podendo obter-se o histórico das mesmas.

B D s d e t e m p o t r a n s a ç ã o , onde s ã o armazenados todos os estados passados do B D , utilizando o tempo de t r a n s a ç ã o .

(25)

2.2 O Modelo Temporal baseado em Grafo

Nesta seção apresentamos o modelo T G M ( T e m p o r a l Graph Model) como u m for-malismo baseado em grafo para representar e consultar bancos de dados temporais. Ele representa a e x t e n s ã o t e m p o r a l do modelo Graph Model, originariamente proposto em [ l 9 ] e descrito com mais detalhes em [ 2 l ] .

U m banco de dados representado pelo modelo T G M , denominado TGMDB

(Tem-poral Graph Model Database), é uma t r i p l a (g, c, m), onde g é u m a estrutura

orientada a grafo, denominada Typed Graph, c é u m conjunto de R e s t r i ç õ e s d e I n t e g r i -d a -d e i m p o s t a sobre as classes -de objetos representa-das em g, e m é u m a estrutura que corresponde ao nível extensional do banco de dados, denominada de I n t e r p r e t a ç ã o .

O esquema de u m banco de dados, ou seja, sua parte intensional, é representada no T G M pelo Typed Graph e u m conjunto de R e s t r i ç õ e s . As i n s t â n c i a s de u m banco de dados, ou seja, sua parte extensional, s ã o representadas pela n o ç ã o de I n t e r p r e t a ç ã o .

U m esquema de banco de dados é expresso no Typed Graph em termos de classes e relacionamentos entre classes (denominados de p a p é i s ) . U m a classe é u m a a b s t r a ç ã o de u m conjunto de objetos com c a r a c t e r í s t i c a s comuns. U m relacionamento entre classes

Ci,... ,Cn representa associações entre objetos das classes C\,...,Cn.

E m T G M , classes e relacionamentos podem t a m b é m ser modelados com carac-t e r í s carac-t i c a s de banco de dados carac-t e m p o r a i s , p e r m i carac-t i n d o ao u s u á r i o recuperar dados n ã o apenas em r e l a ç ã o ao estado corrente do banco de dados, mas t a m b é m seus estados passados (registros h i s t ó r i c o s ) . Neste trabalho, consideramos bancos de dados h i s t ó r i c o s , onde aos dados s ã o associados valores de u m d o m í n i o o r d e n a d o e d i s -c r e t o de intervalos temporais, o qual -consiste de pares ordenados de n ú m e r o s naturais.

Mais formalmente, o Typed Graph g é u m a t u p l a (N, E, L \ , L2, fi, Í2, fz), onde:

N = Nc U Nr é o conjunto de n o d o s , onde Nc e Nr s ã o mutuamente disjuntos;

Nc é o conjunto de nodos-classe, representando as classes, e Nr é o conjunto de

(26)

Nc é particionado em NCp, o conjunto de nodos i m p r i m í v e i s , o qual representa o

conjunto de classes cujas i n s t â n c i a s s ã o valores de d o m í n i o (ex., inteiro, string, etc);

N^, o conjunto de nodos n ã o i m p r i m í v e i s , o qual representa o conjunto de classes

cujas i n s t â n c i a s s ã o identificadores de objeto (ex., Pessoa, Empregado); NCt , o qual

representa o conjunto de nodos t e m p o r a i s i m p r i m í v e i s ; e NCt , o qual representa o

conjunto de nodos t e m p o r a i s n ã o i m p r i m í v e i s .

Nr é particionado em NTn, o conjunto de r e l a c i o n a m e n t o s n ã o t e m p o r a i s , e Nn, o conjunto de r e l a c i o n a m e n t o s t e m p o r a i s .

E Ç N x TV é u m conjunto de arcos;

L i é u m conjunto de r ó t u l o s dos n o d o s ;

Li é u m conjunto de r ó t u l o s dos a r c o s , incluindo u m r ó t u l o especial L1;

fi é u m a função de ./V para L \ , associando u m r ó t u l o a cada nodo;

/2 é u m a função de E para L2, associando u m r ó t u l o a cada arco;

/3 é uma função que caracteriza o estado de seleção dos elementos do Typed Graph,

mapeando cada nodo a u m valor em { n ã o s e l e c i o n a d o , s e l e c i o n a d o , v i s u a l i z a d o } .

Os r ó t u l o s em L \ s ã o simplesmente nomes de nodos, ao passo que os r ó t u l o s em

L2 representam ou o p e r a ç õ e s de conjunto ou expressões booleanas, e s ã o usadas no

processo de f o r m u l a ç ã o de u m a consulta (ver p r ó x i m o c a p í t u l o ) .

E m r e l a ç ã o ao modelo original, o Typed Graph foi estendido com a i n c l u s ã o dos nodos temporais.

J0 rótulo especial era representado como T no modelo original, mudamos para L para evitar

(27)

Com o objetivo de descrever a n o ç ã o de I n t e r p r e t a ç ã o em bancos de dados h i s t ó r i c o s , estendemos o modelo original com a i n t r o d u ç ã o das seguintes n o t a ç õ e s :

Denotamos com AD(n) o conjunto de n o d o s a d j a c e n t e s a u m dado nodo n. Se n é u m nodo-papel, e n t ã o Vnj G AD{n\{rii G Nc). Denotamos com | v l . D ( n ) | a

cardinalidade de AD(n).

T = { . . . , í i , í2, . . .}U{now} é o conjunto ordenado e discreto de p o n t o s d e t e m p o

acrescido do valor especial now, onde now é o tempo corrente mudando continuamente. Definimos em u m a forma n a t u r a l uma relação de ordem < em T (U < < . . . ) , que possui as propriedades de reflexividade, assimetria e transitividade.

U m i n t e r v a l o de t e m p o2 Ik é representado como (begink,endk), com begink,endk G T e para todo t G T, se begink < t < endk, e n t ã o t G Ik.

To-dos os intervalos no modelo s ã o representaTo-dos como intervalos f e c h a d o s . Desta forma, u m instante t pode ser identificado com o intervalo (t, t).

U m Lifespan Is é u m e l e m e n t o t e m p o r a l , ou seja, é u m conjunto

fini-to, disjunto e ordenado de intervalos de tempo {Ii,...,In} Denominamos

LS = {Is I Is = {h,..., In}} o conjunto de todos os lifespans sobre T.

O = OpU OuU Otp U Otu é o conjunto de todos os o b j e t o s a t ô m i c o s . Op s ã o os

objetos i m p r i m í v e i s , Ou s ã o os objetos n ã o i m p r i m í v e i s , Otp s ã o os objetos temporais

i m p r i m í v e i s , e Otu s ã o os objetos temporais n ã o i m p r i m í v e i s . Note que Op, Ou, Otp, Otu

são disjuntos dois a dois.

Definimos o u n i v e r s o U como u m conjunto de todos os objetos estruturados, definidos como o menor conjunto contendo O, e todas as possíveis tuplas rotuladas

2 O que denominamos de intervalo de tempo no modelo, corresponde em realidade a um período de

(28)

(de qualquer aridade) {h : ou ..., lk : ok), onde lu. . . , lk s ã o elementos de L u ou seja,

r ó t u l o s de nodos-classe e ox,..., ok s ã o elementos de O.

Ut Ç C7 é u m u n i v e r s o t e m p o r a l , isto é, o subconjunto de U c o n s t i t u í d o pelos

objetos temporais Otp e Otu, e u m conjunto de tuplas rotuladas (de qualquer aridade) (li : o i , . . . , 4 : Ok), onde li,...,lk s ã o r ó t u l o s de nodos-classe, e Oi,...,ok s ã o

elementos de O.

9 : Ut —> í / 5 é u m a função que associa a cada elemento x de t /t u m lifespan,

denotado por 9(x) = Is. Para cada Ik 6 ^ ( x ) , denotamos ífc = {begirijk(x),endik(x)),

com x G Ut.

A F i g u r a 2.1 i l u s t r a a r e l a ç ã o entre o universo U, o universo t e m p o r a l Ut, o

conjunto de todos os lifespans LS e o conjunto de pontos de tempo T.

F i g u r a 2.1: Universo U, universo temporal Ut, conjunto LS e o conjunto T

U m a I n t e r p r e t a ç ã o do T y p e d Graph g sobre o universo U é u m a função mapeando:

• Os nodosclasse i m p r i m í v e i s de g a u m subconjunto de todos os objetos i m p r i m í -veis de U;

(29)

« Os nodos-classe n ã o i m p r i m í v e i s de g a u m subconjunto de todos os objetos n ã o i m p r i m í v e i s de U;

• Os nodos-classe temporais i m p r i m í v e i s de g a u m subconjunto de todos os objetos temporais i m p r i m í v e i s de Ut;

• Os nodos-classe temporais n ã o i m p r i m í v e i s de g a u m subconjunto de todos os objetos temporais n ã o i m p r i m í v e i s de Ut;

• Os nodos-papel a u m subconjunto de todas a tuplas rotuladas de U.

E m particular, dado u m nodo-papel n , sua I n t e r p r e t a ç ã o é c o n s t i t u í d a por u m conjunto de tuplas rotuladas cuja aridade é igual ao n ú m e r o de nodos-classe que s ã o adjacentes a n.

Formalmente, u m a I n t e r p r e t a ç ã o de u m Typed Graph é u m a função

m : N —> 2<-u~Ut') U 2<>UtxLS'> mapeando cada nodo n G N a u m subconjunto de U ou de Ut x LS, como segue: Se n G NCp e n t ã o m ( n ) Ç Op; Se n G i VC u e n t ã o m(n) Ç Ou; Se n G Nctp e n t ã o m{n) Ç { ( o , 0 ( o ) ) \ o G Otp}; Se n G Nctu e n t ã o m ( n ) Ç { ( o , 0 ( o ) ) | o G Oí u} ; Se n G A^r n e { n i , n2, . . . , nf c} = AD{n}, e n t ã o m ( n ) é u m conjunto de

tuplas da forma : o i , . . . , fi{nk) : ok), onde fi(nl),...,fi(nk) G Lx e

(30)

Se n G Nn e { n1 ; n2, . . . , nk} = AD{n}, e n t ã o m ( n ) é u m conjunto de tuplas,

cada u m tendo u m intervalo de tempo associado, ou seja: m(n) Ç {x,9(x)}, onde

x é u m a t u p l a da forma (f^m) : 0 l, . . . , / , ( nf c) : of c), onde / , ( n i ) , . . . ,ft(nk) G L e

Oi, • • •, Ofc C m ( n i ) x m ( n2) x . . . x m ( nf c) .

O conjunto de R e s t r i ç õ e s d e I n t e g r i d a d e c é especificado pelo projetista de banco de dados, utilizando uma linguagem apropriada (maiores detalhes sobre a linguagem de r e s t r i ç ã o podem ser vistos em [20]), de forma a expressar c o n d i ç õ e s e propriedades relevantes das classes e relacionamentos. As r e s t r i ç õ e s que s ã o relevantes para este trabalho s ã o as seguintes:

nJSAn2 4 = > m ( n i ) Ç m ( n2) A ( m G NCtp U NCtu =» n2 G / VC t p U NCJ;

Isto significa que n i representa uma subclasse de n2 em g. Note que se n i é u m a

classe temporal, a superclasse n2 t a m b é m t e m que ser temporal. De fato, se os objetos

de u m a subclasse s ã o temporais, eles t a m b é m o s e r ã o na superclasse. O construtor ISA permite representar a hierarquia de g e n e r a l i z a ç ã o (relacionamento subclasse-classe), como é definida em modelos s e m â n t i c o s [64].

Esta r e s t r i ç ã o foi redefinida em r e l a ç ã o ao modelo original, de forma a considerar a hierarquia de g e n e r a l i z a ç ã o em nodos temporais.

ATLEAST(k, nl 5 n2) onde nx G 7VC, n2 G Nr, k G Z é satisfeito por m se o n ú m e r o

de tuplas rotuladas em m(n2) que c o n t é m elementos de m ( n i ) no n\-componente é

maior ou igual a k.

ATMOST(k,nx,n2) onde n\ G Nc,n2 G Nr,k G Z é satisfeito por m se o n ú m e r o

de tuplas rotuladas em m(n2) que c o n t é m elementos de m ( n i ) no n\-componente é

menor ou igual a k.

Os construtores ATLEAST and ATMOST p e r m i t e m expressar r e s t r i ç õ e s d e c a r d i n a l i d a d e .

(31)

O construtor ATLEAST significa que todo objeto que é u m a i n s t â n c i a do nodo-classe n\ é relacionado a pelo menos k i n s t â n c i a s do nodo-papel n2, ao passo que

o construtor ATMOST significa que todo objeto que é u m a i n s t â n c i a do nodo-classe

ni é relacionado ao m á x i m o k i n s t â n c i a s do nodo-papel n2.

Para realizar a h e r a n ç a na g e n e r a l i z a ç ã o , denotamos com AD'{n} o conjunto definido como segue:

Se n G Nc e n t ã o AD'{n} = AD{n} Uj AD(rii) onde G NCu ou n ; G NCtu e

nISA*rii, onde ISA* é a propriedade transitiva da r e l a ç ã o ISA (note que se n G NCp

ou n G NCtp, e n t ã o AD'{n} = AD{n}).

Se n G Nr e n t ã o A D ' { n } = A D { n } U {m G 7Vc|3n' G i D { n } A m / 5 A * n ' } .

E m outras palavras, se n é u m nodo-classe, o conjunto AD'{n} c o n t é m t a n t o os nodos adjacentes a n como os nodos adjacentes a seus ancestrais, dentro da hieraquia

ISA. Se n é u m nodo-papel, o conjunto AD'{n} c o n t é m os nodos adjacentes a n e o s

descendentes de tais nodos.

Consideramos u m a nova r e s t r i ç ã o em r e l a ç ã o ao modelo original, definida como segue:

{ nu. . . , nk}PARTOF(n, r) 4=4> nx, . . . , nk, n G Nc A r G Nr A

(Vo G m ( n ) 3! x G m ( r ) | x = (fi(n) : o, /;( n i ) : ou. . . , fi(nk) : ok)) A

(Vo^Oj G m ( n ) , com i ^ J(XÍ,XJ G m ( r ) A = (/;(n) : ou fi(ni) : O i , . . . , / / ( n * ) :

o*) A i j = ( / / ( n ) : OjJtin^ : ou. . . , fi{nk) : ok))) !!/,(«!),...,/,("*) ^

n / i í n ! ) , . . . , / , ^ * ) ^ ' ) )

-Note que o operador n é o equivalente do operador p r o j e ç ã o como definido na á l g e b r a relacional [28].

(32)

A r e s t r i ç ã o descrita acima modela a hierarquia de a g r e g a ç ã o (relacionamento componente-agregado), como geralmente definida em modelos de dados s e m â n t i c o s , a t r a v é s do construtor PARTOF. U m a a g r e g a ç ã o é definida pelo p r o d u t o cartesiano das entidades componentes e sua identidade é determinada pelos valores de seus com-ponentes. Para ser semanticamente válido, a c o n s t r u ç ã o deve possuir pelo menos dois componentes.

Redefinimos o seu significado como segue: a) N ã o existe u m objeto agregado sem os seus objetos componentes; b) N ã o pode existir mais de u m objeto agregado com-p a r t i l h a n d o os mesmos objetos comcom-ponentes.

Vale a pena ressaltar que usamos a r e s t r i ç ã o PARTOF a p e n a s em c o n j u n ç ã o com consultas temporais (ver p r ó x i m o c a p í t u l o ) .

Para r e l a c i o n a m e n t o s t e m p o r a i s , definimos a seguinte r e s t r i ç ã o :

Para cada n G 7Vr t, e m ( n ) Ç {x,9(x)}, onde x é o conjunto de t u

-plas (fi{n>i) : 0\,..., fi(nk) • ok); e n t ã o , o lifespan de n deve ser u m

subconjunto da i n t e r s e c ç ã o dos lifespans dos objetos relacionados, ou seja:

. o u . . . , fi(nk) : ok)) Ç 0[oi) n . . . n 6(ok).

Deste ponto em diante, quando referimos a u m T G M D B D = (g,c,m), i m p l i c i t a -mente assumimos que a i n t e r p r e t a ç ã o m satisfaz todas r e s t r i ç õ e s em c.

U m exemplo de u t i l i z a ç ã o do modelo T G M , de forma a modelar a i n f o r m a ç ã o sobre uma a g ê n c i a de emprego é mostrado na F i g u r a 2.2, com a seguinte funcionalidade: uma a g ê n c i a de empregos presta serviços aos seus clientes, procurando empregados para elas. Toda pessoa, antes de ser empregada, é cadastrada como candidata a u m emprego, e a a g ê n c i a o b t é m i n f o r m a ç õ e s cadastrais dos candidatos.

Assim que as empresas fornecerem certas i n f o r m a ç õ e s (projetos com equipes que necessitam de novos empregados, salário a ser pago, etc) à s a g ê n c i a s , estas analisam os candidatos cadastrados para que possam encaminhar empregados qualificados de acordo com a demanda da empresa.

(33)

Os candidatos que se adequarem às propostas de empregos fornecidas, s e r ã o sele-cionados para se tornarem novos empregados e j á s ã o encaminhados para trabalharem em u m a atividade dentro de u m projeto específico, com s a l á r i o e nível c o m p a t í v e i s às suas especialidades.

A F i g u r a 2.2 mostra o Txjped Graph g e a Tabela 2.1 mostra uma possível I n t e r p r e t a ç ã o m para g. Por q u e s t õ e s de simplicidade, a I n t e r p r e t a ç ã o é listada apenas para u m subconjunto de nodos.

2.3 Conclusão deste capítulo

Este c a p í t u l o i n t r o d u z i u o modelo T G M como e x t e n s ã o t e m p o r a l do modelo Graph

Model, de forma a representar e consultar bancos de dados h i s t ó r i c o s .

De acordo com a estrutura t e m p o r a l definida em [57], o modelo T G M c o m p a r t i l h a com a m a i o r i a dos modelos de dados temporais a mesma estrutura t e m p o r a l , a qual consiste de dados temporais d i s c r e t o s , d e t e r m i n a d o s e a b s o l u t o s . Adicionalmente, T G M suporta u m a ordem temporal linear e h i s t ó r i a s dos dados em t e m p o v á l i d o .

A definição formal do modelo T G M como u m grafo permite a unificação do modelo de dados e sua r e p r e s e n t a ç ã o gráfica.

(34)

m(Pessoa) = { ( 0 1 , 0 2 , 0 3 , 0 4 ) } ;

m(Empregado) = { ( o , , « 1 , 1 0 ) } ) , ( o2 > { { 3 , 7 ) } ) , ( 0 3 , {(2, now)})}; m{Cidade) = { ( 0 5 , 0 6 ) } ;

m(Inteiro) = Z;

m(String) = {a ... z, 1 . . . 0 } * ;

m(Nome) = {(Pessoa : 0 1 , String : Maria), (Pessoa : 02, String : Pedro), (Pessoa : 0 3 , String : John), (Pessoa : on, String : Ana)};

m(Nome - cid) = {(Cidade : 0 5 , String : SP), (Cidade : on, String : RJ)};

m(Mora) = {(Pessoa : 01, Cidade : 0 5 ) , (Pessoa : 02, Cidade : og), (Pessoa : 03, Cidade : oq), (Pessoa : 04, Cidade : 0 5 ) } ;

m(Id-emp) — {(Empregado : o\, Inteiro : 0001), (Empregado : 02, Inteiro : 0010), (Empregado : 03, Inteiro : 0007)}; m(Trabalho) = {(Empregado : o\, Atividade : Tl, Projeto : pi, { ( 1 , 5 ) , ( 8 , 1 0 ) } ) ,

(Empregado : o\, Atividade : T2, Projeto : P2, {(6, 7)}), (Empregado : 02, Atividade : T 6 , Projeto : P3, {(3, 5 ) } ) , (Empregado : 0 2 , Atividade : T8, Projeto : ps, {(6, 7)}), (Empregado : 03, Atividade : Tl, Projeto : pi, {(2,10)})}, (Empregado : 03, Atividade : Ti, Projeto : p j , {(11, 30)})}, (Empregado : 03, Atividade : TZ, Projeto : p\, {(31, now)})};

m(Salário) = {(Empregado : 0 1 , valor — sal : 5000, {(1,5), (8,10)}, (Empregado : 0 1 , valor — sal : 6 0 0 0 , { ( 6 , 7 ) } ) , (Empregado : 02, valor — sal : 10000, {(3, 7)}), (Empregado : 03, valor — sal : 8000, {(2, now)})}. m(Nívcl) = {(Empregado : 0 1 , Inteiro : 2, { ( 1 , 1 0 ) } , (Empregado : 02, Inteiro : 7, { ( 3 , 7 ) } ) ,

(Empregado : 03, Inteiro : 3, {(2,10)}), (Empregado : 03, Inteiro : 4, {(11, now)})}. Tabela 2.1: U m a I n t e r p r e t a ç ã o m para g

A p a r t i r desta i n t e g r a ç ã o , se p e r m i t i u a definição de o p e r a ç õ e s gráficas elementares sobre os componentes da r e p r e s e n t a ç ã o gráfica do modelo (ex. seleção de u m nodo ou desenho de u m arco entre dois nodos), de forma a expressar consultas visuais sobre bancos de dados representado pelo modelo T G M . A sintaxe e a s e m â n t i c a de algumas o p e r a ç õ e s gráficas elementares foram formalmente definidas dentro do modelo original de Catarei et al. [19]. Contudo, tais o p e r a ç õ e s gráficas n ã o foram suficientes para expressar consultas h i s t ó r i c a s .

Portanto, assim como o modelo T G M é uma e x t e n s ã o t e m p o r a l do modelo Graph

Model, no p r ó x i m o c a p í t u l o serão introduzidas novas o p e r a ç õ e s gráficas elementares

(35)

Capítulo 3

As Primitivas Gráficas Temporais

Neste c a p í t u l o , definimos as primitivas gráficas t e m p o r a i s , com base na i d é i a de ex-pressar qualquer i n t e r a ç ã o do u s u á r i o com u m banco de dados, em termos de u m conjunto de p r i m i t i v a s gráficas (Graphical Primitives - GPs), denominadas de s e l e ç ã o d e u m n o d o e d e s e n h o d e u m a r c o , as quais foram definidas baseado no modelo

Graph Model [19], [21]. É demonstrado que todas as consultas de p r i m e i r a ordem

po-dem ser expressas a t r a v é s da c o m p o s i ç ã o destas duas primitivas, tendo o mesmo poder expressivo das linguagens de consulta relacionais (ver [ 2 l ] ) .

Contudo, consultas temporais n ã o podem ser expressas compondo apenas estas duas primitivas, é necessário adicionar primitivas gráficas específicas para a m a n i p u l a ç ã o de i n f o r m a ç ã o temporal. Portanto, estendemos o conjunto G P com outras p r i m i t i v a s gráficas, denominadas de primitivas gráficas temporais (Temporal Graphical Primitives

- TGPs), que s ã o usadas na e x p r e s s ã o visual de consultas temporais.

O resto do c a p í t u l o é organizado da seguinte forma: N a seção 3.1 é descrito a taxonomia de consultas temporais que podem ser especificadas pelos T G P s . N a seção 3.2 s ã o descritas brevemente as primitivas gráficas. Nas seções 3.3, 3.4, 3.5 e 3.6 s ã o introduzidos os T G P s s e l e ç ã o de n o d o ( s ) s o m b r e a d o ( s ) , e x t e n s ã o t e m p o r a l d a m u d a n ç a d o r ó t u l o d e u m a r c o , s e l e ç ã o d o r ó t u l o d e u m n o d o , e m u d a n ç a d o r ó t u l o d e u m n o d o , respectivamente. Na seção 3.7 é descrito o processamento de u m a consulta temporal. Na seção 3.8 é descrito u m trabalho relacionado.

(36)

3.1 Uma Taxonomia para Consultas Históricas

U m a t a x o n o m i a para consultas temporais foi proposta em [67]. Aquele documento c o n t é m u m resumo das principais terminologias utilizadas em banco de dados tempo-rais. De acordo com [67], u m a consulta temporal t e m dois componentes ortogonais: S e l e ç ã o t e m p o r a l , o qual é uma c o n d i ç ã o lógica, baseada em u m predicado que en-volve o tempo associado com os fatos, e p r o j e ç ã o t e m p o r a l , o qual retorna os valores de tempo associados aos dados derivados da seleção t e m p o r a l .

U m a nova t a x o n o m i a para consultas temporais é proposta por Edelweiss em [40]. E m [40], as possíveis c o m b i n a ç õ e s entre s e l e ç ã o / p r o j e ç ã o t e m p o r a l sobre tempo e dados foram analisadas, resultando em: s e l e ç ã o / p r o j e ç ã o dos d a d o s , onde c o n d i ç õ e s e resultados se aplicam a valores de dados somente; s e l e ç ã o / p r o j e ç ã o t e m p o r a l , onde c o n d i ç õ e s e resultados se aplicam a valores temporais; e s e l e ç ã o / p r o j e ç ã o m i s t a , onde c o n d i ç õ e s e resultados se aplicam tanto aos dados quanto aos valores temporais.

Esta análise foi combinada com cinco h i s t ó r i a s identificadas em u m banco de da-dos b i t e m p o r a l1. E m u m banco de dados bitemporal, tanto o tempo de t r a n s a ç ã o

quanto o tempo válido [103] s ã o armazenados, sobre os quais cinco h i s t ó r i a s podem ser identificadas, descritas em [40]:

1. D a d o s i n s t a n t â n e o s a t u a i s , representados por todas as i n f o r m a ç õ e s v á l i d a s no momento presente;

2. D a d o s i n s t a n t â n e o s passados, representados pelos dados v á l i d o s em u m de-terminado instante do passado, de acordo com a atual p e r c e p ç ã o da h i s t ó r i a do banco de dados;

3. D a d o s i n s t a n t â n e o s d e h i s t ó r i a passada, considerando todas as i n f o r m a ç õ e s de u m determinado momento no passado, de acordo com a h i s t ó r i a v á l i d a naquele momento;

xDe acordo com [68], existem quatro tipos de banco de dados: instantâneos, de transação, de

(37)

4. D a d o s h i s t ó r i c o s , nos quais e s t ã o i n c l u í d a s todas as i n f o r m a ç õ e s armazenadas de acordo com a presente h i s t ó r i a de dados válidos;

5. D a d o s h i s t ó r i c o s d e h i s t ó r i a passada, a n á l o g o s aos anteriores mas consi-derando u m a h i s t ó r i a anterior à atual, definida por u m determinado tempo de t r a n s a ç ã o .

Dentro do contexto de banco de dados de t e m p o - v á l i d o , nosso escopo foi reduzi-do a duas h i s t ó r i a s , como pode ser visto na Tabela 3.1, sem as c o m b i n a ç õ e s seleção

dados/projeção dados e seleção temporal/projeção temporal, de acordo com [40] (a p r i

-meira representa u m a consulta convencional e a ú l t i m a é impossível de representar em uma consulta t e m p o r a l desde que condições e resultados n ã o se aplicam a valores tem-porais somente). Esta classificação n ã o inclue consultas que se referem à i n f o r m a ç ã o t e m p o r a l incompleta.

Dados i n s t a n t â n e o s passados Dados h i s t ó r i c o s seleção d a d o s / p r o j e ç ã o temporal ex. 3

seleção d a d o s / p r o j e ç ã o mista ex.4

seleção t e m p o r a l / p r o j e ç ã o dados e x . l

seleção t e m p o r a l / p r o j e ç ã o mista • ex.6

seleção m i s t a / p r o j e ç ã o dados ex.2

seleção m i s t a / p r o j e ç ã o temporal ex.7

seleção m i s t a / p r o j e ç ã o mista ex.5

Tabela 3.1: Diferentes Tipos de Consulta Temporal

Nos seguintes exemplos ilustramos sete casos distintos na Tabela 3 . 1 :

1. Quais foram os s a l á r i o s dos empregados em 10/01/97?

2. Q u a l foi o s a l á r i o do J o ã o quando ele mudou o seu status pela ú l t i m a vez?

3. Desde quando o grupo de banco de dados trabalha no projeto "Interface para banco de dados temporais"?

(38)

4. Q u a l o h i s t ó r i c o salarial dos empregados?

5. Q u a l o ú l t i m o projeto dos empregados que tiveram u m s a l á r i o inicial maior que 5.000 reais? E desde quando?

6. Qual o h i s t ó r i c o dos níveis dos empregados antes do ano de 97?

7. Q u a l o p e r í o d o que J o ã o Silva trabalhou no projeto "Interfaces Visuais A v a n ç a d a s " durante 1997?

A t r a v é s da c o m p o s i ç ã o de GPs e T G P s , o u s u á r i o pode especificar qualquer consulta t e m p o r a l dentro do d o m í n i o de consultas temporais apresentadas na Tabela 3 . 1 .

3.2 Primitivas Gráficas

Como veremos no decorrer deste c a p í t u l o , GPs e T G P s consistem de o p e r a ç õ e s gráficas elementares, que podem ser usadas como componentes básicos para expressar visual-mente consultas que envolvem seleção e p r o j e ç ã o de tempo válido. A s e m â n t i c a dos GPs e T G P s é caracterizada em termos de t r a n f o r m a ç õ e s do banco de dados, de forma que, na a v a l i a ç ã o de u m a consulta, a p a r t i r de u m banco de dados inicial, é o b t i d o u m banco de dados resultante, contendo exatamente a i n f o r m a ç ã o solicitada.

Seja D = (g,c,m) u m TGMDB. A t r a v é s do G P s e l e ç ã o de u m n o d o , o estado de u m nodo é mudado do valor n ã o s e l e c i o n a d o para o valor s e l e c i o n a d o , o qual significa i n c l u í d o no esquema de interesse, ou v i s u a l i z a d o , o qual significa i n c l u í d o no resultado da consulta. S ã o mostrados na F i g u r a 3.1 os t r ê s diferentes estados do nodo-classe Projeto.

PROJETO ; PROJETO PROJETO PROJETO

* 1 PROJETO PROJETO

NAO SELECIONADO SELECIONADO VISUALIZADO

(39)

Seja D' = (g',c',rn') o TGMDB resultante da seleção de nodos. O G P d e s e n h o d e u m a r c o é u m a função £(D', T, n, q) = Dr que cria u m arco r o t u l a d o com T entre

os nodos n e q, e corresponde à r e s t r i ç ã o das i n t e r p r e t a ç õ e s dos nodos de acordo com as regras declaradas no r ó t u l o , ou a e x e c u ç ã o de o p e r a ç õ e s de conjunto sobre eles. Esta p r i m i t i v a pode ser apenas aplicada quando n ã o existe nenhum arco entre n e g e m D'. Seu efeito sobre D' depende de T e os nodos n e q.

Sejam n e q nodos-papel, e seja T u m a expressão booleana, durante a c o n s t r u ç ã o do banco de dados resultante D° (ver seção 3.7), Í{D' ,T ,n,q) representa u m a r e s t r i ç ã o da i n t e r p r e t a ç ã o final. Por exemplo, a Figura 3.2 (a) mostra a r e s t r i ç ã o de todas as pessoas que possuem carro cuja placa c o n t é m o seu nome.

Se T é u m operador de conjunto, e n t ã o na q s ã o nodos-classe. Dr c o n t e r á u m novo

nodo s e novas r e s t r i ç õ e s ISA (ex. se T é união, e n t ã o as r e s t r i ç õ e s s ã o n ISA s e

q ISA s), como mostra a F i g u r a 3.2 ( b ) . O primeiro nodo s c o n t é m todos os objetos

que s ã o empregados ou estudantes, enquanto que o segundo nodo s c o n t é m todos os objetos que s ã o empregados e estudantes.

(A) (B)

F i g u r a 3.2: G P desenho de u m arco

As p r i m i t i v a s descritas anteriormente constituem o conjunto m í n i m o de a ç õ e s ele-mentares. P o r é m , por simplicidade, adicionamos uma nova o p e r a ç ã o , denominada de m u d a n ç a d o r ó t u l o de u m a r c o , relacionando u m nodo-classe s a u m nodo-papel

q. A m u d a n ç a do r ó t u l o de u m arco é denotada com C(D', T\, s, q), onde T\ é u m a

f ó r m u l a proposicional, cujos elementos s ã o da forma aR{3, onde R é u m operador de c o m p a r a ç ã o , a e (3 representam o componente s das tuplas pertencendo a i n t e r p r e t a ç ã o de q (referenciada a t r a v é s do r ó t u l o de q) ou constantes.

(40)

Durante a c o n s t r u ç ã o do banco de dados resultante D°, a p r e s e n ç a de r ó t u l o s dife-rente do valor L representa u m a r e s t r i ç ã o da i n t e r p r e t a ç ã o final.

Vale ressaltar que o mesmo resultado da o p e r a ç ã o de m u d a n ç a de u m r ó t u l o pode ser o b t i d a a t r a v é s do desenho de u m arco reflexivo sobre o nodo-papel q, como mostra a F i g u r a 3.3. Desta forma, a m u d a n ç a do r ó t u l o de u m arco n ã o é definida como u m a nova p r i m i t i v a .

I D A D E . I N T E I R O > 2 1 (

F i g u r a 3.3: G P desenho de u m arco e m u d a n ç a do r ó t u l o de u m arco

O formalismo das primitivas gráficas pode ser visto em [19].

3.3 Seleção de nodo(s) sombreado(s)

A seleção da parte sombreada de classes ou relacionamentos temporais corresponde ao T G P s e l e ç ã o d e n o d o ( s ) s o m b r e a d o ( s ) .

A a p l i c a ç ã o deste T G P sobre u m T G M D B D resulta em u m novo T G M D B D', no qual, para os tempos associados aos objetos do nodo sombreado, é criado u m nodo e x p l í c i t o contendo intervalos de tempo, que é associado ao nodo original (agora sem sombra), por meio de u m nodo de relacionamento, como mostra a F i g u r a 3.4. A classe que representa os intervalos de tempo pode ser manipulada separadamente pelos outros T G P s (os quais s ã o aplicados sobre D'). Pode ser notado a diferença deste operador com a seleção de nodos n\,..., nk (se a consulta n ã o envolve aspectos temporais).

Quando este T G P é aplicado a nodos-classe temporais ( n ã o ) i m p r i m í v e i s { r i j } , com 1 < i < k, os nodos-classe s ã o transformados em nodos-classe ( n ã o ) i m p r i m í v e i s {n£}, contendo todas as i n s t â n c i a s originais sem lifespans. U m novo nodo-classe s é criado como u m a agregação das classes n[,... ,n'k com a classe de intervalos de tempo i. A

nova i n t e r p r e t a ç ã o de i c o n t é m a i n t e r s e c ç ã o dos lifespans originalmente associados às classes n\,..., nk.

(41)

U m r ó t u l o especial "ali history" é incluído no arco entre os nodos rei, como mostra-do na F i g u r a 3.4 (a), correspondenmostra-do à consulta "Recupere o histórico mostra-dos empregamostra-dos

e candidatos". Note que o estado do novo nodo-papel assume o estado de selecionado,

de forma a ser utilizado na c o n s t r u ç ã o do banco de dados resultante.

O mesmo procedimento é usado quando a p r i m i t i v a é aplicada a u m conjunto de nodos-papel temporais { n j . A ú n i c a diferença é que as classes que fazem parte da a g r e g a ç ã o s ã o as classes AD(rii),..., AD(nk) mais o nodo-classe i, como mostrado na

F i g u r a 3.4 ( b ) , correspondendo á consulta "Quais os salários e níveis de cada empregado

no ano passado?".

Vale ressaltar que as figuras apresentadas representam t r a n s f o r m a ç õ e s internas do T G M D B , e s ã o t r a n s p a r e n t e s ao u s u á r i o final.

F i g u r a 3.4: T G P Seleção de nodo(s") sombreado(s)

A Tabela 3.2 mostra os efeitos a nível de t u p l a [55] da seleção dos nodos sombreados dos nodos Salário e Nível, de forma a obter o nodo-papel n ã o t e m p o r a l

Salário/Nível-History.

s Empregado Valor-sal Inteiro TIME-INTERVAL

Jl Ox 5000 2 (1,5)

J2 Oi 6000 2 (6,10)

Jz o2 10 000 7 (3,7)

8000 3 (2,10)

h o3 8000 4 (11, now)

Referências

Documentos relacionados

- os dados de texto são resumidos numa Tabela dinâmica através da função de sumário Contar - os dados numéricos são resumidos através da função Soma. Exemplo: Soma do Total

Com relação ao efeito de arranjo de plantas no rendimento de aquênios, observou-se ampla flexi- bilidade de resposta nos arranjos em fileiras sim- ples, possibilitando a utilização

Fundada pelos professores universitários João Carlos Espada (Diretor) e Mário Pinto (Presidente), bem como pelo jurista e político José Luís Nogueira de Brito (Administrador),

Surgem ainda diversos graus de aproximação à obra, consequência não só do espaço físico onde esta se localiza, como da capacidade de interacção manifestada pelos

A literatura sugere que os pacientes aderem mais facilmente a aspetos biomédicos (medicação) e têm mais dificuldade com aspetos sociais e comportamentais (como alimentação

Espera-se que tal pesquisa possa contribuir para um melhor entendimento sobre o Lindy hop e o West coast swing, bem como sua cultura, o como está crescendo no Brasil,

m from 1.008 to 1.568 GeV and performing a global unbinned maximum-likelihood (UML) fit to the J /ψφ K + invariant-mass dis- tribution in each m interval. The two data sets are

Na análise qualitativa dos resultados as seguintes categorias foram evidenciadas: comprometimento com a disciplina; educação interprofissional; contribuição para