Banco de dados -

Autores: Dante Carlos Antunes - GPT

     Carlos A. Heuser, Nina Edelweiss - UFRGS (Instituto de Informática)

TempER:

UMA PROPOSTA DE MODELAGEM DE DADOS TEMPORAL

Várias extensões à abordagem entidade-relacionamento original têm sido propostas com o objetivo de incorporar a possibilidade de modelar propriedades temporais. Estas abordagens, entretanto, apresentam várias restrições. O presente artigo mostra a abordagem TempER, um modelo de dados temporal que procura corrigir os problemas identificados nas demais abordagens.

Introdução

Quando um modelo é construído com a abordagem ER convencional [CHE 76], a associação das entidades e relacionamentos com o tempo materializa-se através da inclusão de atributos comuns que armazenam datas, horas ou qualquer outra referência temporal. Além disso, caso se necessite registrar os diversos valores que um atributo pode apresentar ao longo do tempo, por exemplo, os salários de um empregado, existem duas alternativas possíveis: ou se especifica uma nova entidade composta deste atributo e mais os atributos de referência ao tempo, ou se define tal atributo como composto e multivalorado.

Quando atributos que armazenam pontos do tempo são incluídos, é muito comum a necessidade de especificar restrições em relação a eles, tais como as abaixo descritas:

  • Ao se transferir em 23/10/96 um empregado para um departamento, primeiro o empregado deve apresentar a sua data de admissão menor ou igual a 23/10/96 e não pode estar demitido, isto é, a data de demissão deve conter null; segundo, o departamento deve ter a sua data de criação menor ou igual a 23/10/96 e não pode estar fechado, isto é, a sua data de fechamento deve conter null.
  • Um valor de salário deve ter o seu período de validade contido entre a data de admissão e a data de demissão do empregado, donde se deduz que não deve ser permitido aumentar o salário de um empregado após a sua data de demissão.Um empregado não pode estar lotado em mais que um departamento, no mesmo ponto do tempo.
  • Em todos os momentos do tempo que o empregado estiver vinculado à empresa, ele, necessariamente, deve estar lotado em um departamento, qualquer que seja ele.

O modelo ER convencional por si só não é capaz de especificar as restrições acima, exigindo que isto se faça ao nível da modelagem dinâmica.

Com o objetivo de dotar o modelo ER desta capacidade, algumas extensões temporais têm sido propostas, entre as quais: a abordagem ERT (Entity Relationship Time Model) [LOU 91], a abordagem TER (Temporal Entity-Relationship Model) [TAU 91] e a abordagem TEER (Temporal Enhanced Entity-Relationship Model) [ELM 93] e a sua variante STEER [ELM 92].

Em um modelo de dados convencional, os conjuntos de entidades e relacionamentos apresentam duas dimensões: a primeira refere-se às instâncias (linhas) e a segunda aos atributos (colunas). Em um modelo ER temporal, uma nova dimensão é acrescentada: a dimensão temporal. A forma que tem se mostrado mais adequada de tratar a dimensão temporal em sistemas de informação é assumi-la como uma seqüência discreta, linear e finita de pontos consecutivos no tempo. A esta seqüência de pontos do tempo dá-se o nome de eixo temporal.

Dos modelos acima citados, o modelo TER [TAU 91] é o menos expressivo. Não associa propriamente os objetos modelados à dimensão temporal, ou seja, não oferece uma notação especial para representar entidades, relacionamentos e atributos temporalizados. Concentra-se apenas em desdobrar a representação das cardinalidades dos relacionamentos em cardinalidade snapshot, que determina o grau de participação da entidade no relacionamento a cada instante de tempo, e cardinalidade lifetime, que determina o grau de participação da entidade no relacionamento, tendo como unidade de referência a existência da entidade como um todo.

Um outro requisito importante a ser preenchido por um modelo de dados que incorpore a dimensão temporal é permitir que em um mesmo diagrama seja possível associar objetos (entidades, relacionamentos ou atributos) temporalizados com objetos não temporalizados. Isto se faz necessário porque em sistemas de informação, normalmente, alguns dados precisam ser explicitamente referenciados em relação ao tempo (a evolução dos salários dos empregados, a alocação de técnico em projetos,…), e outros não apresentam esta necessidade, ou porque não mudam com o tempo, ou porque é irrelevante ao usuário saber quando os fatos ocorreram (o código de um empregado, a autoria de um artigo,...). Normalmente os objetos não temporalizados são assumidos como existindo sempre, ou seja, adquirem uma validade temporal, implícita e constante, igual a todo o conjunto de pontos do eixo temporal.

O modelo TEER [ELM 93] não preenche o requisito acima pois assume que todos os objetos são temporalizados, isto é, são válidos por um certo período de tempo, o que simplifica bastante o modelo, mas exige que o modelador tenha que referenciar temporalmente até os dados que não precisam ser temporalizados.

A variante STEER [ELM 92] do modelo TEER, embora distinga os objetos em objetos conceituais e objetos temporais, em função da relação destes com o tempo, também não torna disponível um tratamento adequado aos objetos não temporalizados. Os objetos conceituais, que se caracterizam por uma validade temporal que inicia em um determinado momento e não mais se encerra, ainda continuam sendo temporalizados, pois a sua "existência" é um subconjunto de pontos do eixo temporal.

Dentre os modelos ER temporais acima citados, apenas o modelo ERT [LOU 91] permite mesclar em um mesmo diagrama objetos temporalizados e objetos não temporalizados. Contudo, apresenta alguns aspectos que dificultam o processo de modelagem.

FIGURA 1 - Modelo de dados temporal segundo a abordagem ERT de Loucopoulos

 

No modelo ERT os atributos são explicitados graficamente, resultando em diagramas bastante carregados (ver figura 1). Esta característica contraria um dos principais objetivos que um modelo gráfico deve perseguir, que é o da facilidade de uso e visualização. Além disto, o modelo ERT utiliza como primitiva temporal o intervalo de tempo que, segundo [GAD 93], mostra-se inferior à primitiva conhecida como "elemento temporal" (ver seção 2.3).

Uma outra desvantagem dos intervalos de tempos, quando estes são utilizados como rótulos temporais dos objetos, é a necessidade de fragmentar em diversas tuplas os objetos "reencarnados", uma tupla para cada intervalo de existência. Isto resulta em linguagens de difícil utilização, conforme mostra a comparação encontrada em [GAD 93] entre a linguagem Tquel, que utiliza intervalos, e a linguagem TempSQL, que utiliza elementos temporais.

Com a finalidade de preencher os requisitos acima citados, considerados necessários a uma abordagem ER que pretenda representar os objetos temporalmente, e com a intenção de suprimir os pontos desfavoráveis identificados nas propostas de modelagem temporal pesquisadas na literatura, é proposto neste trabalho o modelo de dados TempER.

O modelo TempER permite representar a associação entre elementos temporalizados e não temporalizados. Para tanto, adota o pressuposto que todas as entidades, sejam elas temporalizadas ou não, apresentam uma dimensão temporal, ou seja, uma "existência" ou validade temporal. No caso das entidades temporalizadas esta existência é um subconjunto de pontos do eixo temporal. Em virtude disto são chamadas de entidades transitórias. Em relação às entidades não temporalizadas, é assumido que "existem" durante todo o eixo temporal, ou seja, a sua validade temporal é constante, implícita e igual a todo o eixo temporal. Por isto, são denominadas entidades perenes.

Qualquer que seja a classificação de uma entidade em relação ao tempo, seja transitória ou perene, ela sempre vai apresentar duas perspectivas: uma intemporal e uma temporal, como se fossem duas faces de uma mesma moeda (ver figuras 5, 8 e 10). Quando se focaliza os conjuntos de entidades pela perspectiva intemporal estes apresentam apenas duas dimensões (tuplas x atributos intemporais). Por outro lado, quando se focaliza estes mesmos conjuntos pela perspectiva temporal eles passam a apresentar três dimensões (tupla x atributos temporais x eixo temporal).

No tocante aos relacionamentos, ou as entidades se associam entre si na perspectiva temporal (relacionamentos temporais) ou na perspectiva intemporal (relacionamentos intemporais).

Especificamente em relação à abordagem ERT [LOU 91], que entre as técnicas citadas acima é a que mais se aproxima do modelo TempER, existem as seguintes implementações, que visam suprimir os aspectos considerados desfavoráveis:

  • A primitiva temporal utilizada no modelo TempER é o elemento temporal e não o intervalo de tempo.
  • No modelo TempER os atributos não são explicitados graficamente e sim através de um dicionário de dados associado ao diagrama ER, o que resulta em um modelo mais administrável visualmente.

Em resumo, o modelo de dados TempER apresenta uma série de extensões, em relação ao modelo ER convencional, que o dotam da capacidade de representar os objetos temporalmente.

2. Conceitos Relativos à Dimensão Temporal

A presente seção mostra os conceitos básicos relativos à modelagem de propriedades temporais em banco de dados.

2.1 Eixo temporal

A forma que se tem mostrado mais adequada de tratar a dimensão temporal em sistemas de informação é assumí-la como uma seqüência discreta, linear e finita de pontos consecutivos do tempo. Esta seqüência também recebe a denominação de eixo temporal e é representada no âmbito deste trabalho pela constante T.

Na área de estudo dos bancos de dados temporais [TAN 93, EDE 94, CLI 95, OZS 95] normalmente consideram-se duas linhas de tempo ortogonais: o tempo de validade e o tempo de transação. O tempo de validade de um fato, conforme o glossário encontrado em [JCS 94], é o tempo quando o fato é verdadeiro na realidade modelada. Normalmente o tempo de validade é fornecido pelo usuário. O tempo de transação, conforme o mesmo glossário, é quando o fato é registrado no banco de dados, sendo o respectivo rótulo temporal suprido automaticamente pelo sistema gerenciador de banco de dados. Para efeito da ferramenta de modelagem proposta neste trabalho, existe apenas um eixo temporal e este representa o tempo de validade. Não é necessário referir-se ao tempo de transação porque os modelos produzidos estão no estágio conceitual, ou seja, não devem especificar aspectos inerentes à implementação física.

Para definir com mais precisão o eixo temporal, lança-se mão da teoria dos conjuntos [ALE 85] como segue.

Seja T o conjunto não vazio de todos os pontos do tempo, então por definição T é um conjunto totalmente ordenado pela relação BEFORE a qual satisfaz à seguinte condição, onde ta e tb são pontos do tempo:

 

" ta, tb : ta, tbÎ T Ù ta¹ tb® (ta BEFORE tb Ú tb BEFORE ta)

Para que a relação BEFORE seja uma relação de ordem estrita total é necessário que possua as seguintes propriedades:

Irreflexibilidade:

" t : t Î T ® Ø (t BEFORE t)

Transitividade:

 

" ta, tb, tc : ta, tb, tc Î T Ù ta BEFORE tbÙ tb BEFORE tc® ta BEFORE tc

 

Assimetria:

 

" ta, tb : ta, tbÎ T Ù ta BEFORE tb® Ø (tb BEFORE ta)

A relação BEFORE é equivalente à relação " < " utilizada no âmbito dos números inteiros.

Quando se considera a dimensão temporal como sendo um eixo discreto assume-se que cada ponto do tempo pertencente a este eixo é atômico e dura exatamente um chronon. O chronon define a granularidade da dimensão temporal. Em um UD (Universo do Discurso) é possível coexistirem diferentes granularidades, por exemplo: em um determinado segmento modelado a granularidade pode ser diária (o chronon equivale a um dia) e em outro segmento a granularidade pode ser mensal. Para efeito do presente trabalho será assumido que o UD apresenta apenas uma única granularidade. Em [CLI 88] encontra-se uma forma de representar as diversas granularidades do calendário e as suas inter-relações.

O conceito de chronon e as propriedades acima especificadas, estabelecendo que o eixo temporal T é totalmente ordenado, permitem tratá-lo como sendo isomórfico ao conjunto dos número inteiros. Assim, entre dois pontos do tempo consecutivos não existe outro ponto do tempo. Caso o tempo fosse assumido como isomórfico ao conjunto dos números reais, entre dois pontos sempre existiria um outro ponto.

Os pontos limítrofes do eixo temporal são referenciados através de símbolos especiais. O limite inferior é representado pelo símbolo "«" e o limite superior é representado pelo símbolo "»".

2.2 Intervalo de tempo.

Um intervalo de tempo é um subconjunto de pontos do eixo temporal T. Por dedução, também é totalmente ordenado pela relação BEFORE, sendo possível, através dos operadores first e last [CLI 88], extrair-lhe o primeiro e o último ponto de tempo. É o que se passa a demonstrar.

Seja I, um intervalo de tempo e I Í T, então:

first ( I ) é o elemento t Î I tal que,

" t' Î I : t BEFORE t' Ú t = t'

last ( I ) é o elemento t Î I tal que,

" t' Î I : t' BEFORE t Ú t' = t

Qualquer intervalo de tempo é identificável pelo seus pontos limítrofes que correspondem aos pontos definidos pelos operadores first e last acima definidos. A expressão que representa um intervalo de tempo tem o formato [tFIRST, tLAST], onde tFIRST é o primeiro ponto do intervalo e tLAST é o último. O próprio eixo temporal T pode ser considerado um intervalo de tempo, identificado pela expressão [«, »]. Um intervalo de tempo que dura exatamente um chronon apresenta tFIRST igual a tLAST.

Para que um conjunto de pontos do tempo seja realmente considerado um intervalo é necessário que sejam consecutivos, isto é, não pode haver qualquer lacuna entre eles. Esta condição é formalmente representada pela expressão abaixo:

Seja I Í T um intervalo,

então, " ta Î I : ta¹ last ( I ) ®

$ tbÎ I : (ta BEFORE tbÙ

Ø $ tc Î T : ta BEFORE tc Ù tc BEFORE tb)

2.3 Elemento Temporal

Conforme o glossário produzido por um grupo de especialistas da área de banco de dados temporal [JCS 94], elemento temporal é uma união finita de intervalos de tempo. É fechado para as operações de união, interseção e complementação da teoria dos conjuntos, isto é, qualquer destas operações sobre um elemento temporal produz um novo elemento temporal. Como estas operações encontram contrapartida nos operadores booleanos or, and e not, isto produz uma substancial simplificação na habilidade do usuário de expressar consultas temporais [GAD 88, 93]. Dado que todos os intervalos são subconjuntos do eixo temporal T, então, por derivação, um elemento temporal também o é. Um exemplo de elemento temporal é [25, 40] U [51, 70]. Um intervalo é obviamente um elemento temporal. Um instante t pode ser identificado pelo intervalo unitário [t, t] e assim também é considerado um elemento temporal.

Na ferramenta de modelagem proposta neste trabalho foi adotado o elemento temporal para servir de rótulo do tempo para as entidades, relacionamentos e atributos do modelo de dados. O elemento temporal se mostra superior ao uso da primitiva intervalo de tempo, primeiro porque os intervalos não são fechados para as operações da teoria de conjuntos mencionadas acima, e segundo porque, conforme [GAD 88, 93], quando os intervalos são usados como rótulos temporais os objetos são fragmentados em várias tuplas, uma para cada intervalo. Isto resulta em linguagens de difícil utilização, conforme mostra uma comparação, também encontrada em [GAD 93], entre a linguagem TQuel, que utiliza intervalos, e a linguagem TempSQL, que utiliza elementos temporais. Também a linguagem TSQL2 [SNO 94], que é uma extensão temporal do padrão SQL-92, utiliza o elemento temporal como a primitiva para rotular as tuplas das tabelas.

Através do uso do elemento temporal, a "reencarnação" de objetos [CLI 88a] é implementada com facilidade.

2.4 Assinalamento Temporal

Para capturar a evolução de valores de um atributo, [GAD 93] introduz a noção de assinalamento temporal. Um assinalamento temporal (ou simplesmente assinalamento) de um atributo A é uma função do elemento temporal para dom(A), o domínio de valores de A. Por exemplo, a expressão< vermelho [25,32], azul [33,»] > é um assinalamento temporal do atributo COR e o seu significado é: a COR foi vermelha durante o intervalo de tempo [25,32] e azul durante os instantes [33, »]  (33 em diante).

2.5 Domínio Temporal

Conforme [GAD 93], o domínio de um assinalamento l , denotado [[ l  ]], é chamado de domínio temporal deste assinalamento. Por exemplo, se l representar o assinalamento acima do atributo COR, então [[ l ]] = [25, »].

2.6 Restrição Temporal

A restrição temporal pode ser entendida como uma operação que se faz sobre um assinalamento temporal, visando obter um segmento deste. Ou seja, dado o assinalamento temporal l acima, a expressão l é m denota a restrição de l ao elemento temporal m . Por exemplo, l é [29,34] é igual a <vermelho [29,32], azul [33,34]>.

3. Modelo de Dados Temporal TempER

Antes de iniciar a descrição das características do modelo TempER é importante ter em mente o que significa existência - ou validade temporal - no âmbito do presente trabalho. Existência de uma entidade nada mais é que o conjunto de pontos do tempo em que esta entidade é considerada como válida para efeito de inferências temporais no banco de dados. Não se deve confundir existência com a presença física da entidade no banco de dados, ou seja, uma entidade pode estar presente no banco de dados e em relação a um determinado ponto do tempo "não existir".

O modelo TempER é um modelo de dados do tipo Entidade-Relacionamento que incorpora dispositivos que permitem referenciar os objetos (entidades, relacionamentos ou valores de atributos) à dimensão temporal.

No modelo TempER, a dimensão temporal é assumida como sendo um eixo de pontos discretos, isomórfico ao conjunto dos números inteiros, como já foi definido anteriormente.

Assim como o modelo ER convencional, o modelo TempER apresenta também os seguintes elementos básicos: entidade, relacionamento e atributos.

Um grupo de entidades de mesma natureza e com a mesma estrutura de atributos, é denominado de conjunto-entidade e é este conjunto que se simboliza graficamente no diagrama. Um exemplo é o conjunto-entidade Empregado da figura 2, que representa todos os empregados de uma certa empresa. Da mesma forma, um grupo de relacionamentos com as mesmas características (mesmos conjuntos-entidade associados e mesma finalidade) é denominado de conjunto-relacionamento. Por exemplo, todas as lotações existentes de empregados em departamentos são simbolizadas pelo conjunto-relacionamento Lotação da figura 2. Em resumo, no contexto deste trabalho, entidade é uma instância de um conjunto-entidade e relacionamento é uma instância de um conjunto-relacionamento.

Os atributos são propriedades das entidades e relacionamentos. A associação de um atributo com um valor, do domínio de valores deste atributo, é chamada, no contexto deste trabalho, de valoração de um atributo ou atribuição de valor a uma propriedade. Os domínios são conjuntos predeterminados e constantes de valores primitivos.

Quando um atributo de uma entidade é especificado como sendo temporal, está se referindo apenas à valoração deste atributo, ou seja ao seu conteúdo. A temporalização da propriedade em si, isto é, a especificação de quando esta propriedade passa a fazer parte ou deixa de fazer parte da estrutura do objeto, foge do escopo do presente trabalho. É um assunto a ser tratado no âmbito da evolução de esquemas [EDE 95].

Aos objetos de uma aplicação que forem especificados como temporalizados, sejam eles entidades, relacionamentos ou valoração de atributos, são implicitamente anexados rótulos temporais (timestamps), que conterão o conjunto de pontos do tempo nos quais estes objetos são considerados como existentes no contexto da realidade modelada. O rótulo temporal utilizado no modelo TempER tem o formato do elemento temporal explicado anteriormente.

Para ilustrar os conceitos acima descritos, tome-se como exemplo um modelo de dados contendo dois conjuntos-entidade, Empregado e Depto, e mais um conjunto-relacionamento, denominado Lotação, associando estes dois conjuntos-entidade. Suponha-se que esta associação deva obedecer à seguinte restrição: um empregado obrigatoriamente deve estar lotado a um departamento em cada momento da sua existência como empregado, não podendo estar lotado em mais de um departamento ao mesmo tempo. Um outro requisito seria a necessidade de representar as possíveis lotações que um empregado pode apresentar ao longo do tempo, em função das suas transferências de um departamento para outro.

A figura 2 apresenta o caso acima descrito, modelado em ER convencional e em TempER. No ER convencional não é possível especificar a restrição que determina que um empregado não pode estar lotado em mais de um departamento em cada momento do tempo. A cardinalidade "(1, N)", que aparece na ligação entre Empregado e Lotação, especifica que um empregado deve estar associado a no mínimo um departamento, podendo estar associado a mais de um (adota-se a forma de indicar a cardinalidade encontrada em [BAT 92] que determina o grau de participação mínima e máxima de uma entidade em um conjunto de relacionamentos).

FIGURA 2 - Comparação entre ER convencional e TempER

 

Em virtude de o modelo ER convencional não dispor de primitivas de modelagem para representar a associação dos objetos com a datAdmissão, datDemissão, datinicLot, datfimLot, datCriação, datFecham encontrados na figura 2. Isto implica em transferir para a modelagem dinâmica a responsabilidade de tratar as restrições temporais, ou seja, no caso do exemplo em questão, são as transações do sistema que devem se preocupar em impedir que um empregado possa estar lotado em dois ou mais departamentos ao mesmo tempo.

FIGURA 3 - Exemplo de povoamento de entidades e relacionamentos em TempER

Este problema deixa de existir quando se utiliza o modelo TempER. Como pode ser visto no diagrama situado na parte inferior da figura 2, a cardinalidade que aparece na ligação entre Empregado e Lotação agora é "(1, 1)", a qual tem o seguinte significado: um empregado participa do conjunto-relacionamento Lotação no mínimo uma vez e no máximo uma vez a cada momento do tempo. Além disto, os atributos referindo-se a pontos do tempo que estavam no diagrama ER convencional deixam de ser necessários, pois são substituídos por rótulos temporais implícitos.

Uma outra vantagem em relação ao modelo ER convencional diz respeito ao conceito de reencarnação de objetos [CLI 88a]. Um empregado que foi demitido pode ser readmitido, um empregado que tenha sido alocado a um determinado departamento pode vir a ser realocado a este mesmo departamento em um outro período de tempo. O modelo TempER representa estas situações de forma natural, pois admite que a existência de um objeto possa ser segmentada em intervalos de tempo, como é o caso do empregado 1001 e do relacionamento < 1003, 9011 > encontrados na figura 3.

O modelo TempER também permite que se mescle objetos de diferentes classificações temporais em um mesmo diagrama, como mostra a figura 4, onde um conjunto-entidade do tipo perene (Função) relaciona-se com um conjunto-entidade do tipo transitório (Empregado) de duas formas: uma temporalmente (Alocação)

 

.

FIGURA 4 - Mesclando objetos de diferentes

classificações temporais em um mesmo diagrama

 

3.1 O identificador interno de entidades - OID

Éassumidoquetodasasinstânciasdosconjuntos-entidade,eapenasdosconjuntos-entidade,possuemumidentificadorinterno,geradopelosistema,queserádenominadodeOID(objectidentifier).CadaOID,porprincípio,éúniconoâmbitodouniversododiscursodaaplicação,éinvisívelaousuárioedefineaidentidadedeumaentidade.Quandoduasentidadesseassociam,estefatopodeserrepresentadopelorelacionamentodosOID’srespectivos.IstofazcomqueumrelacionamentosejaidentificávelpelacomposiçãodosOID’sdasentidadesassociadas.

ApresençadoOIDnãodescartaanecessidadedequehajaumatributo(oucomposiçãodeatributos)quedesempenheopapeldechaveprimáriadeumaentidade,deformaqueumusuáriodosistemapossaidentificareacessarestaentidade,queoOIDéinvisívelexternamente.EmborapossaparecerredundantecoexistiremOID’sechavesprimárias,oquesebuscaéaproximaromodeloTempERdeumdosmaisimportantesprincípiosdaorientaçãoaobjetos,odaidentidadedosobjetos[KHO86].Alémdisso,existeavantagemdeserpossívelalterarachaveprimáriadeuma entidadesemqueistoafeteosrelacionamentosemqueelaparticipe.

Atítulodeexemplopode-seexaminarafigura3,ondetantoatabelaEmpregadocomoatabelaDepto,possuemumacolunareferenteaoOID,eatabelareferenteaoconjunto-relacionamentoLotaçãopossuiduascolunasdeOID’sreferentesaosconjuntos-entidaderelacionados.

3.2 As perspectivas temporal e intemporal das entidades

AsentidadessãooselementosbásicosdeummodelodedadosqueempregaaabordagemEntidade-Relacionamento.NomodeloTempER,emvirtudedadimensãotemporal,asentidadesapresentamsempreduasperspectivas,umaperspectivatemporaleumaperspectivaintemporal,comosefossemasduasfacesdeumamesmamoeda.

FIGURA 5 – As duas perspectivas em relação ao tempo do conjunto-entidade Empregado

3.2.1 Perspectiva intemporalNãolevaemconsideraçãoadimensãotemporal,istoé,oOIDdaentidadenãoévisualizadocomoassociadoaumconjuntodepontosdotempo.Nestaperspectivaasentidadesapresentamapenasduasdimensões:adosatributoseadosvalores.É o que mostraa partesuperiorda figura5.

3.2.2 Perspectiva temporal

Levaemcontaadimensãotemporalaoreferenciarumdado.Nestaperspectiva,oOIDdeumaentidadeévisualizadocomoestandoassociadoaumconjuntodepontosdotempo,conjuntoestequedefineavalidadetemporal(ouexistência)daentidadenocontextodobancodedadosdosistema.Asentidades,vistaspelaperspectivatemporal,apresentamtrêsdimensões:adosatributos,adosvaloreseadotempo,comomostraaparteinferiordafigura5.

Nafigura5,omesmoconjuntodeentidades(Empregado)apresentasimultaneamenteasduasperspectivas.Naperspectivaintemporal,asentidadesdoconjuntoapresentamosatributoscodenomeque,porconseqüência,sãodotipointemporal.Poroutrolado,naperspectivatemporal,asentidadesapresentamoatributoat-sal(salário),queéumatributodotipotemporal.

3.3ComponentesdomodelodedadosTempER

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIGURA 6- Notação dos componentes básicos do modelo tempER

NapropostadenotaçãodoselementosgráficosdomodeloTempERbuscou-semanterossímbolosoriginaispropostosem[CHE76],adicionando-lhesapenasossinaisnecessáriosparadeterminarqualéotipoderelaçãodesteselementoscomadimensãotemporal.Portanto,arepresentaçãodeumconjunto-entidadecontinuasendoumretânguloearepresentaçãodeumconjunto-relacionamentocontinuasendoumlosango.Afigura6mostraasimbologiagráficabásicautilizadanomodeloTempER.

OmodeloERtemporaldeumaaplicaçãoparaestarcompletoprecisaapresentar,alémdodiagramaentidade-relacionamento,adescriçãodosatributosdosobjetosmodelados.Istoéfeitoatravésdodicionáriodedados,comoémostradonodiagramaqueestánaparteinferiordafigura2.

3.3.1 Entidades

AsentidadesnomodeloTempERsãoclassificadasemtransitóriaseperenes,conformeasuarelaçãocomadimensãotemporal.

3.3.1.1EntidadesTransitórias

Entidadestransitóriassãoaquelascujavalidadetemporaléumsubconjuntodepontosdotempodoeixotemporal.Normalmentelança-semãodestetipodeentidadequandosequermodelarentidadesquevalemporumcertoperíododetempo.Porexemplo:osempregadosdeumacompanhiaqueexistemcomotaldesdeasuaadmissãoatéasuademissão.Comoépossívelhaverreadmissãodeempregados,aexistênciadeumadestasentidadespodesercompostapormaisdeumintervalodetempo,portanto,osubconjuntodepontosdotempoquedefineavalidadetemporaldeumaentidadenãonecessariamenteéformadopormomentosconsecutivos.Istoéilustradopelafigura7,ondeumcertoempregadoemp1apresentatrêsvínculoscomaempresaaolongodotempo.

UmaoutraformadevisualizaroquesejaumaentidadetransitóriaéatravésdoseumapeamentoparaumdiagramaERconvencional,conformemostraafigura8.

OdiagramaERconvencionaldafigura8,cujafinalidadeémostrardequeformaumaentidadetransitóriarelaciona-secomadimensãotemporal,apresentaumconjunto-entidadeespecialquecontémtodosospontosdoeixotemporal:oconjuntoT.Cadaempregadoestáassociadoa,nomínimo,umdestespontosdotempo,podendoestarassociadoamaisdeum.O conjunto-relacionamento Empregado-Tcontémumainstânciaparacadapontodotempodavalidadetemporaldecadaempregadoqueestejapresentenoconjunto-entidadeEmpregado.

Comoédemonstradoem[ANT97],épossívelatravésdastransaçõesdosistemaampliaroureduziravalidadetemporaldasentidadestransitórias.Emoutraspalavras,comoresultadodofuncionamentodosistema,subconjuntosdepontosdotempopodemseradicionadosouretiradosdaexistênciadestetipodeentidade.Édessapossibilidadedemodificaravalidadetemporalqueadvémoqualificativo"transitórias" aplicadoaestasentidades.

Osímboloparadenotarentidadestransitóriaséumretângulocontendoapartícula"Tr"nocantosuperiordireito.

FIGURA 7 - Visualização da existência de uma entidade transitória

 

 

FIGURA 8 - Mapeamento de entidade transitória para ER convencional

3.3.1.2 Entidades Perenes

São aquelas cuja validade temporal é exatamente igual a todo o eixo temporal. Toda a vez que uma entidade perene é incluída no banco de dados do sistema, assume-se que seu rótulo temporal é igual a "[« , »]", isto é, a sua validade temporal inicia no primeiro ponto do eixo temporal e se estende até o último, conforme ilustra a figura 9. Normalmente as entidades que o modelador não necessita ou não deseja associar ao tempo são consideradas como perenes.

O fato de ser perene não significa que uma entidade não possa ser eliminada do banco de dados. Entretanto, enquanto uma entidade perene estiver presente no banco de dados, a sua validade temporal será constante, igual ao conjunto de todos os pontos do eixo temporal. Portanto, diferentemente das entidades transitórias, a validade temporal das perenes de forma alguma pode sofrer acréscimo ou redução.

Por ser constante, a validade temporal das entidades perenes não precisa ser registrada no banco de dados. O modelador deve visualizar o conjunto de pontos de tempo que define a existência das entidades perenes como sendo implicitamente especificado, ou seja sempre igual ao conjunto total de pontos do eixo temporal.

Também é possível representar uma entidade perene por intermédio de um mapeamento para diagrama ER convencional. É o que mostra a figura 10, onde para cada instância do conjunto entidade Função, o conjunto-relacionamento Função-T apresenta tantas tuplas < OID, t > quantos forem os pontos do tempo do eixo temporal.

O símbolo para denotar entidades perenes é um retângulo contendo a partícula " Pe " no canto superior direito.

Figura 9 - Visualização da existência de uma entidade perene

 

 

FIGURA 10 - Mapeamento de entidade perene para ER convencional

3.3.2 Relacionamentos

Relacionamentos são objetos resultantes da associação de duas ou mais entidades. No modelo TempER as entidades podem estar associadas entre si, ou na perspectiva temporal, ou na perspectiva intemporal. Quando estão relacionadas na perspectiva temporal, este fato é simbolizado por um losango contendo no seu canto superior um pequeno losango com a letra "T". Quando estão relacionadas na perspectiva intemporal, a simbolização se dá através de um losango contendo um pequeno risco horizontal no canto superior. Estas duas notações são mostradas na figura 6.

3.3.2.1 Relacionamentos Temporais

São os relacionamentos que associam duas entidades no âmbito da dimensão temporal, isto é, além dos OID´s das entidades, estes relacionamentos também se associam a pontos do tempo do eixo temporal. Este tipo de relacionamento serve para modelar as associações das quais se necessita conhecer a validade temporal. É o caso de Alocação que está no diagrama da parte superior da figura 11, de cujas instâncias se quer saber quando iniciaram e quando encerraram.

Uma forma de visualizar os relacionamentos temporais é através do seu mapeamento para ER convencional, como mostra o diagrama da parte inferior da figura 11. O conjunto-relacionamento Alocação, que é do tipo temporal, é representado no diagrama ER convencional pelo conjunto-relacionamento que associa Empregado-T e Função-T, que são dois conjuntos-entidade derivados a partir de relacionamentos de empregados e funções com pontos do eixo temporal.

Uma instância de Empregado-T se associa apenas com instâncias de Função-T de mesmo ponto do tempo, e vice-versa, isto é, sendo < OIDE, OIDF, t > uma tupla do conjunto Alocação, esta é resultante da associação de uma instância < OIDE, tE > de Empregado-T com uma instância < OIDF, tF > de Função-T, onde tE = tF = t.

Os relacionamentos temporais só são válidos nos momentos especificados pelos seus rótulos temporais. Por exemplo, a lotação do empregado de OID 1003 no departamento de OID 9012 (ver tabela referente ao conjunto-relacionamento Lotação da figura 3) só é válido nos momentos 11, 12, 13, 14, 19 e 20 do eixo temporal.

A validade no tempo de um relacionamento temporal sempre está contida dentro da interseção das existências das entidades associadas. Ou seja, o conjunto de pontos do tempo que define a validade de um relacionamento do tipo temporal é um subconjunto da interseção dos conjuntos de pontos que definem as existências das entidades associadas.

3.3.2.2 Relacionamentos Intemporais

São relacionamentos que não levam em consideração a dimensão temporal, ou seja, neste tipo de relacionamento apenas participam os OID´s das entidades, sem qualquer menção a pontos do tempo. Os relacionamentos intemporais se materializam ao nível das perspectivas intemporais das entidades. É o que mostra o mapeamento para ER convencional do conjunto-relacionamento Preferência, presente na figura 11. No exemplo, a intenção do modelador é especificar que um empregado, ao estar presente no banco de dados, deve ter registrada a sua preferência por, pelo menos, uma função, e esta preferência não tem momento inicial ou final de validade, é intemporal.

3.3.2.3 Restrições de cardinalidade dos relacionamentos

A restrição de cardinalidade anotada junto às linhas que conectam conjuntos-entidade (retângulos) a conjuntos-relacionamento (losangos) refere-se à participação das entidades nos conjuntos-relacionamento. Esta forma de anotar as cardinalidades é a mesma adotada na metodologia Merise, segundo [FER 91], e em outros trabalhos publicados, tais como [BAT 92]. Segundo este princípio de notação da cardinalidade, uma entidade "participa" de relacionamentos. Por exemplo, no diagrama TempER da figura 2, a notação "(1, 1)" que está junto à linha que liga o conjunto-entidade Empregado ao conjunto-relacionamento Lotação, significa que uma instância do conjunto-entidade Empregado, ou seja, um empregado qualquer, participa de no mínimo um e no máximo um relacionamento do conjunto Lotação, em cada momento do tempo da sua existência como empregado. Por sua vez, a notação "(0,N)" junto à linha que conecta o conjunto-entidade Departamento ao conjunto-relacionamento Lotação especifica que um departamento pode não participar de qualquer relacionamento do conjunto Lotação, ou seja, é um departamento sem empregados, ou pode participar do conjunto-relacionamento um número indeterminado de vezes, a cada momento do tempo. Em outros termos, em cada momento do tempo da sua validade temporal, um empregado está alocado, obrigatoriamente, a um e a somente um departamento, e um departamento pode ter nenhum, ou ter qualquer número de empregados lotados a cada momento do tempo.

O significado das restrições de cardinalidade depende da classificação temporal do conjunto-relacionamento. Caso o conjunto-relacionamento seja temporal, como é o caso do exemplo acima descrito, a leitura da cardinalidade, necessariamente, dá-se em relação a cada ponto do tempo. Por outro lado, caso o conjunto-relacionamento seja intemporal, deixa de existir esta referência a pontos do tempo e a leitura das restrições de cardinalidade fica semelhante à do modelo ER convencional.

A figura 6 apresenta as formas de registrar as restrições de cardinalidade referentes à participação de uma entidade em um conjunto-relacionamento (temporal e intemporal).

FIGURA 11 - Mapeamento de relacionamentos temporais e intemporais para ER convencioal

3.3.3 Atributos

Tanto as entidades como os relacionamentos apresentam propriedades que os caracterizam, as quais são denominadas de atributos.

Os atributos dos conjuntos-entidade e conjuntos-relacionamento são especificados através do dicionário de dados, que complementa um diagrama TempER. 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 (indicando se o atributo é temporal ou intemporal). Um pequeno exemplo de como é formado um dicionário de dados encontra-se no diagrama inferior da figura 2.

Com o objetivo de simplificar os estudos, o modelo TempER por definição não apresenta atributos opcionais e tampouco atributos multivalorados.

Um conjunto-entidade normalmente possui um identificador de uso externo, uma chave primária. Em geral trata-se de um único atributo, no entanto pode resultar da composição de dois ou mais atributos. O valor de um identificador é único dentro do contexto de um conjunto-entidade, isto é, não existem duas instâncias com o mesmo valor para o identificador. O identificador deve sempre ser formado por atributo (s) intemporal (is).

Exemplos de definição de identificadores são: cod do conjunto-entidade Empregado e sigdep do conjunto-entidade Depto, mostrados na figura 2.

As entidades, sejam elas transitórias ou perenes, por apresentarem duas perspectivas em relação ao tempo (ver figura 5), podem combinar atributos temporais com atributos intemporais. Os relacionamentos não. Se forem temporais podem possuir apenas atributos temporais, se forem intemporais podem apresentar apenas atributos intemporais.

3.3.3.1 Atributos temporais

Os atributos temporais são aqueles cuja valoração (conteúdo) deve ser referenciada a pontos do tempo. O atributo at-sal das entidades do conjunto Empregado é um exemplo de atributo temporal. Como pode ser visto na parte inferior da figura 5, este atributo apresenta um valor a cada momento do tempo. É importante salientar que, primeiramente não há nada impedindo que um mesmo valor apareça em pontos diferentes do tempo, e, em segundo lugar que, a série de valores que um atributo temporal apresenta ao longo do tempo não deve ser confundida com multivaloração de atributo, pois a cada momento do tempo apenas um e somente um valor é permitido.

O objetivo dos atributos temporais é permitir que se registre a evolução dos valores de uma propriedade ao longo do tempo.

Em virtude de no modelo TempER não existir atributo opcional, um atributo temporal deve, obrigatoriamente, apresentar um valor para cada momento da existência das entidades ou relacionamentos temporais a que pertença. Quando se tratar de entidade perene, isto implica em que o atributo temporal apresenta valor em todos os pontos do eixo temporal.

Na figura 12, a associação de um atributo temporal a uma entidade transitória é ilustrada através do mapeamento do modelo TempER para diagrama ER convencional. Trata-se do atributo at-sal, que para cada empregado contém toda a sua história salarial. No diagrama ER convencional este atributo aparece conectado ao conjunto-entidade especial que modela a perspectiva temporal dos empregados (Empregado-T), ou seja, para cada par < OID do empregado, ponto do tempo > existe um e apenas um valor de salário.

Na figura 13, a associação de um atributo temporal a uma entidade do tipo perene é ilustrada também via o mapeamento para um diagrama ER convencional. Trata-se do atributo at-salref que, para cada função, contém todos os valores de referência que houve ao longo do tempo. Por pertencer a uma entidade perene, este atributo deve apresentar valor em todos os momentos do eixo temporal. O exemplo de valoração referente à função de OID 70101, que aparece na figura, mostra como é possível cobrir todo o eixo temporal. Basta que o rótulo temporal do primeiro valor da série apresente como ponto inicial o símbolo "«", e o rótulo temporal do último valor da série apresente como ponto final o símbolo "»".

A valoração dos atributos temporais é representada através de um assinalamento temporal (ver descrição que se encontra na subseção 2.4).

3.3.3.2 Atributos intemporais

Os atributos intemporais são aqueles cujos valores não apresentam qualquer associação com a dimensão temporal. Através dos atributos intemporais é possível representar os atributos convencionais do modelo Entidade-Relacionamento. Exemplos deste tipo de atributo são: cod e nome do conjunto-entidade Empregado, da figura 12, e também, codfun e descrfun do conjunto-entidade Função, da figura 13.

Os atributos intemporais existem apenas na perspectiva intemporal das entidades ou associados a relacionamentos intemporais. As figuras 12 e 13 ilustram, através do mapeamento para ER convencional, de que forma os atributos intemporais são abordados pelo modelo TempER.

 

FIGURA 12 - Mapeamento de atributos de entidades transitória para ER convencional

 

 

FIGURA 13 - Mapeamento de atributos de entidade perene para ER convencional

4. Conclusão

A concepção do modelo de dados temporal TempER, utilizado na proposta TempER-Tr, inspirou-se principalmente no modelo ERT [LOU 91] e em uma proposta da área de banco de dados temporais [GAD 88, 93]. A vantagem de se utilizar um modelo de dados temporal, no lugar de um convencional, está na sua capacidade de expressar a associação dos elementos com o tempo e de especificar as restrições decorrentes disto. Nos modelos de dados convencionais o tempo é representado por atributos comuns (datas, horas, etc.) e não estão disponíveis mecanismos para representar restrições temporais, exigindo, por conseqüência, que o modelador as especifique ao nível do modelo dinâmico.

Para dar consistência formal à semântica do modelo TempER, os seus vários aspectos encontram-se precisamente especificados em [ANT 97] através de mapeamento para rede de Petri de alto nível [HEU 93].

 

Referências bibliográficas

[ALE 85] ALENCAR FILHO, Edgard de. Teoria elementar dos conjuntos. 20.ed. São Paulo: Nobel, 1985.

[ANT 97] ANTUNES, Dante C. Modelagem temporal de sistemas: uma abordagem fundamentada em redes de Petri. Porto Alegre: CPGCC da UFRGS, 1997. Dissertação de Mestrado.

[BAT 92] BATINI, Carlo; CERI, Stefano; NAVATHE, Shamkant B. Conceptual database design - an entity-relationship approach. Redwood City: The Benjamin/Cummings Publishing Company, 1992.

[CHE 76] CHEN, Peter S. The entity-relationship model - toward a unified view of data. ACM Transactions on Dabatase Systems, New York, v.1, n.1, p.9-28, Mar.1976.

[CLI 88] CLIFFORD, J.; RAO, A. A simple, general structure for temporal domains. In: ROLLAND, C.; BODART, F.; LEONARD, M. Temporal aspects in information systems. Amsterdam: North-Holland, 1988. p.17-28.

[CLI 88a] CLIFFORD, J.; CROKER, A. Objects in time. Data Engineering, Washington, v.11, n.4, p.11-18, Dec.1988.

[CLI 95] CLIFFORD, J.; TUZHILIN,  A. Recent advances in temporal databases. Berlin: Springer-Verlag, 1995.

[EDE 94] EDELWEISS, Nina; OLIVEIRA, José Palazzo M. Modelagem de aspectos temporais de sistemas de informação. Recife: Universidade Federal de Pernambuco, 1994. Livro texto da Escola de Computação, 9., 1994.

[EDE 95] EDELWEISS, Nina; OLIVEIRA, José PalazzoM.; CASTILHO, José Mauro V. Evolução de esquemas em banco de dados temporais. In: CONFERÊNCIA LATINO-AMERICANA DE INFORMÁTICA, 21., 1995, Canela, RS. Anais... Porto Alegre: Instituto de Informática da UFRGS, 1995.

[ELM 92]ELMASRI, Ramez; KOURAMA-JIAN, Vram. A temporal query language based on conceptual entities and roles. In:  INTERNACIONAL CONFERENCE ON THE ENTITY RELATIONSHIP APPROACH, 11., 1992, Karlsruhe, Germany. Proceedings... Berlin: Springer Verlag, 1992. p.375-388. (Lecture Notes in Computer Science, v.645).

[ELM 93] ELMASRI, Ramez; WUU, Gene T. J.; KOURAMAJIAN, Vram. A temporal model and query language for EER Databases. In: TANSEL, A. et al. Temporal databases: theory, design and implementation. Redwood City: The Benjamin/Cummings Publishing, 1993. p. 212-229.

[FER 91] FERG, Stephen. Cardinality concepts in entity-relationship modeling. In: INTERNACIONAL CONFERENCE ON THE ENTITY RELATIONSHIP APPROACH, 10., 1991, San Mateo, California. Proceedings... [S.l.: s.n.], 1991.

[GAD 88] GADIA, Shashi. A homogeneous relational model and query language for temporal databases. ACM Transactions on Database Systems, New York, v.13, n.4, p.418-448, Dec.1988.

[GAD 93] GADIA, Shashi; NAIR, Sunil. Temporal databases: a prelude to parametric data. In: TANSEL, A. et al. (Eds.). Temporal databases: theory, design and implementation. Redwood City: The Benjamin/Cummings Publishing, 1993. p. 28-66.

[HEU 93] HEUSER, Carlos A.; PERES, Eduardo M.; RICHTER, Gernot. Towards a complete conceptual model: Petri nets and entity-relationship diagrams. Information Systems, Oxford, v.18, n.5, p. 275-298, 1993.

[JCS 94] JENSEN, Christian S. A consensus glossary of temporal database concepts. ACM SIGMOD Record, New York, v.23, n.1, p. 52-64, Mar. 94.

[KHO 86] KHOSHAFIAN, Setrag N.; COPELAND, George P. Object Identity. ACM SIGPLAN Notices, New York, v. 21, n. 11, p. 214-223, Sep.1986. Trabalho apresentado na Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA, 1986, Portland.

[LOU 91] LOUCOPOULOS, P.; THEODOULIDIS, C.; WANGLER, B. The entity relationship time model and conceptual rule language. In: INTERNATIONAL CONFERENCE ON THE ENTITY RELATIONSHIP APPROACH, 10., 1991, San Mateo, California. Proceedings... [S.l.: s.n.], 1991.

[OZS 95] ÖZSOYOGLU, G.; SNODGRASS, R. T. Temporal and real-time databases:  a survey. IEEE Transactions on Knowledge and Data Engineering, New York, v.7, n.4, p.513-532, Aug.1995.

[SNO 94] SNODGRASS, Richard T. et al. TSQL2 language specification. ACM SIGMOD Record, New York, v.23, n.1, p.65-86, Mar.1994.

[TAN 93] TANSEL, A. et al. Temporal databases: theory, design and implementation. Redwood City: The Benjamin/Cummings Publishing, 1993.

[TAU 91] TAUZOVICH, Branka. Towards temporal extensions to the entity-relationship model. In: INTERNATIONAL CONFERENCE ON THE ENTITY RELATIONSHIP APPROACH, 10., 1991, San Mateo, California. Proceedings... [S.l.: s.n.], 1991.