Bancos de Dados Temporais: Teoria e Prática

Tamanho: px
Começar a partir da página:

Download "Bancos de Dados Temporais: Teoria e Prática"

Transcrição

1 Bancos de Dados Temporais: Teoria e Prática Nina Edelweiss Instituto de Informática Universidade Federal do Rio Grande do Sul nina@inf.ufrgs.br Resumo Bancos de Dados Temporais permitem armazenar todos os estados de uma aplicação (presentes, passados e futuros), registrando sua evolução com o passar do tempo. Informações temporais são associadas aos dados armazenados (tempo de transação e/ou tempo de validade) para identificálos ao longo do tempo. Modelos de dados temporais são também utilizados nos processos de modelagem de aplicações, devido ao seu poder de representar não somente os aspectos estáticos da aplicação, mas também seus aspectos dinâmicos e sua evolução temporal. Neste curso serão apresentados conceitos básicos de modelagem temporal e de bancos de dados temporais, aspectos relativos a consultas sobre bancos de dados temporais, análise da evolução de esquemas conceituais quando forem utilizados bancos de dados temporais, diferentes formas de implementação e algumas aplicações onde dados temporais são fundamentais. Abstract The whole temporal evolution of an application, including all the assumed states (past, present and future), can be available when Temporal Databases are used. The identification of data along time is made associating temporal information to stored data (transaction and/or valid time). Temporal data models are also used in application modeling processes, due to their ability of representing not only the static aspects, but also the dynamic ones and the evolution of the application with time. The issues presented in this course include basic concepts of temporal modeling and temporal databases, temporal queries, and considerations about schema evolution in temporal databases, different implementation forms, and some applications that require temporal data. 1 Introdução A maior parte das aplicações atuais têm necessidade de manipular, de alguma maneira, informações históricas dados relativos a estados passados da aplicação. Os SGBD convencionais, no entanto, não proporcionam suporte a estas informações. A necessidade de suprir esta lacuna fez com que nos últimos 20 anos muitas pesquisas tenham sido realizadas na área de Bancos de Dados Temporais, com o objetivo de definir conceitos e estratégias para tratar de informações históricas. As

2 publicações destas pesquisas foram reunidas em diversas coletâneas de bibliografias [Bolour 82, McKenzie 86, Stam 88, Soo 91, Kline 93, Tsotras 96, Wu 97]. Bancos de Dados Temporais permitem armazenar todos os estados de uma aplicação (presentes, passados e futuros), registrando sua evolução com o passar do tempo [Clifford 95, Edelweiss 94, Jensen 97, Özsoyoglu 95, Tansel 93, Zaniolo 97]. Para que isto seja possível, informações temporais são associadas aos dados armazenados, identificando quando a informação foi definida ou o tempo de sua validade. A noção de tempo, como datas, períodos, duração de validade de informações, intervalos temporais, surge em diferentes níveis: (i) na modelagem de dados, (ii) na linguagem de recuperação e manipulação de dados, e (iii) no nível de implementação do SGBD. No presente curso serão abordados diversos aspectos relativos a Bancos de Dados Temporais. No capítulo 2 será feita uma breve apresentação de conceitos relativos a representação de informações temporais, sendo os diferentes tipos de Bancos de Dados Temporais apresentados no capítulo 3. O capítulo 4 apresenta algumas considerações a respeito de consultas realizadas sobre Bancos de Dados Temporais. Diferentes enfoques para modelos de dados temporais, base ados em modelos relacionais, E-R e orientados a objetos serão vistos no capítulo 5. A evolução do esquema conceitual com o passar do tempo é outro aspecto importante, necessário para a representação da evolução da aplicação que está sendo modelada. As implicações desta evolução quando se trabalha com Bancos de Dados Temporais são abordadas no capítulo 6. Alguns aspectos de implementação de BD Temporais são analisados no capítulo 7 e, para concluir, no capítulo 8 são analisadas algumas áreas de aplicação nas quais a utilização deste tipo de bancos de dados é importante. 2 Conceitos de Representação Temporal Este capítulo tem por finalidade introduzir o leitor nos principais conceitos relativos à representação de aspectos temporais em bancos de dados. A forma de representação escolhida se reflete em interpretações diferentes dos conceitos temporais. As definições completas dos conceitos aqui apresentados podem ser encontradas em [Jensen 94], num glossário consensual de termos relativos a Bancos de Dados Temporais elaborado pela comunidade desta área através de uma discussão realizada através de correio eletrônico. 2.1 Dimensão Temporal Os modelos de dados tradicionais apresentam duas dimensões, representando (1) as instâncias dos dados (linhas de uma tabela), e (2) os

3 atributos de cada instância (colunas desta tabela). Cada atributo de uma instância apresenta um só valor. Se for feita uma alteração deste valor, o anterior é perdido. Por exemplo, se o atributo representa o salário de um funcionário, o banco de dados somente armazena o último valor. Os modelos temporais acrescentam mais uma dimensão aos modelos tradicionais a dimensão temporal. Esta dimensão associa alguma informação temporal a cada valor. Caso o valor de um atributo seja alterado, o valor anterior não é removido do banco de dados o novo valor é acrescentado, associado a alguma informação que define, por exemplo, seu tempo inicial de validade. Todos os valores definidos ficam armazenados no banco de dados. No exemplo anterior, todos os valores do salário do funcionário ficam armazenados, cada um associado ao seu tempo de validade. Deste modo é possível acessar toda a história dos atributos, sendo possível analisar sua evolução temporal. 2.2 Ordem no Tempo A dimensão temporal é composta por uma seqüência de pontos consecutivos no tempo, que recebe o nome de eixo temporal. A definição de uma ordem a ser seguida no tempo é fundamental quando utilizada alguma representação temporal. O mais comum é que se assuma que o tempo flui linearmente; isto implica em uma total ordenação entre quaisquer dois pontos no tempo. Em alguns casos pode ser considerado tempo ramificado ("branching time"). Para estes a restrição linear é abandonada permitindo a possibilidade de dois pontos diferentes serem sucessores (ramificação no futuro) ou antecessores (ramificação no passado) imediatos de um mesmo ponto. Uma ramificação no futuro implica que podem ser considerados múltiplos possíveis desenvolvimentos futuros do domínio (por ex., diferentes hipóteses da história futura), enquanto que uma ramificação no passado admite múltiplas histórias passadas do domínio em questão. A combinação "passado linear, futuro ramificado" trabalha com uma só história passada e admite múltiplas histórias futuras, representando desta maneira a realidade atual de uma forma bastante fiel. Uma última opção de ordenação temporal é considerar o tempo circular. Esta forma pode ser utilizada para modelar eventos e processos recorrentes Tempo Totalmente Ordenado A maior parte dos modelos temporais se baseia no tempo linearmente ordenado. A ordenação total do tempo pode ser definida com mais precisão através da teoria dos conjuntos, conforme mostrado a seguir [Antunes 97]. Seja T o conjunto não vazio de todos os pontos do tempo. Por definição, T é um conjunto totalmente ordenado pela relação BEFORE (ANTES), a qual satisfaz à seguinte condição:

4 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 Assimetrias: 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, sendo este operador muitas vezes utilizado para representar a ordem temporal. 2.3 Tempo Absoluto e Tempo Relativo Outro conceito importante é o que diferencia tempo absoluto de relativo. Tempo absoluto consiste de uma informação temporal que define um tempo específico, definido com uma granularidade determinada, associado a um fato. Exemplo: Flávio nasceu no dia 30/08/73. Um tempo é relativo quando sua validade é relacionada à validade de outro fato, ou ao momento atual. Exemplo: o salário aumentou ontem; a loja abriu dois meses depois da abertura do Shopping. 2.4 Variação Temporal Duas formas basicamente diferentes de variação temporal podem ser consideradas: tempo contínuo e tempo discreto. Supõe -se que o tempo é contínuo por natureza. Entretanto, sem grande perda de generalidade, o tempo pode ser considerado como discreto. Esta segunda forma de representação simplifica consideravelmente a implementação de modelos de dados. Modelos de dados que suportam uma noção discreta de variação temporal são baseados em uma linha de tempo composta de uma seqüência de intervalos temporais consecutivos, que não podem ser decompostos, de idêntica duração. Estes intervalos são denominados chronons. A duração particular de um chronon não é necessariamente fixada no modelo de dados, podendo ser definida em implementações particulares do modelo de dados. Considerando variação temporal discreta, a definição de informações ao longo do tempo, sob ponto de vista de sua validade, pode ser feita das seguintes formas (Figura 2.1):

5 variação ponto a ponto o valor definido vale somente no ponto temporal onde foi definido. Não existe valor válido nos pontos para os quais não foram definidos valores; variação por escada o valor fica constante desde o ponto em que foi definido até o instante em que outro valor seja definido. Corresponde, geralmente, à definição de valores em conseqüência da ocorrência de eventos (variação por eventos); variação temporal definida por uma função existe uma função que define os valores e que permite a interpolação para obter os valores nos pontos não definidos. Esta função de interpolação pode ser definida pelo usuário ou incluída na modelagem conceitual. v v t PONTO A PONTO v EM ESCADA t chronon t DEFINIDA POR UMA FUNÇÃO Figura 2.1: Formas de variação temporal discreta 2.5 Granularidade Temporal A granularidade temporal de um sistema consiste na duração de um chronon. Entretanto, dependendo da aplicação considerada, às vezes é necessário considerar simultaneamente diferentes granularidades (minutos, dias, anos) para permitir uma melhor representação da realidade. Por exemplo, em um determinado segmento modelado, a granularidade pode ser diária (o chronon equivale a um dia), enquanto que em outro segmento a granularidade pode ser mensal. Embora o chronon do sistema seja único, é possível manipular estas diferentes granularidades através de funções e operações disponíveis nos sistemas gerenciadores do banco de dados que implementam o mode lo. 2.6 Elementos Primitivos de Representação Temporal Instante no Tempo O conceito de instante, representando um particular ponto no tempo, depende da forma de variação temporal considerada. Quando é considerado tempo contínuo, um instante é um ponto no tempo de

6 duração infinitesimal. Neste caso os instantes são isomórficos com os números reais, o que significa que entre dois pontos do tempo sempre existe um outro ponto no tempo. Quando, no entanto, é considerada a variação temporal discreta, um instante é representado por um dos chronons da linha de tempo suportada pelo modelo. Na variação discreta, os instantes são isomórficos aos números inteiros ou a um subconjunto destes. Assim, entre dois pontos do tempo consecutivos não existe outro ponto do tempo. Diz-se que um evento ocorre no tempo t se ocorre em qualquer tempo durante o chronon representado por t. Um chronon, que é a menor duração de tempo suportada por um SGBD temporal, pertence à representação discreta de tempo. Considerando a ordem de variação temporal linear, temos a existência de um instante especial, correspondente ao instante atual (now), o qual se move constantemente ao longo do eixo do tempo. Este ponto define o que é considerado como passado (qualquer ponto anterior a este) e como futuro (qualquer ponto posterior a ele) Intervalo Temporal Um intervalo temporal é caracterizado pelo tempo decorrido entre dois instantes um subconjunto de pontos do eixo temporal. Depende também da forma de representação temporal definida no modelo. Quando é considerado tempo contínuo, o intervalo consiste de infinitos instantes de tempo. Na variação discreta um intervalo é representado por um conjunto finito de chronons consecutivos. É representado pelos dois instantes que o delimitam. Dependendo da pertinência ou não dos instantes limites ao intervalo este pode ser aberto (os limites não pertencem ao intervalo), semiaberto (um dos limites pertence ao intervalo) ou fechado (ambos os limites pertencem ao intervalo). Quando um dos limites é representado pelo instante atual (now) temos a representação de um intervalo particular cujo tamanho varia com a passagem do tempo. Um intervalo temporal é representado por [t1, t2], onde t1 é o primeiro ponto do intervalo (limite inferior) e t2 é o último (limite inferior). O próprio eixo temporal T pode ser considerado um intervalo de tempo, identificado pela expressão [«,»], onde o símbolo «o instante temporal de início da contagem de tempo e o símbolo» representa o final. Para qualquer intervalo temporal, uma das duas fórmulas a seguir deve ser verdadeira: t1 < t2 ou t1 = t2. A segunda representa um intervalo cuja duração é exatamente um chronon.

7 Um intervalo temporal também é totalmente ordenado pela relação BEFORE, sendo possível, através dos operadores first e last [Clifford 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 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 ) Elemento Temporal Elemento temporal é uma união finita de intervalos de tempo. Estes intervalos podem ser disjuntos, o que realmente o diferencia dos demais e enriquece o seu poder de expressão por exemplo, um possível elemento temporal seria a união dos intervalos [25, 40] e [51, 70]. O elemento temporal é fechado para as operações de união, interseção e complemento 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. Tendo em vista que todos os intervalos temporais são subconjuntos do eixo temporal T, um elemento temporal, sendo composto por diversos intervalos temporais, também o é. Tanto um intervalo temporal como um instante temporal ([t, t]) são elementos temporais. Em termos de modelagem, o elemento temporal se mostra superior ao uso da primitiva intervalo de tempo pois, quando os intervalos são usados como rótulos temporais, os objetos são fragmentados em várias tuplas, uma para cada intervalo. Outro aspecto importante desta primitiva temporal é que possibilita a representação da reencarnação de objetos com facilidade. Um exemplo da necessidade deste aspecto seria uma pessoa ser funcionário de uma empresa durante o intervalo [1992, 1995], tendo saído da empresa em 1995 e sendo readmitida dois anos depois (1997). A validade da existência desta pessoa na empresa seria a união dos intervalos [1992, 1995] U [1997,»].

8 2.6.4 Duração Temporal A representação de um duração temporal pode também ser considerada como primitiva. Durações temporais podem ser basicamente de dois tipos, dependendo do contexto em que são definidas: fixas e variáveis. Uma duração fixa independe do contexto de sua definição. Um exemplo típico de uma duração fixa é uma hora que tem sempre, independentemente do contexto de sua utilização, a duração de 60 minutos. Já a duração variável depende do contexto, sendo um exemplo típico a duração de um mês, que pode ser de 28, 29, 30 ou 31 dias. 2.7 Limites do Tempo O conceito de limites no tempo pode variar dependendo da representação temporal utilizada. Quando considerados somente pontos no tempo, os limites do tempo se referem a considerar ou não o tempo como infinito. O conceito de tempo infinito consiste em considerar que todo ponto no tempo apresente sempre um sucessor e um antecessor. Em modelos orientados a objetos este conceito fica limitado, por exemplo, ao tempo de vida de um objeto. No caso das teorias baseadas em intervalos, os limites do tempo se referem geralmente à pertinência ou não dos pontos limites ao intervalo, definindo se os intervalos são abertos ou fechados em um ou em ambas as extremidades. 2.8 Representação Temporal Expl ícita e Implícita A definição de tempo pode ser feita de forma explícita, através por exemplo da associação de um valor temporal a uma informação na forma de um rótulo temporal (timestamping), ou de forma implícita através da utilização de uma linguagem de lógica temporal. A associação explícita de tempo às informações consiste em associar a cada valor atribuído a um atributo, o valor que corresponde à sua primitiva temporal. A representação temporal implícita é feita através da manipulação de conhecimentos sobre a ocorrência de eventos ou do relacionamento de intervalos de tempo como, por exemplo: a aula de lógica temporal ocorreu ontem. 2.9 Tempo de Transação e Tempo Válido Três diferentes conceitos temporais podem ser identificados em aplicações de bancos de dados [Snodgrass 85]: (i) tempo de transação, tempo no qual o fato é registrado no banco de dados; (ii) tempo de validade, tempo em que o valor é válido na realidade modelada; e (iii) tempo definido pelo usuário, consistindo de propriedades temporais definidas explicitamente pelos usuários em um domínio temporal e manipuladas pelos programas de aplicação. Estes tempos são ortogonais, podendo ser tratados separadamente ou em conjunto. O tempo de transação é suprido

9 automaticamente pelo sistema gerenciador de banco de dados, enquanto que o tempo de validade é fornecido pelo usuário. O tempo de validade pode ser representado de formas distintas, dependendo do elemento temporal básico utilizado no modelo. Quando for utilizado o elemento temporal ponto no tempo, o tempo de validade pode ser representado: (i) através de um ponto no tempo indicando o início da validade, permanecendo o valor válido até que inicie o tempo de validade de outro valor; ou (ii) através de dois pontos no tempo, o primeiro indicando o início da validade e segundo, o final da validade. Nos modelos que utilizam o intervalo temporal como elemento temporal básico, o tempo de validade é definido através do intervalo de validade do valor. 3 Bancos de Dados Temporais Um banco de dados temporal é aquele que apresenta alguma forma implícita de representação de informações temporais. Podem ser utilizados o tempo de transação e/ou o de validade para representar esta informação temporal. Conforme a forma utilizada, os bancos de dados podem ser classificados em quatro tipos diferentes: bancos de dados instantâneos, de tempo de transação, de tempo de validade e bitemporais. 3.1 Bancos de Dados Instantâneos Corresponde aos bancos de dados convencionais, onde são armazenados somente os valores presentes. A cada modificação no valor de uma propriedade, o valor anteriormente armazenado é destruído e somente o último valor está disponível. A figura 3.1 apresenta algumas atualizações feitas em momentos diferentes em um banco de dados instantâneo. Cada estado do banco de dados corresponde a um instantâneo (snapshot). A manutenção de informações temporais neste tipo de banco de dados somente pode ser realizada explicitamente, pela inclusão de atributos definidos sobre o domínio tempo, e pela sua manipulação através dos programas de aplicação. Estados Passados Estado Atual João Silva, 01/jan/92, 800,00 Mara Dias, 01/mar/91, 1.200,00 Figura 3.1: Banco de Dados Instantâneo

10 3.2 Bancos de Dados de Tempo de Transação Uma alternativa para armazenamento de informações temporais é associar a cada valor definido o tempo de transação, sob forma de um rótulo temporal (timestamp). Este tempo é fornecido automaticamente pelo SGBD, sendo esta operação transparente ao usuário. A alteração do valor de uma propriedade não destrói o valor anteriormente definido, ficando todos os valores armazenados no banco de dados. O estado atual do BD é composto pelos últimos valores definidos para cada uma das propriedades. Bancos de dados deste tipo são denominados de bancos de dados de tempo de transação. Na figura 3.2 estão representadas atualizações do salário de um funcionário. t /jan/92 t /jun/92 t 3 t presente /jan/93 Momento Atual História do salário de João Tempo Figura 3.2: Banco de Dados de Tempo de Transação Caso o dia em que é procedida a atualização do salário não coincida com o dia em que começa a sua validade, a data de início de validade pode ser armazenada como um atributo explícito, como mostrado na figura 3.3. t 1 (800, 01/jan/92) 03/jan/92 t 2 (900, 01/jun/92) 25/mai/92 t 3 (1000, 01/jan/93) t presente 10/jan/93 Momento Atual História do salário de João Tempo Figura 3.3: Banco de Dados de Tempo de Transação

11 3.3 Bancos de Dados de Tempo de Validade Um terceiro tipo de banco de dados, denominado banco de dados de tempo de validade, associa a cada informação somente o tempo de sua validade no mundo real. Este pode representar o início de sua validade (ponto no tempo, variação por degraus), a validade somente naquele ponto no tempo (variação discreta), ou seu intervalo de validade. O tempo de validade deve sempre ser fornecido pelo usuário. Em bancos de dados de tempo de validade não se tem acesso ao tempo em que a informação foi definida, sendo armazenado somente o tempo em que a mesma é válida. A figura 3.4 apresenta um exemplo deste tipo de banco de dados, também atualizando o salário de um funcionário. t /jan/92 t /jun/92 t 3 t presente /jan/93 Momento Atual História do salário de João Tempo Figura 3.4: Banco de Dados de Tempo de Validade Este tipo de banco de dados permite se sejam corrigidas informações do passado - se alguma das informações tiver sido registrada incorretamente, é feita uma nova definição com a data de validade correspondente, sendo que somente a versão atual dos dados é a disponível. 3.4 Bancos de Dados Bitemporais A forma mais completa de armazenar informações temporais são os bancos de dados bitemporais, nos quais os tempos de transação e de validade são associados a cada informação. Toda a história do banco de dados fica armazenada. É possível ter acesso a todos os estados passados do banco de dados - tanto a história das transações realizadas, como a história da validade dos dados. O estado atual do banco de dados é constituído pelos valores atualmente válidos. Valores futuros podem ser definidos através do tempo de validade, sendo possível recuperar o momento em que estes valores foram definidos para eventuais alterações.

12 Como exemplo deste tipo de banco de dados apresentamos, na figura 3.5, toda a história da atualização do salário do funcionário João. Pode -se saber não somente o valor atual do salário, como o valor que era válido em qualquer data passada e ainda aqueles valores que se acreditava como válidos mas que em datas posteriores foram modificados. 01/jan/92 Tempo de Transação /jan/92 25/mai/92 01/jun/ /jan/ /jan/93 Momento Atual História das transações do salário de João Tempo de Validade História da validade do salário de João Figura 3.5: Banco de Dados Bitemporal 4 Consultas a Bancos de Dados Temporais Quando é utilizado um banco de dados temporal, é importante que também esteja disponível uma linguagem de consulta temporal. Esta linguagem deve possibilitar a recuperação de todas as informações armazenadas no banco de dados (temporais ou não), de modo a que seja tirado real proveito do acréscimo da dimensão temporal. Consulta temporais permitem: fornecer valores de propriedade s cujo domínio é temporal. Exemplo: fornecer o valor da propriedade que armazena a data de nascimento de uma pessoa; se referir a um determinado instante ou intervalo temporal. Exemplo: qual o valor do salário no dia 01/01/94; recuperar valores com base em restrições temporais. Exemplo: recuperar todos os valores do salário antes do dia 01/01/94; fornecer informações temporais (datas, intervalos). Exemplo: qual a data em que foi alterado o salário de um funcionário.

13 Para que isto seja possível, as linguage ns de consultas temporais devem ser enriquecidas para manipular a dimensão temporal, e ter capacidade de dedução sobre tempo com base nas informações temporais armazenadas. Isto é possibilitado através da utilização de lógica temporal, a qual permite inferências de valores não explicitamente armazenados. 4.1 Problemas no Processamento de Consultas Temporais O processamento de consultas temporais apresenta diversos problemas além daqueles usualmente enfrentados. Entre eles podemos citar: o grande volume de dados armazenado em um banco de dados temporal implica na necessidade de novos métodos de indexação (estruturas e algoritmos de busca); métodos tradicionais de indexação só podem ser utilizados para valores com algum tipo de ordenação completa, com estruturas de acesso para intervalos; manipulação de informações incompletas, devido a valores incompletos ou inexistentes, a partir dos quais devem ser inferidas informações. Podem ser devido (i) à incerteza quanto à existência do objeto em certos pontos no tempo, ou (ii) à indeterminação temporal, causada por eventos cujo tempo de ocorrência não é conhecido 4.2 Tipos de Bancos de Dados e Diferentes Histórias As consultas temporais que podem ser formuladas a um banco de dados temporal dependem do tipo de banco de dados e da história considerada. Os bancos de dados instantâneos não apresentam suporte para informações temporais, não permitindo portanto consultas temporais. Nos bancos de dados de tempo de transação podem ser feitas consultas a (i) valores atuais das informações armazenadas, (ii) valores definidos em tempos passados. O tempo de transação associado implicitamente à informação identifica o instante para o qual se quer a informação. A validade das informações somente pode ser armazenada através de atributos explícitos, e sua recuperação seria através destes atributos. Exemplo: recuperar o salário de um funcionário no dia (tempo de transação) 01/01/97. Nos bancos de dados de tempo de validade podem ser recuperadas informações válidas em momentos presentes e passado s, além de valores armazenados sob forma de previsão para o futuro, de acordo com a atual percepção da história dos dados. Exemplo: recuperar o salário válido de um funcionário no dia 01/01/98. Os bancos de dados bitemporais permitem que sejam feitas consultas a respeito de valores atuais, passados e futuros, considerando o tempo de transação e o de validade. Qualquer estado do banco de dados pode ser consultado (atual, passado, ou previsto para o futuro). Quando

14 considerado o estado atual do banco de dados, a recuperação é sobre a atual percepção dos dados. Os estados passados representam valores que se acreditava válidos em datas passadas e que, posteriormente, foram redefinidos. O conjunto de todos estes estados (passados, atual e futuros) de um banco de dados caracteriza a sua história. Um banco de dados bitemporal permite que se tenha registro de todas as histórias passadas. A história presente corresponde ao conhecimento presente a respeito do presente, a respeito do passado e a respeito do futuro. Uma história passada corresponde ao conhecimento que existia naquele momento a respeito do presente, do passado e do futuro, sendo definida por um tempo de transação informações definidas após este tempo não devem ser consideradas, uma vez que não eram conhecidas. A consulta deve definir, através de alguma cláusula que define o tempo de transação que deve ser considerado como limite, o instante correspondente à história considerada. 4.3 Consultas Temporais Vamos analisar, a seguir, as diferentes formas que podem apresentar as consultas quando utilizados bancos de dados temporais. Para maior generalidade serão considerados somente bancos de dados bitemporais, os quais englobam os outros tipos de bancos de dados. Uma consulta apresenta dois componentes ortogonais: um componente de seleção e um de saída (projeção). O componente de seleção geralmente é representado através de uma condição lógica. Quando a condição envolve valores temporais é utilizada lógica temporal. Diversos operadores para tratar valores temporais são necessários, tais como operadores booleanos (antes, depois, durante) e operadores que retornam valores temporais (depois, agora, início_de_intervalo, distância_temporal). As condições podem envolver valores de dados e valores temporais associados aos dados (tempo de transação e/ou de validade). Conforme o componente de seleção, as consultas ser classificadas em: (1) consultas de seleção sobre dados - quando as condições são estabelecidas somente sobre valores de dados. Exemplo: selecionar o salário do funcionário de nome Carlos. É importante ressaltar que quando forem utilizados tipos de dados temporais, tais como datas e horas, a utilização destes na condição de seleção representa uma seleção sobre dados e não uma seleção temporal. Exemplo deste último caso: selecionar o nome dos empregados que apresentam data de nascimento posterior a 01/01/1980; (2) consultas de seleção temporal - são as consultas nas quais somente informações temporais associadas aos dados (tempo de transação e/ou tempo de validade) são analisadas pela condição de seleção. Exemplo:

15 selecionar todos os empregados da empresa durante o período de 01/01/96 a 01/01/97. (3) consultas de seleção mista - a condição de seleção atua não somente nos dados mas também nas informações temporais associadas a eles. Exemplo: selecionar todos os empregados do departamento denominado entregas que estavam habilitados para dirigir automóveis durante o período de 01/01/95 a 01/07/95. Analisando agora o componente de saída, na consulta podem ser solicitados valores de dados e/ou valores relativos às informações temporais associadas aos dados. Podemos ter, portanto: (1) consultas de saídas de dados - nas quais as informações selecionadas correspondem exclusivamente a valores de dados. Exemplo: selecionar o nome dos funcionários do departamento entregas ; (2) consultas de saídas temporal - recuperam informações abstraídas das informações temporais associadas aos dados. Deste modo podem ser recuperados pontos no tempo, intervalos temporais e durações temporais. Exemplo: selecionar todos os períodos nos quais qualquer empregado do departamento de entregas estava habilitado a dirigir automóveis; (3) consultas de saída mista - recuperam simultaneamente valores de dados e valores temporais associados a estes dados. Exemplo: selecionar os valores de salário com os respectivos tempos de validade para o empregado chamado João entre 01/01/95 e 01/01/96. Analisando as possíveis combinações entre os componentes de seleção e de saída de uma consulta observamos que a única combinação que não pode ser utilizada é a de seleção temporal com saída temporal - devemos ter algum dado envolvido em pelo menos um dos componentes. A recuperação de valores de uma determinada história do banco de dados depende da condição estabelecida no componente de seleção. Por exemplo, para recuperar informações relativas a dados de um determinado dia do passado é necessário que o componente de seleção apresente alguma seleção temporal - a seleção do instante passado considerado. Para recuperar dados referentes a uma história passada o componente de seleção deve definir a data-base desta história (algo como conforme se acreditava em 01/01/60). Na recuperação de dados históricos podem ser considerados valores válidos (considerando o tempo de validade associado ao valor) ou instantes em que os valores foram definidos (ao considerar o tempo de transação. Pode-se, por exemplo, consultar o valor válido para o salário de um funcionário em um determinado dia, e a data em que este valor foi definido.

16 4.4 Consultas e o Paradigma de Orientação a Objetos Modelos de dados orientados a objetos requerem propriedades especiais para a recuperação de informações. Os objetos apresentam atributos (propriedades) cujos valores são definidos em domínios específicos. Os domínios podem ser simples (como, por exemplo, inteiros e reais) ou complexos, representados por nomes de classes, listas e conjuntos. Os valores assumidos por estas propriedades são instâncias das classes especificadas como domínios. Assim, o valor de uma propriedade cujo domínio é uma classe será uma instância desta classe um objeto. Várias soluções podem ser adotadas para a recuperação de valores de propriedades cujos domínios são classes, como por exemplo: (i) devolver o identificador do objeto recuperado, embora este identificador seja usualmente interno ao sistema e, portanto, não acessível ao usuário; (ii) listar os valores de todas as propriedades do objeto, identificando os objetos referentes às propriedades recursivamente até que todas as propriedades sejam definidas em domíni os simples; (iii) listar somente os valores referentes a propriedades simples do objeto identificado; ou (iv) fornecer o(s) valor(es) de alguma(s) propriedade(s) identificada(s) pelo modelo como especial para esta finalidade. As propriedades cujo domínio são listas ou conjuntos também podem apresentar objetos (instâncias de classes). A recuperação de informações para estes casos requer que todos os objetos sejam devolvidos pela linguagem de consulta. Outro problema envolvido na recuperação de informações em um modelo de dados orientado a objetos consiste na possível hierarquia de classes existente. Uma classe pode apresentar um conjunto de subclasses e um conjunto de superclasses. Quando o domínio de uma propriedade for uma classe, todas as subclasses desta (diretas ou indiretas) são também possíveis domínios desta propriedade. A recuperação de informações deve navegar através de toda a hierarquia para fornecer todos os valores definidos. Informações temporais são geralmente associadas aos objetos (representando a vida do objeto tempo de criação, eventuais intervalos de suspensão e tempo em que sua existência terminou) e aos atributos (representando os tempos de definição de seus valores). Nos dois casos podem ser utilizados tempos de transação e/ou de validade. A linguagem de consulta deve permitir a recuperação de valores temporais de objetos e de seus atributos, os quais devem ser analisados em conjunto com a solução adotada para a recuperação de informações de domínios complexos.

17 4.5 Linguagens de Consulta Textuais e Visuais A maioria dos modelos de dados temporais apresentam linguagens de consulta textuais, geralmente derivadas do SQL. Dentre estas, a mais conhecida é TSQL2, a ser apresentada na seção deste texto. A linguagem textual de consulta exige que o usuário conheça sua sintaxe, esteja bastante familiarizado com o esquema do banco de dados e saiba quais os objetos que podem mudar de valor ao longo do tempo. Uma linguagem visual de consulta permite a recuperação de informações sem que o usuário conheça a sintaxe da linguagem de consulta. A consulta pode ser realizada de uma forma amigável, através da utilização de símbolos visuais (ícones, diagramas, sinais) e um conjunto de regras para utilização dos mesmos na recuperação de informações. A representação visual dos objetos do banco de dados e de seus relacionamentos, possibilita ao usuário uma melhor percepção da realidade, o que não acontece com o uso de linguagens de consulta textual, como SQL. Algumas propostas de linguagens visuais de consulta pa ra bancos de dados temporais têm sido publicadas recentemente [Carvalho 97, Kouramajian 95, Oberweis 94]. No Visual Query System TF-ORM [Carvalho 97] a consulta é realizada através de um interface gráfico, formado por diversas janelas. Uma destas apresenta uma representação gráfica do esquema conceitual (Figura 4.1) no modelo TF-ORM [Edelweiss 93]. O usuário realiza a consulta navegando sobre este esquema gráfico e selecionando os elementos de interesse para elaboração da consulta. Os elementos selecionados vão sendo apresentados em outra janela, onde aparece somente a parte do esquema conceitual envolvida na consulta, e sobre a qual se definem as condições impostas à consulta. Figura 4.1: Esquema conceitual TF-ORM gráfico

18 Além destas duas janelas, o sistema possui um conjunto de janelas para serem utilizados no complemento da consulta - definição de restrições, temporais ou não, sobre os elementos selecionados no esquema conceitual gráfico ou sobre a consulta como um todo (Figuras 4.2). Figura 4.2: Janela onde é definido o tempo de consulta 5 Modelos de Dados Temporais A representação dos aspectos temporais na especificação de um sistema de informação é importante por mais de um motivo: (i) o sistema pode apresentar informações temporais a serem introduzidas no banco de dados que o representa, sob forma de informação propriamente dita; (ii) processos a serem executados podem apresentar interações temporais, interações estas que devem também ser representadas; (iii) determinadas tarefas podem apresentar pré-condições à sua execução, as quais podem ser representadas através de restrições temporais; e (iv) condições de integridade temporal do banco de dados podem ser necessárias. Para que isto tudo seja possível, é necessário que seja utilizado um modelo de dados temporal adequado. Um modelo de dados deve apresentar uma estrutura de objetos que podem ser manipulados por esta linguagem, uma linguagem para atualizar estes objetos (update), uma linguagem de consulta, e algum mecanismo para expressar restrições de integridade. Os modelos de dados temporais também devem apresentar estas características, acrescentando a possibilidade de representar informações temporais, efetuar consultas temporais, e permitir a definição de restrições de integridade temporal. Para este último aspecto geralmente é utilizada lógica temporal de primeira ordem.

19 Os seguintes aspectos devem ser considerados ao ser analisado um modelo de dados temporal: identificar o tipo de rótulo temporal utilizado pelo modelo (ponto no tempo, intervalo temporal, elemento temporal, duração); analisar a forma de variação temporal dos atributos (podem ou não variar com o tempo, todos ou alguns); verificar se os rótulos temporais são explícitos ou implícitos; homogeneidade temporal; apresentação e funcionalidades da linguagem de consulta. Em lugar de definir novos modelos para tratar dos aspectos temporais, diversos modelos de dados tradicionais foram estendidos para possibilitar a representação de aspectos temporais. 5.1 Extensões do Modelo Relacional Os modelos relacionais se baseiam na representação de relacionamentos entre elementos. Ao ser utilizado um modelo temporal, estes relacionamentos devem ser representados ao longo do tempo. Informações adicionais a serem acrescentadas: tempo de início do relacionamento; variação do relacionamento com o tempo; término do relacionamento; reincarnação de relacionamentos; restrições de integridade referencial com respeito à dimensão temporal. Um banco de dados relacional apresenta um conjunto de relações, sendo que cada relação é composta por um conjunto de tuplas. Uma instância deste banco de dados é definida pelo conjunto de relações e de todas suas tuplas. Ao ser feita a extensão temporal para um banco de dados relacional, três formas podem ser utilizadas para representar a temporização, dependendo do nível ao qual o tempo é associado: (1) ao banco de dados como um todo neste caso, cada estado do banco de dados é armazenado completo, com o rótulo temporal. Alterações elementares do BD criam um novo estado; (2) às relações cada relação é temporizada. Para cada estado, todas as tuplas desta relação devem ser armazenadas, com o rótulo temporal correspondente. Informações globais sobre existência da relação podem ser armazenadas desta maneira; (3) às tuplas cada tupla é temporizada. Uma alteração elementar de valores de uma relação definem uma nova tupla, e somente esta precisa ser armazenada. Como importantes extensões do modelo relacional podem ser citados os modelos HRDM (Historical Relational Data Model) [Clifford 87, 93], IXRM

20 (Interval-extended Relational Model) [Lorentzos 93] e TRM (Temporal Relational Model) [Navathe 88, 93] TSQL2 Temporal Structured Query Language As pesquisas em bancos de dados temporais vêm sendo desenvolvidas já há 15 anos, resultando na proposta de diversos modelos e linguagens de consulta temporais. A consolidação destas propostas está sendo buscada pela comunidade que pesquisa a área, através da definição de uma linguagem de consulta temporal de consenso. A construção desta linguagem foi feita através de uma discussão via correio eletrônico, que teve início em Foram envolvidos na discussão pesquisadores de 8 países, abrangendo 4 continentes. A linguagem resultante foi denominada TSQL2 [Snodgrass 95]. A linguagem se baseia em SQL por ser esta a linguagem de consulta mais utilizada atualmente. As seguintes característica foram buscadas na definição do TSQL2: suporte a períodos de tempo. Em SQL somente date, time, timestamp, interval; suporte a múltiplas granularidades. Em SQL somente year, month, day, hour, minute, second. Incluir: semestre - semana - estações do ano -...; suporte a múltiplas representações. Exemplo: terceira semana de Em SQL: dia/mes/ano; suporte a múltiplas linguagens. Exemplo: 29 de setembro de 1997; suporte a múltiplos calendários (lunar acadêmico fiscal - eras geográficas); suporte a tempo indeterminado. Exemplo: entre 1 e 15 de julho; suporte a tempo histórico. A linguagem TSQL2 [Snodgrass 95] foi definida para o modelo temporal relacional BCDM Bitemporal Conceptual Data Model. O Modelo BCDM Trata-se de um modelo conceitual muito simples, que captura a semântica essencial das variações temporais das relações. O modelo foi definido sem levar em consideração problemas de capacidade de armazenamento, que sem dúvida, estão presentes em implementações de bancos de dados temporais. No modelo BCDM o tempo é considerado linear e discreto. É feito suporte a ambos os tempos de transação e de validade, implementando, portanto, um BD bitemporal. São utilizados rótulos que representam elementos bitemporais. A associação temporal é implícita, sendo o rótulo temporal associado às tuplas, na forma abaixo: X = ( a1, a2,, an / t )

21 onde ai são os valores dos atributos da tupla, e t representa o rótulo bitemporal. A cada tupla é associado um subconjunto arbitrário do domínio dos tempos válidos um fato é válido na realidade modelada durante cada um dos chronons deste subconjunto. Por sua vez, a cada chronon de tempo de validade é associado um subconjunto dos tempos de transação o fato é válido durante este particular chronon, ou seja, está presente na relação durante cada um dos chronons de tempo de transação do subconjunto. Este o conceito de elemento bitemporal. O exemplo a seguir mostra este tipo de rótulo temporal. Considere a seguinte relação com tuplas definidas (UC: until changed): Empregado Depto T João compras { (5,10),, (5,15),, (9,10),, (9,15), (10,5),, (10,20),, (14,5),, (14,20), (15,10),,(15,15),,(19,10),,(19,15) } João vendas { (UC,10),,(UC,15) } A primeira tupla associa João ao departamento de compras, durante diversos intervalos temporais. A segunda associa este mesmo funcionário ao departamento de vendas. A interpretação dos rótulos temporais está apresentada nas figuras 5.2 e 5.3. TV TV (João, compras) (João, compras) TT TV TT TV (João, compras) (João, vendas) (João, compras) TT TT Figura 5.1: Interpretação do elemento bitemporal

22 TV TT Emp Dept Ts Te Vs Ve João compras João compras João compras João vendas 20 UC elemento bitemporal particionado pelo tempo de transação Figura 5.2 Interpretação do elemento bitemporal tempo de transação A Linguagem de consulta TSQL2 Na linguagem TSQL2 a seleção e a projeção são feitas sobre o rótulo temporal, envolvendo, portanto, tempo de transação e de validade. Foram definidos diversos operadores de seleção: extratores que têm por objetivo extrair alguma informação temporal do rótulo. Por exemplo, o operador BEGIN extrai o início de validade de uma atributo; construtores constróem elementos temporais a partir de elementos temporais. Por exemplo, INTERSECT retorna o conjunto de intervalos temporais resultante da interseção de dois intervalos considerados; de comparação operadores lógicos que comparam intervalos temporais. Por exemplo, OVERLAPS verifica se dois intervalos têm intervalos temporais em comum. Exemplos de consultas em TSQL2 Listar o nome dos funcionários que estiveram empregados em janeiro de 1992 SELECT Name FROM Employee WHERE VALID (Employee) OVERLAPS PERIOD [01/01/1992, 01/31/1992] Listar o nome dos funcionários que foram registrados como empregados em janeiro de 1992

23 SELECT Name FROM Employee WHERE TRANSACTION(Employee) OVERLAPS PERIOD [ , ] Listar o nome de todos os empregados que trabalharam na empresa ao mesmo tempo em que João esteve no departamento de brinquedos SELECT E1.Name FROM Employee E1, Employee E2 WHERE E2.Name = João AND E2.Dept = Brinquedos AND VALID(E1) OVERLAPS VALID(E2) Suporte à indeterminação temporal no TSQL2 Na linguagem de consulta TSQL2 foi providenciado suporte à indeterminação temporal, pois esta está presente na maioria das aplicações. A linguagem permite consultas tais como: recuperar valores válidos durante um determinado dia; um fato registrado para ocorrer daqui a 6 meses; um fato que ocorreu a mais de 5 anos. Para que isto possa ser possível, os atributos sobre os quais se pode fazer consultas incompletas devem ser identificados como tal durante a definição do esquema. Por exemplo: CREATE TABLE Employee (Birthdate INDETERMINATE DATE) Pode, também, ser definida a faixa de credibilidade que se quer na resposta solicitada, como no exemplo abaixo: SELECT Warehouse, Lot#, Part# VALID R FROM Receive AS R, InProduction AS IP WITH CREDIBILITY 0 WHERE MODEL = ABC AND R OVERLAPS IP WITH PLAUSIBILITY Extensões do Modelo E-R Os seguinte requisitos foram identificados como necessários a um modelo ER temporal [Antunes 97]: a dimensão temporal deve estar embutida no modelo. Desta forma, enquanto que no modelo ER convencional os conjuntos de entidades apresentam apenas duas dimensões, a das tuplas e a dos atributos, no modelo ER temporal passam a apresentar três: a das tuplas, a dos atributos e a do tempo; deve oferecer uma notação especial para diferenciar entidades temporizadas (que estão associadas ao tempo) de entidades não temporizados (que não estão associadas com o tempo); deve permitir que uma entidade temporizada se associe com uma entidade não temporizada;

24 deve permitir que um relacionamento entre entidades possa ser definido como temporizado ou como não temporizado, não importando qual seja a classificação temporal destas entidades; deve permitir que em uma mesma entidade possam conviver atributos temporizados e atributos não temporizados; a restrição de cardinalidade que define o grau de participação de uma entidade em um conjunto de relacionamentos temporizados deve considerar os pontos do tempo. Por outro lado, em se tratando de conjunto de relacionamentos não temporizados, a cardinalidade não deve levar em conta os pontos do tempo, mantendo a mesma semântica do modelo ER convencional. Várias extensões à abordagem entidade -relacionamento original têm sido propostas com o objetivo de incorporar a possibilidade de modelar propriedades temporais, entre as quais se destacam: a abordagem ERT (Entity Relationship Time Model) [Loucopoulos 91], a abordagem TER (Temporal Entity-Relationship Model) [Tauzovich 91], a abordagem TEER (Temporal Enhanced Entity-Relationship Model) [Elmasri 93] e a abordagem TempER [Antunes 97] O Modelo TempER Este modelo foi desenvolvido com o objetivo de atender a todos os requisitos colocados no início da seção 5.2. O modelo foi concebido com base, principalmente, no modelo ERT. As principais diferenças entre as abordagens situam-se na simbologia e na primitiva temporal adotada - o elemento temporal em lugar do intervalo de tempo. Em uma visão geral, as principais características do modelo de dados TempER são as seguintes: oferece uma simbologia que diferencia elementos temporizados de elementos não temporizados, semelhante à do modelo ERT; permite que se associe em um mesmo diagrama entidades temporalizadas com não temporalizadas. As entidades não temporalizadas passam a ser denominadas de perenes, sendo assumido que estas também apresentam uma dimensão temporal implícita, igual a todo o conjunto de pontos do eixo temporal. As entidades temporalizadas passam a ser denominadas de transitórias ; qualquer que seja a classificação das entidades em relação ao tempo, sejam elas perenes ou transitórias, ortogonalmente sempre apresentam duas perspectivas: uma não temporal e uma temporal. Quando se focaliza os conjuntos de entidades pela perspectiva não temporal estes apresentam apenas duas dimensões (tuplas x atributos não temporais). Por outro lado, quando se focaliza estes mesmos conjuntos pela perspectiva temporal, eles apresentam três dimensões (tupla x atributos temporais x eixo temporal);

Sumário. Banco de Dados Temporal (BDT)

Sumário. Banco de Dados Temporal (BDT) Sumário Aplicações Não-Convencionais BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML Banco de Dados Temporal (BDT) Considera a evolução de um dado no tempo manutenção

Leia mais

Sumário. Banco de Dados Temporal

Sumário. Banco de Dados Temporal Sumário Introdução Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto-Relacional 3 BD Temporal 4 BD Geográfico 5 XML e Banco de Dados Banco de Dados Temporal Considera a evolução de um dado

Leia mais

5. BD Temporal (BDT)

5. BD Temporal (BDT) Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD

Leia mais

Modelos de Dados Temporais

Modelos de Dados Temporais CMP 151 Modelos de Dados Temporais Roteiro! Conceitos de representação temporal! Modelos de dados temporais! Linguagens de consulta temporais " Bancos de dados temporais " Implementação de BDs temporais

Leia mais

ROSIANE APARECIDA OLIVEIRA MODELAGEM E DESENVOLVIMENTO DE UM BANCO DE DADOS TEMPORAL

ROSIANE APARECIDA OLIVEIRA MODELAGEM E DESENVOLVIMENTO DE UM BANCO DE DADOS TEMPORAL ROSIANE APARECIDA OLIVEIRA MODELAGEM E DESENVOLVIMENTO DE UM BANCO DE DADOS TEMPORAL Monografia de graduação apresentada ao Departamento de Ciência da Computação da Universidade Federal de Lavras, na disciplina

Leia mais

FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL

FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL

Leia mais

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTÔNIO SEABRA CURSO SUPERIOR DE TECNOLOGIA COM ÊNFASE EM BANCO DE DADOS ANDERSON MITSUO CARDIN CARLOS LEONARDO

Leia mais

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Implementação de BDs Temporais

Implementação de BDs Temporais Implementação de BDs Temporais Implementação de BDs Temporais poucos sistemas implementados implementação de protótipos experiências de mapeamentos para BD tradicionais TimeDB http://www.timeconsult.com/temporaldata/temporaldb

Leia mais

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução.

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução. - Índice Componentes Sistemas de Informação Vitor Vaz da Silva Vitor Vaz da Silva - SI http://tektonia.com 2 Vitor Vaz da Silva - SI http://tektonia.com 3 Vitor Vaz da Silva - SI http://tektonia.com 4

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento

Leia mais

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL ACADEMICO:MARCOS

Leia mais

Linguagem de Consulta Temporal:

Linguagem de Consulta Temporal: UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO HENRY GOMES DE CARVALHO Linguagem de Consulta Temporal: definição e implementação Dissertação

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Revisando Banco de Dados. Modelo Relacional

Revisando Banco de Dados. Modelo Relacional : Revisando Banco de Dados Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Sistema Gerenciador

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Um Ambiente Visual de Consulta a Banco de Dados Espaço-Temporal Valéria Maria Bezerra Cavalcanti

Um Ambiente Visual de Consulta a Banco de Dados Espaço-Temporal Valéria Maria Bezerra Cavalcanti UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA CURSO DE PÓS-GRADUAÇÃO EM INFORMÁTICA Um Ambiente Visual de Consulta a Banco de Dados Espaço-Temporal Valéria Maria Bezerra Cavalcanti

Leia mais

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Definição de Banco de Dados De uma forma genérica, um banco de dados é definido como uma coleção de dados relacionados. Os dados são

Leia mais

MODELO DE BANCO DE DADOS RELACIONAL

MODELO DE BANCO DE DADOS RELACIONAL UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO BANCO DE DADOS I MODELO DE BANCO DE DADOS RELACIONAL Profº Erinaldo Sanches Nascimento Objetivos Descrever os princípios básicos

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011 Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

Banco de Dados 08/08/2010

Banco de Dados 08/08/2010 Disciplina: Engenharia de Software / rof.: Raquel Silveira LANO DE AVALIAÇÕES Banco de Dados 1ª A: 30 de agosto 2ª A: 04 de outubro 3ª A: 29 de novembro NAF: 02 de dezembro Referência bibliográfica: SILBERSCHATZ,

Leia mais

Sistemas da Informação. Banco de Dados I. Edson Thizon

Sistemas da Informação. Banco de Dados I. Edson Thizon Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Modelagem de dados usando MER. Andre Noel

Modelagem de dados usando MER. Andre Noel Modelagem de dados usando MER Andre Noel Introdução Introdução Modelagem conceitual Introdução Modelagem conceitual Modelo Entidade-Relacionamento (MER) Modelo de dados conceitual popular de alto nível

Leia mais

Agenda. Banco de Dados Temporais. Banco de Dados Temporais. Introdução. Banco de Dados Temporais PRINCIPAIS CONCEITOS DE REPRESENTAÇÃO TEMPORAL

Agenda. Banco de Dados Temporais. Banco de Dados Temporais. Introdução. Banco de Dados Temporais PRINCIPAIS CONCEITOS DE REPRESENTAÇÃO TEMPORAL Banco de Dados Lucilia Yoshie Araki Marcio Cezar Santos da Rosa Agenda Introdução; Banco de Dados ; Principais Conceitos de Representação Temporal; Modelagem de Dados em Banco De Dados Temporal; Relacionamentos

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

Extensões de Modelos de Dados para Aplicações Avançadas. Lucas da Silva Grando Hudson Magalhães

Extensões de Modelos de Dados para Aplicações Avançadas. Lucas da Silva Grando Hudson Magalhães Extensões de Modelos de Dados para Aplicações Avançadas Lucas da Silva Grando Hudson Magalhães Introdução Introduziremos os conceitos de banco de dados em aplicações avançadas, e que começaram a apresentar

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Modelo ER & Modelo Relacional Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 18 de

Leia mais

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior; Modelagem Conceitual 2012.1 2 Independência de Dados: capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior Independência de dados física: modifica

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados em outros momentos

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Dados x Informações Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados

Leia mais

Modelos Conceituais de Dados

Modelos Conceituais de Dados Modelos Conceituais de Dados 2. Modelagem Conceitual de Dados Geográficos A partir de idéias conceituais de fenômenos geográficos é possível formalizar a representação do espaço e de propriedades espaciais.

Leia mais

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos Introdução a Banco de Dados Prof. Msc Denival A. dos Santos Dado Um dado sozinho, dissociado de um contexto, não expressa algo que traga qualquer certeza ou elimine dúvidas de qualquer natureza. No máximo,

Leia mais

Características dos sistemas convencionais de gestão

Características dos sistemas convencionais de gestão O modelo relacional adapta-se perfeitamente a sistemas de processamento de dados de gestão Áreas como o CAD, CIM, GIS, ferramentas CASE, sistemas multimédia, etc., têm características muito diferentes

Leia mais

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro Agenda Modelo de Dados MER 2 de X; X=37 Modelo de Dados O Modelo de Dados é a principal ferramenta que fornece

Leia mais

Interface de Consultas TF-ORM para Oracle

Interface de Consultas TF-ORM para Oracle Universidade Federal do Rio Grande do Sul Programa de Pós Graduação em Computação Interface de Consultas TF-ORM para Mirella Moura Moro Nina Edelweiss - orientadora { mirella, nina } @inf.ufrgs.br Roteiro

Leia mais

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS SISTEMA DE INFORMAÇÃO Modelo Conceitual Prof. Luiz Fernando Laguardia Campos FMS lflcampos@machadosobrinho.com.br Modelo conceitual Um modelo conceitual é uma descrição do banco de dados de forma independente

Leia mais

Aula 06 Sistemas Embarcados LT38C

Aula 06 Sistemas Embarcados LT38C Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.

Leia mais

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos conceitos 1 conteúdos A necessidade de processamento de DADOS em tempo útil de forma a recolher INFORMAÇÃO relevante, foi sempre uma necessidade sentida pelo Homem. conceitos modelo relacional (DER) 04-01-2012

Leia mais

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Disciplina: Banco de Dados Prof: Márcio Palheta,

Leia mais

BANCO DE DADOS ORIENTADO A OBJETOS

BANCO DE DADOS ORIENTADO A OBJETOS UNIDADEB BANCO DE DADOS ORIENTADO A OBJETOS 1. Introdução Um Banco de Dados Orientado a Objetos (BDOO) é um banco de dados em que, no modelo lógico, as informações são armazenadas na forma de objetos,

Leia mais

BANCO DE DADOS. Araújo Lima. Jan / Araújo

BANCO DE DADOS. Araújo Lima. Jan / Araújo BANCO DE DADOS Lima Jan / 2017 1 Índice 1.Introdução a Sistemas de Banco de Dados Evolução dos Sistemas de Informação Conceitos de Bancos de Dados Usuários de Banco de Dados Banco de Dados X Linguagens

Leia mais

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich Introdução a B anco de Dados INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich 1 Introdução Sistema de banco de dados Projetados para gerenciar grandes quantidades de informação Proporcionar

Leia mais

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional Banco de Dados Banco de Dados II Conceitos Básicos Coleção logicamente coerente de dados relacionados com algum significado inerente; Exemplos de bancos de dados: Agenda de endereços (papel ou computador)

Leia mais

IMPLEMENTAÇÃO DE UM BANCO DE DADOS TEMPORAL UTILIZANDO O MODELO ORIENTADO A OBJETO TF-ORM

IMPLEMENTAÇÃO DE UM BANCO DE DADOS TEMPORAL UTILIZANDO O MODELO ORIENTADO A OBJETO TF-ORM IMPLEMENTAÇÃO DE UM BANCO DE DADOS TEMPORAL UTILIZANDO O MODELO ORIENTADO A OBJETO TF-ORM Fernando Tonial Curso de Ciência da Computação Universidade do Vale do Itajaí - UNIVALI tonial@inf.univali.br Rogério

Leia mais

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC) Banco de Dados - Conceitos Baseado no material da Profa. Vania Bogorny (UFSC) 1 Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel compra de passagens

Leia mais

Modelagem de Usuários Utilizando uma Abordagem Temporal

Modelagem de Usuários Utilizando uma Abordagem Temporal UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO CRISTIANO ROBERTO CERVI Modelagem de Usuários Utilizando uma Abordagem Temporal Trabalho Individual

Leia mais

Modelo Entidade-Relacionamento (E-R)

Modelo Entidade-Relacionamento (E-R) Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo

Leia mais

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer BANCO DE DADOS I Prof. Luiz Antônio Vivacqua C. Meyer Projeto de Banco de Dados Etapas do Desenvolvimento de um Projeto de Sistemas: 1. Levantamento de Requisitos a. Requisitos Funcionais b. Requisitos

Leia mais

INF01145 Fundamentos de Banco de Dados Plano de ensino

INF01145 Fundamentos de Banco de Dados Plano de ensino INF01145 Fundamentos de Banco de Dados Plano de ensino Carlos A. Heuser Cirano Iochpe 2009/2 1 Identificação Nome do departamento: Informática Aplicada Nome da atividade de ensino: INF01145 - Fundamentos

Leia mais

ACH2025. Aula 11. Visões. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Aula 11. Visões. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 11 Visões Professora: Fátima L. S. Nunes Introdução Nos exemplos mostrados nas aulas anteriores, consideramos o modelo lógico relações usadas são aquelas reais,

Leia mais

DCC011 Introdução a Banco de Dados. Construindo o Esquema. 1. Propriedades de Modelos ER. Construindo Esquema Conceitual

DCC011 Introdução a Banco de Dados. Construindo o Esquema. 1. Propriedades de Modelos ER. Construindo Esquema Conceitual DCC011 Introdução a Banco de Dados Projeto de Bancos de Dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Construindo o Esquema Conceitual

Leia mais

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Banco de Dados Modelo Relacional, Algebra Relacional, SQL Banco de Dados Modelo Relacional, Algebra Relacional, SQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André

Leia mais

Introdução. O que é um Banco de Dados (BD)?

Introdução. O que é um Banco de Dados (BD)? O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo Associações aleatórias de dados não podem ser chamadas de base de dados Conceito de dados Valor de

Leia mais

Modelo Relacional. Aula 02

Modelo Relacional. Aula 02 Aula 02 Modelo Relacional É um modelo baseado em relações, seus dados no BD são representados através de tabelas, ou seja, sua coleção ou relação recebe cada uma um nome único. Revisando: Dados: é o conteúdo

Leia mais

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr Banco de Dados Perspectiva Histórica dos Bancos de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Histórico Antes dos computadores, as informações eram

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS ÁLGEBRA E CÁLCULO RELACIONAL FELIPE G. TORRES APRESENTAÇÃO Avaliações AV1 AV2 TRAB1 TRAB2 REFERÊNCIAS GRAVES, M. Projeto de Banco de Dados com XML. São Paulo: Makron

Leia mais

O Modelo e a Álgebra Relacional

O Modelo e a Álgebra Relacional O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

Leia mais

Sistemas Gerenciadores de Banco de Dados

Sistemas Gerenciadores de Banco de Dados Sistemas Gerenciadores de Banco de Dados Introdução Prof. Marcos Alexandruk EMENTA Sistemas gerenciadores de banco de dados; Configurações do ambiente de trabalho; Diferenças entre as diversas plataformas;

Leia mais

Capítulo 9: Sistemas de banco de dados

Capítulo 9: Sistemas de banco de dados Capítulo 9: Sistemas de banco de dados Ciência da computação: Uma visão abrangente 11a Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Database (Banco de Dados) Uma coleção de dados

Leia mais

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI Conceitos Básicos Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM ROTEIRO Introdução Dados

Leia mais

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78) 1 1970 - modelo introduzido por E. F. Codd Meados da década de 70: protótipos INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78) 1979: primeiro produto SQL (Oracle) Meados da década

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

Conceitos de Sistemas de Banco de Dados INE 5323

Conceitos de Sistemas de Banco de Dados INE 5323 Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação

Leia mais

Curso Superior de Tecnologia em BD

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em BD Tópicos Avançados em BD Banco de Dados Temporais Interagindo O que é tempo? 2 Interagindo Algo que não se vê, não se pega, mas, se armazena (tempo cronológico); Termo

Leia mais

Informática. Banco de Dados Relacional. Professor Julio Alves.

Informática. Banco de Dados Relacional. Professor Julio Alves. Informática Banco de Dados Relacional Professor Julio Alves www.acasadoconcurseiro.com.br Informática 1. BANCOS DE DADOS RELACIONAL Um BD relacional possui apenas um tipo de construção, a tabela. Uma

Leia mais

Arquitetura de um Ambiente de Data Warehousing

Arquitetura de um Ambiente de Data Warehousing Arquitetura de um Ambiente de Data Warehousing Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri Arquitetura Típica usuário usuário... usuário

Leia mais

Banco de Dados. Banco de Dados

Banco de Dados. Banco de Dados Banco de Dados Banco de Dados Data Warehouse: banco de dados contendo dados extraídos do ambiente de produção da empresa, que foram selecionados e depurados, tendo sido otimizados para processamento de

Leia mais

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo MODELAGEM DE DADOS Projeto de Banco de Dados Modelo Conceitual Prof. Rosemary Melo OBJETIVOS Conhecer a arquitetura de 3 esquemas (projeto conceitual, lógico e físico) Entender o conceito e o processo

Leia mais

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva  UFU/FACOM/BCC GBC053 Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento

Leia mais

INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Professor Carlos Muniz

INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Professor Carlos Muniz INTRODUÇÃO (MODELAGEM DE BANCO DE Definição de modelo Parece trivial o que pode ser um modelo, mas vamos nos esquecer da informática por um momento, para assim explorarmos outras possibilidades interessantes.

Leia mais

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer P alguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

Técnico em Informática. Banco de Dados. Profª Ana Paula Mandelli

Técnico em Informática. Banco de Dados. Profª Ana Paula Mandelli Técnico em Informática Banco de Dados Profª Ana Paula Mandelli Banco de Dados (BD) Existem vários tipos de banco de dados e eles estão presentes na nossa vida há muito tempo. Lista Telefônica Cadastro

Leia mais

Anexo II Mapeamento entre modelos

Anexo II Mapeamento entre modelos Anexo II Mapeamento entre modelos Esta seção apresenta e caracteriza o processo de mapeamento entre o nível conceitual e o nível lógico e indica as alternativas consideradas mais convenientes considerando

Leia mais

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora... Ciência da Computação GBC043 Sistemas de Banco de Dados Linguagens formais de Consulta Modelo Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

Sumário. BD Orientado a Objetos

Sumário. BD Orientado a Objetos Sumário 1. BD Orientado a Objetos (BDOO) 2. BD Objeto-Relacional (BDOR) 3. BD Temporal (BDT) 4. BD Geográfico (BDG) 5. Tecnologia XML e BD com suporte à gerência de dados XML BD Orientado a Objetos BDOO:

Leia mais

ÁLGEBRA E CÁLCULO RELACIONAL

ÁLGEBRA E CÁLCULO RELACIONAL UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1

Leia mais

Modelo Lógico de Dados. Modelo Relacional

Modelo Lógico de Dados. Modelo Relacional Modelo Lógico de Dados Modelo Relacional 1 Composição de um Banco de Dados Relacional É composto de tabelas ou relações O termo tabela é mais comum nos produtos comerciais e na prática O termo relação

Leia mais

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 5- Modelo Relacional Prof. Daniela Barreiro Claro Agenda Histórico Modelo em Redes e Hierárquico Modelo Relacional Restrições de Integridade Chaves FORMAS - UFBA 2 de X Histórico

Leia mais

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais

Fundamentos de Banco de Dados e Modelagem de Dados

Fundamentos de Banco de Dados e Modelagem de Dados Abril - 2015 Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo

Leia mais

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS 1. Analise as afirmativas abaixo. I. Atributo = dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. II. Relacionamento = conjunto

Leia mais

Implementação de Bancos de Dados Temporais com Versionamento de Esquemas: um estudo comparativo

Implementação de Bancos de Dados Temporais com Versionamento de Esquemas: um estudo comparativo UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO Implementação de Bancos de Dados Temporais com Versionamento de Esquemas: um estudo comparativo

Leia mais

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelagem Conceitual e o Modelo Entidade-Relacionamento o Modelo Entidade-Relacionamento Gerenciamento de Dados e Informação Fernando Fonseca & Robson Fidalgo 1 Modelagem Transformar aspectos do mundo real em um modelo de dados formal Modelagem Conceitual Modelo

Leia mais

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade. Banco de Dados Aula 1.4 - Sistemas de Banco de Dados Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/25 Arquitetura dos SBDs 2/25 Objetivos dos SGBDs

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Modelo Entidade-Relacionamento (ER) Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd

Leia mais