BANCO DE DADOS TEMPORAIS: Teoria e prática

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

Download "BANCO DE DADOS TEMPORAIS: Teoria e prática"

Transcrição

1 UNIVERSIDADE FEDERAL DE MATO GROSSO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO BANCO DE DADOS TEMPORAIS: Teoria e prática RAPHAEL VIANA ITACARAMBY CUIABÁ-MT 2006

2 UNIVERSIDADE FEDERAL DE MATO GROSSO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO BANCO DE DADOS TEMPORAIS: Teoria e prática RAPHAEL VIANA ITACARAMBY Monografia apresentado ao Departamento de Ciência da Computação da Universidade Federal de Mato Grosso, para obtenção do Título de Bacharel em Ciência da Computação. Orientador: Prof. Custódio Gastão da Silva Júnior. CUIABÁ-MT 2006

3 UNIVERSIDADE FEDERAL DE MATO GROSSO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO CERTIFICADO DE APROVAÇÃO BANCO DE DADOS TEMPORAIS: Teoria e prática Raphael Viana Itacaramby Orientador: Prof. Custódio Gastão da Silva Júnior Aprovado em 11 de setembro de Prof. Custódio Gastão da Silva Júnior Prof. Departamento de Ciência da Computação/ICET/UFMT (Orientador) MSc. Luciana Correia Lima de Faria Borges Profª. Departamento de Ciência da Computação/ICET/UFMT Prof. Moisés Bites Borges de Castro Bacharel em Ciência da Computação Pós-graduado em Psicanálise Clínica

4 A DEUS por me ajudar, me capacitar, me motivar, mesmo quando parecia que eu não ia conseguir e quando já estava pensando em desistir de novo. DELE, por ELE e para ELE minha vida e gratidão. A minha família, sem a qual não teria estrutura; sem a qual, com certeza, não estaria aqui hoje. A minha amada noiva, Thais, que me apoiou, mesmo quando eu desisti das outras vezes e que orou por mim.

5 AGRADECIMENTOS Ao meu orientador, à minha família, minha noiva e principalmente a DEUS. Obrigado SENHOR JESUS.

6 RESUMO O presente trabalho enfoca bancos de dados temporais e através de pesquisa bibliográfica procura mostrar seus principais conceitos. Compara dois sistemas gerenciadores de bancos de dados, o Oracle e o PostgreSQL com a teoria de bancos de dados temporais para avaliar o que da teoria tem sido implementado por eles. Palavras-chave: Banco de dados temporais; Oracle; PostgreSQL ABSTRACT The present work focuses temporal databases and bibliographical research search to show its main concepts. It compares two database management system, the Oracle and the PostgreSQL, with the theory of temporal databases to evaluate what of the theory he has been implemented for them. Keywords: Temporal databases; Oracle; PostgreSQL

7 LISTA DE ILUSTRAÇÕES ILUSTRAÇÃO 1 - REPRESENTAÇÃO DOS DADOS EM DUAS DIMENSÕES ILUSTRAÇÃO 2 - REPRESENTAÇÃO DOS DADOS COM DIMENSÃO TEMPORAL...18 ILUSTRAÇÃO 3 - INSTANTE AGORA...20 ILUSTRAÇÃO 4 - INTERVALO TEMPORAL...21 ILUSTRAÇÃO 5 - ELEMENTO TEMPORAL... 22

8 LISTA DE TABELAS TABELA 1 - TABELA DE CLIENTES...15 TABELA 2 - TABELA DE CLIENTES ALTERADA...15 TABELA 3 - TABELA DE CLIENTES COM ATRIBUTO TEMPORAL TABELA 4 - TABELA DE FUNCIONÁRIOS COM ELEMENTO TEMPORAL...24 TABELA 5 - TIPOS DE DADOS SUPORTADOS PELO POSTGRESQL...37 TABELA 6 - VALORES ESPECIAIS PARA DATA E HORA...38 TABELA 7 - TABELA DE CLIENTES BITEMPORAL TABELA 8 - TABELA DE CLIENTES COM TIMESTAMPS...44 TABELA 9 - TABELA DE CLIENTES COM TIMESTAMPS ALTERADA...44 TABELA 10 - TABELA DE FUNCIONÁRIOS...55 TABELA 11 - TABELA DE FAIXAS SALARIAIS...55 TABELA 12 - TABELA DE DEDUÇÕES TABELA 13 - TABELA QUE RELACIONA DEDUÇÕES E FAIXAS SALARIAIS... 56

9 SUMÁRIO RESUMO... 6 ABSTRACT INTRODUÇÃO OBJETIVOS Objetivo Geral Objetivos específicos JUSTIFICATIVA HIPÓTESES METODOLOGIA CRONOGRAMA PROPOSTO FUNDAMENTAÇÃO TEÓRICA CONCEITOS DE REPRESENTAÇÃO TEMPORAL ELEMENTOS PRIMITIVOS DA REPRESENTAÇÃO TEMPORAL Instante no tempo Intervalo temporal Elemento temporal Duração temporal Fluxo do tempo Tempo totalmente ordenado Tempo absoluto e tempo relativo Tempo de transação e tempo válido Representação do tempo CLASSIFICAÇÃO DOS BANCOS DE DADOS TEMPORAIS CONSULTAS A BANCOS DE DADOS TEMPORAIS Problemas no processamento de consultas temporais MODELOS DE DADOS TEMPORAIS Modelo temporal TRM A linguagem de consulta do TRM OPERAÇÕES BÁSICAS SOBRE BANCOS DE DADOS TEMPORAIS POSTGRESQL Tipos de dados para data e hora O PostgreSQL e a implementação de aspectos da teoria de bancos de dados temporais Bi-Temporal PostgreSQL Time travel no PostgreSQL ORACLE Tipos de dados para data e hora O Oracle e a implementação de aspectos da teoria de bancos de dados temporais Workspace Manager ESTUDO DE CASO Implementando no Oracle Implementando no PostgreSQL CONSIDERAÇÕES FINAIS REFERÊNCIAS... 61

10 9 1 INTRODUÇÃO Um banco de dados é uma coleção organizada de dados que são manipulados por um computador. Diversos tipos de dados podem ser armazenados em um banco de dados, desde valores relativos a movimentações bancárias, até imagens. Geralmente, quando os dados relativos a um determinado registro se alteram, os anteriores são sobrescritos, desperdiçando uma informação que poderia ser útil. Isso significa que apenas o estado atual da realidade é capturado e não há idéia de como caminharam, de como evoluíram os dados até aquele momento. Então o que fazer para não perder o histórico dos dados? A resposta é associar o tempo a eles. Quando estes dados vigoraram? Eles ainda são válidos? Até quando serão válidos? Essas perguntas podem ser respondidas através dos bancos de dados temporais. Eles são bancos de dados que nunca sobrepõe informações antigas e que possuem mecanismos para o facilitar o tratamento do tempo associado aos dados. O tempo é tratado implicitamente pelo banco, isto é, ele é que tem que se preocupar com a forma como vai gerenciar os dados antigos, os novos e a forma de dar respostas às consultas desejadas pelo usuário. Os bancos de dados temporais já são matéria de pesquisa e estudos diversos há alguns anos. Segundo Nina Edelweiss (1998): Embora as pesquisas em BD temporais se estendam já por mais de 20 anos, poucos sistemas realmente utilizáveis existem. Existem, sim, várias experiências sob forma de protótipos, nos quais se baseiam estudos de problemas encontrados (de armazenamento e recuperação de informações), e mapeamentos de modelos temporais para BD tradicionais, nos quais os rótulos temporais são explicitamente representados e manipulados. Apesar de toda essa pesquisa em torno do tema, não temos certeza de quais

11 10 aspectos da teoria relacionada aos bancos de dados temporais os SGBDs atuais chegaram a implementar na prática. Podemos verificar que, se não houver tratamento de informação temporal de forma implícita, é possível trabalhar com ela de forma explícita, mas até que ponto os sistemas de banco de dados atuais chegaram é a questão. Partindo desse princípio, pretende-se fazer uma verificação de como dois SGBDs (um comercial e outro de código aberto) tratam os aspectos temporais dos dados por eles armazenados, e assim, comparar aquilo apresentado na teoria com o que está atualmente disponível na prática. 1.1 OBJETIVOS Objetivo Geral O objetivo deste trabalho é estudar os aspectos teóricos dos bancos de dados temporais e verificar se dois SGBDs (Oracle e PostgreSQL) implementam, mesmo que parcialmente, os conceitos presentes na teoria Objetivos específicos Estudar os bancos de dados temporais e descobrir como eles tratam o tempo associado aos dados por eles armazenados e gerenciados. Verificar o que da teoria de bancos de dados temporais é aplicado em dois SGBDs comerciais Oracle e PostgreSQL

12 JUSTIFICATIVA Os bancos de dados costumam trabalhar com os dados atualizados, desprezando valores antigos, que um dia foram válidos e representaram um momento na história dos mesmos. Um banco de dados com essas características não proporciona uma visão dinâmica da informação, não permite saber como ela era, apenas como ela é, fazendo com que seja mostrado apenas um instantâneo da realidade. Já os bancos de dados temporais fornecem um modo de tratar os dados e armazenar sua história. É uma maneira de analisar a evolução de um conjunto de dados, tentar estabelecer padrões de comportamento e assim fazer análises que apontem para um caminho no futuro. Existem estudos teóricos sobre bancos de dados temporais, mas até que ponto a teoria tem sido implementada? Quais os recursos que temos disponíveis hoje para tratar dados associados ao tempo? Essas questões merecem ser respondidas e é isso que pretendo fazer neste trabalho tomando como base dois bancos de dados conhecidos: o Oracle e o PostgreSQL 1.3 HIPÓTESES Os bancos de dados temporais são objeto de estudo, mas não há implementação dessa teoria na prática, o que pretendo mostrar através do estudo de dois SGBDs conhecidos: o Oracle e o PostgreSQL

13 METODOLOGIA O trabalho será desenvolvido a partir de pesquisa bibliográfica envolvendo o tema proposto e do estudo da documentação dos dois SGBDs escolhidos para a pesquisa (Oracle e PostgreSQL), permitindo a comparação e o traçado de um panorama atualizado do que está sendo aplicado na prática em relação ao tratamento de aspectos temporais dos dados. 1.5 CRONOGRAMA PROPOSTO MESES/SEMANAS Etapas Julho Agosto Setembro Etapa 1 Etapa 2 Etapa 3 Etapa 4 Etapa 5 Etapa 1 - Revisão Bibliográfica Leitura de livros e artigos sobre o tema da monografia. Etapa 2 Estudo dos SGBDs Oracle e PostgreSQL Estudo de manuais, guias de referência, ou qualquer outro material disponível sobre tais sistemas gerenciadores de bancos de dados. Etapa 3 - Redação Preliminar Redação do texto da monografia.

14 13 Etapa 4 - Redação Final Conclusão e revisão do texto. Etapa 5 Apresentação do trabalho Apresentação do trabalho.

15 14 2 FUNDAMENTAÇÃO TEÓRICA Um sistema de banco de dados é um sistema que através do computador manipula e organiza registros, tornando-os disponíveis ao usuário. (DATE, 1990, p. 2). Ele permite ao usuário a realização de diversas operações sobre esses registros, tais como a consulta, a atualização de valores, a remoção e a inserção de novos registros. Normalmente um sistema de banco de dados contém apenas a versão mais atualizada de cada um dos registros armazenados. Os dados antigos são sobrescritos através das operações de atualização, fazendo com que o banco de dados represente a realidade capturada por ele como um instantâneo. Tomemos como exemplo a tabela de clientes abaixo. Uma simples alteração no endereço do cliente 'João da Silva' faria com que seu endereço anterior fosse perdido. TABELA 1-TABELA DE CLIENTES id_cliente nome_cliente endereco_cliente 1 João da Silva Rua Alpha, Janete Cunha Rua Gama, 456 Depois da alteração temos a mesma tabela atualizada, mas com o endereço antigo de 'João da Silva' descartado: TABELA 2 - TABELA DE CLIENTES ALTERADA id_cliente nome_cliente endereco_cliente 1 João da Silva Rua Beta, Janete Cunha Rua Gama, 456 Os bancos de dados temporais são diferentes porque não tratam apenas dos

16 15 dados, mas agregam o tempo a eles. Os valores antigos são preservados com o auxílio de rótulos temporais que lhes conferem um caráter de informação válida em determinado momento da história. Ainda usando o exemplo anterior, ao alterar o endereço de 'João da Silva' em um banco de dados temporal os resultados poderiam ser os seguintes: TABELA 3 - TABELA DE CLIENTES COM ATRIBUTO TEMPORAL id_cliente nome_cliente endereco_cliente datainsercao_cliente 1 João da Silva Rua Alpha, /08/ João da Silva Rua Beta, /06/ Janete Cunha Rua Gama, /02/2006 Pode-se verificar que o mesmo cliente tem agora dois registros, com endereços diferentes e datas de inserção diferentes. O registro com data de inserção mais recente representa o estado corrente armazenado pelo banco. Dessa forma, dados temporais são associados aos dados armazenados, identificando quando a informação foi inserida, ou alterada, ou mesmo qual o seu o tempo de validade. É desejável que o tratamento dos dados temporais seja transparente, ou seja, que o banco de dados manipule os dados temporais automaticamente. Um banco de dados Temporal é aquele que apresenta alguma forma implícita de representação de informações temporais. (EDELWEISS, 1998). A história dos bancos de dados temporais pode ser dividida em três períodos marcantes: de 1956 a 1978 quando houve o desenvolvimento dos modelos conceituais; de 1978 a 1990, onde surgiram várias linguagens de consulta temporal; e de 1988 em diante quando predomina uma preocupação com a implementação e estruturas de armazenamento. (AMO, 1997, p. 2) Seu estudo foi motivado porque há determinadas situações envolvendo dados

17 16 temporais que são difíceis de serem tratadas pelos SGBDS convencionais, mas que são facilmente gerenciados por bancos de dados temporais. Agora segue uma explanação sobre os principais conceitos envolvendo bancos de dados temporais. 1.1 CONCEITOS DE REPRESENTAÇÃO TEMPORAL Os modelos de dados tradicionais apresentam duas dimensões: 1) a dos atributos, 2) a das instâncias dos dados (tuplas). Imaginamos tal representação como dois eixos de um plano. ILUSTRAÇÃO 1 - REPRESENTAÇÃO DOS DADOS EM DUAS DIMENSÕES O tempo é introduzido no banco de dados como uma nova dimensão, levanos a representar os dados com atributos em um eixo, as tuplas em outro e o tempo que age sobre cada uma das tuplas num terceiro eixo, como pode ser visto na figura 2.

18 17 ILUSTRAÇÃO 2 - REPRESENTAÇÃO DOS DADOS COM DIMENSÃO TEMPORAL A dimensão tempo pode ser representada de várias formas, levando-se em consideração alguns aspectos fundamentais: a natureza do tempo, sua estrutura matemática e granulidade. Quanto à natureza, supõe-se que o tempo seja contínuo. Sua representação é isomórfica a uma reta imaginária na qual, tomados quaisquer pontos dois a dois, existem infinitos pontos entre eles. ILUSTRAÇÃO 3 - EIXO TEMPORAL Apesar de sua natureza contínua, ele pode ser visto como discreto para simplificar sua representação. Encará-lo dessa maneira facilita a implementação de

19 18 modelos temporais, por isso, no contexto de bancos de dados costuma-se tratar o tempo como sendo pontual (AMO, 1997), representando pontos discretos numa linha imaginária, isomórfica à reta dos números inteiros. Os intervalos entre os pontos no tempo são de igual duração, indivisíveis e recebem o nome de chronons. Quando o tempo é discreto, os pontos no tempo se dispõem da forma descrita a seguir: variação ponto a ponto: o tempo só é válido em instantes definidos, não sendo considerado nos outros instantes; variação por escada: o tempo permanece constante desde o ponto em que foi definido até o momento em que seja definido outro valor no tempo. Geralmente corresponde a uma variação baseada em eventos; variação temporal definida por uma função: uma função é usada para definir valores, onde eles não são expressamente definidos, através de interpolação. A granulidade do tempo refere-se às unidades usadas na contagem do tempo. Por exemplo, ela pode ser feita em anos, meses, dias ou horas, ou ainda, todos eles. Cada partícula desse sistema para contagem do tempo corresponde à duração de um chronon (EDELWEISS, 1998). 2.1 ELEMENTOS PRIMITIVOS DA REPRESENTAÇÃO TEMPORAL Instante no tempo A definição de instante no tempo depende da variação temporal adotada. Se o tempo for contínuo o instante no tempo é um valor infinitesimal na reta temporal.

20 19 Essa representação é análoga à dos números reais, isso significa que, entre dois instantes quaisquer no tempo, existe um número infinito de pontos. Caso seja considerada a variação discreta no tempo um instante é representado por um chronon. Um evento ocorre num tempo t, se ocorre em qualquer tempo durante o chronon representado por t. Por exemplo, se o chronon utilizado em um banco de dados tem duração de um dia, toda alteração realizada a qualquer hora do dia 02 de maio será gravada como relacionada à data 02 de maio. Para o sistema não interessaria a hora em que ocorreu a alteração, mas o dia em que ela ocorreu. Na variação do tempo de forma linear temos também um instante especial: agora, ou now. Ele representa o instante presente e está em constante movimento na reta temporal. Qualquer instante anterior ao agora é considerado passado e qualquer instante posterior, futuro. ILUSTRAÇÃO 3 - INSTANTE AGORA Intervalo temporal Um intervalo temporal é um conjunto de pontos no tempo consecutivos. Na variação contínua, cada intervalo tem um número infinito de instantes. Na variação discreta há um número finito de pontos dentro de cada intervalo temporal. Sua duração é especificada através de seus limites superior e inferior, os quais podem

21 20 ou não estar incluídos no intervalo. ILUSTRAÇÃO 4 - INTERVALO TEMPORAL No intervalo acima os limites inferior e superior são, respectivamente, os instantes A e B do eixo temporal. Eles podem, ou não estar fazer parte do intervalo temporal. Quando um dos pontos que delimitam o intervalo é o instante agora tem-se um intervalo especial, cuja duração varia com o passar do tempo. Intervalos temporais podem ser representados da seguinte maneira: [A, B], onde A é o limite inferior e B o limite superior. O próprio eixo temporal pode ser considerado um intervalo de tempo, representado por [<<, >>] onde os símbolos << e >> representam o início e o fim da contagem do tempo, respectivamente. Um intervalo temporal permite representar uma certa quantidade de pontos consecutivos no tempo, ou mesmo um instante no tempo. No caso do intervalo [A, B], se o instante A for igual ao instante B ocorre um intervalo que equivale a um ponto no tempo. Assim, chega-se a conclusão que, para qualquer intervalo temporal uma das duas relações a seguir tem que ser verdadeira envolvendo os instantes A e B: A < B ou A = B. Através dos operadores first e last podemos extrair o primeiro e último elemento de um intervalo (que é totalmente ordenado pela relação before).

22 21 Seja I, um intervalo de tempo e I T, então: first ( I ) é o elemento t pertence a I tal que, para todo t' pertence a I : t BEFORE t' v t = t' last ( I ) é o elemento t pertence a I tal que, para todo t' pertence a I : t' BEFORE t v t' = t (EDELWEISS, 1998) Elemento temporal Supondo que exista um conjunto formado por intervalos temporais, a esse conjunto damos o nome de elemento temporal. Ele é uma união finita de intervalos no tempo, que podem ser disjuntos. Um exemplo de elemento temporal é visto na figura abaixo. Ela representa o eixo temporal e alguns intervalos temporais, formando um elemento temporal. ILUSTRAÇÃO 5 - ELEMENTO TEMPORAL Os elementos temporais são conjuntos de intervalos temporais e dessa forma(amo) são fechados para as operações de união, interseção e complemento da teoria dos conjuntos. Qualquer uma dessas operações sobre elementos

23 22 temporais produz um outro elemento temporal. Um elemento temporal também é um subconjunto do conjunto de pontos no tempo que formam o eixo temporal, como pode ser visto na figura acima. Em termos de modelagem o elemento temporal é superior ao intervalo temporal, pois facilita a reativação de objetos e simplifica a aplicação do rótulo temporal, pois em determinados casos não há necessidade de fragmentar o objeto em várias tuplas. Tomando como exemplo a tabela 3 percebe-se que, para cada variação da tupla é necessário criar um novo registro que mostre o dado modificado. No caso de uma reativação de cadastro, um elemento temporal pode reduzir a fragmentação. id_funcionario nome_funcionario dataadmissao_funcionario datademissao_funcionario 1 João da Silva 04/01/ /08/ João da Silva 27/02/2006 agora 2 Janete Cunha 11/02/2006 agora Na tabela acima, existem duas tuplas para o funcionário João da Silva, que representam dois períodos em que esteve à serviço de uma determinada organização. A união dos dois períodos de contratação resulta num conjunto que possui dois intervalos temporais. C ={ [04/01/2005, 12/08/2005], [27/02/2006, agora] } O conjunto C dos períodos de contratação é justamente um elemento temporal. Se a tabela for representada utilizando os conceitos de intervalo temporal e elemento temporal tem-se reduzida a fragmentação das tuplas relacionadas ao funcionário João da Silva para apenas uma, que contém todos os períodos de contratação.

24 23 TABELA 4 - TABELA DE FUNCIONÁRIOS COM ELEMENTO TEMPORAL id_funcionario nome_funcionario periodocontratacao_funcionario 1 João da Silva [04/01/2005, 12/08/2005], [27/02/2006, agora] 2 Janete Cunha [11/02/2006, agora] Duração temporal A duração temporal também é uma primitiva temporal. Ela é fixa ou variável, dependendo do que se quer representar. Um caso em que ela é fixa é a duração de uma hora que é sempre de 60 minutos. Já a duração de um mês pode variar entre 28, 29, 30 e 31 dias Fluxo do tempo A dimensão temporal é composta por um conjunto de pontos consecutivos no tempo ao qual denominamos eixo temporal. (EDELWEISS, 1998). O fluxo do do tempo pode, no entanto, ser interpretado de várias maneiras. Quando afirma-se que o tempo flui linearmente significa que há uma total ordenação entre dois pontos quaisquer. Este é o caso mais simples de fluxo temporal. O tempo pode ser ramificado (branching time), no qual cada ponto no tempo tem múltiplos sucessores ou antecessores imediatos. O tempo ramificado no futuro pode denotar múltiplos desenvolvimentos futuros do domínio, representando a realidade de forma bastante fiel. O tempo pode fluir de maneira cíclica, avançando e retornando ao ponto inicial, tal qual os dias da semana, ou as estações do ano.

25 TEMPO TOTALMENTE ORDENADO O tempo linearmente ordenado pode ser definido através da teoria dos conjuntos. Seja T o conjunto de todos os pontos no tempo. T é um conjunto totalmente ordenado pela relação before. ta, tb:ta, tb T ta tb ta before tb tb before ta A relação before possui as seguintes propriedades para que seja uma relação de ordem estrita total: inflexibilidade, transitividade, assimetria. Inflexibilidade: t :t T t before t transitividade: t a, t b, t c :t a,t b, t c T t a t b t a before t b t b before t a assimetria: t a, t b :t a,t b T t a before t b t b before t a Ela é equivalente à relação < utilizada nos número inteiros Tempo absoluto e tempo relativo O tempo absoluto é específico, definido com uma granulidade determinada e associado a um fato. Por exemplo: João da Silva foi contratado dia 27/08/2006. Neste exemplo tem-se um fato: a contratação de João; tem-se uma granulidade: dia; e, por fim, tem-se um tempo específico. O tempo relativo é válido somente porque outro evento no qual se baseia também é valido. Um exemplo seria o dia das mães. Ele é condicionado ao segundo domingo de maio, ou seja ocorre na data especificada por um evento válido, o segundo domingo do mês de maio.

26 25 Em bancos de dados temporais pode haver tanto o tempo absoluto, quanto o tempo relativo, sendo que o tempo absoluto é mais comum. O tempo relativo existe no caso de restrições temporais, nas quais a validade de um determinado tempo depende de outro Tempo de transação e tempo válido Em bancos de dados temporais podemos definir três conceitos (1) tempo de transação, (2) tempo de validade, (3) tempo definido pelo usuário. O tempo de transação é fornecido pelo SGBD, no momento da inserção ou atualização de algum atributo no banco de dados. Toda entidade presente no banco de dados tem um tempo de transação. Ele representa o tempo em que um fato é válido no banco de dados. Por exemplo, o valor 63 pode ser guardado num banco de dados e ter um tempo de transação associado a ele. Toda vez que esse valor for alterado, ou se um dia for excluído ele deixará de ser válido no banco de dados e o tempo da transação marcará o início e o fim de sua validade no banco. O tempo de validade é o conjunto de instantes em que um fato é verdadeiro na realidade modelada pelo banco de dados. Todo fato tem um tempo de validade por definição, mas nem sempre é preciso armazená-lo por alguns motivos. Por exemplo, ele pode não ser relevante para a aplicação, ou pode não ser conhecido. Ele não pode ser suprido pelo próprio SGBD, mas tem que ser informado pelo usuário. O tempo definido pelo usuário são as informações de tempo dadas explicitamente pelo usuário, ou tratadas pela aplicação.

27 Representação do tempo O tempo pode ser representado de forma explícita em um banco de dados através de um rótulo temporal associado às tuplas. Neste caso todos os valores que foram assumidos por um atributo são armazenados e tratados pelo banco de dados. O tempo é implícito quando tratado através da utilização de uma linguagem de lógica temporal. Utilizando-se formalismos lógicos o tempo é implicitamente armazenado através de operadores temporais. 2.2 CLASSIFICAÇÃO DOS BANCOS DE DADOS TEMPORAIS De acordo com a utilização de tempo de transação ou tempo de validade para essa representação surge essa classificação. Assim, existem algumas categorias de bancos de dados temporais: Instantâneos, de Tempo de Transação, de Tempo de Validade, Bitemporais e Multitemporais. Os bancos de dados Instantâneos correspondem aos bancos de dados convencionais em que não há qualquer mecanismo para tratar os dados temporais de forma implícita. A manipulação de dados temporais é feita de forma explícita através dos programas de aplicação e os dados antigos são sempre sobrepostos por dados novos a cada atualização. Isso significa que serão armazenados somente os dados do presente, ou dados associados a um tempo explicitamente tratado pela aplicação ou usuário. Os bancos de dados de tempo de transação são os que se utilizam do tempo de inserção dos dados no Banco como rótulo temporal. Este tempo de inserção é

28 fornecido pelo próprio SGBD. A alteração do valor de uma propriedade não destrói o valor anteriormente armazenado, mas um novo valor é inserido no banco utilizando o tempo fornecido pelo SGBD. Os bancos de dados de tempo de validade utilizam-se de valores fornecidos pelo usuário e que representam a validade dos dados no mundo real. Segundo Santos os dados antigos não são sobrepostos também (2003, p. 17). 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. (EDELWEISS, Os bancos de dados bitemporais misturam os dois últimos tipos, armazenando o tempo de validade e o tempo de transação. O estado atual do banco de dados é representado pelos dados atualmente válidos. Nele podemos recuperar todos os aspectos passados dos dados. É possível verificar até os valores que eram considerados válidos, mas que foram corrigidos. Os bancos de dados multitemporais utilizam-se ora do tempo de validade, ora do tempo de transação ou de ambos, fazendo com que ele seja uma mistura dos três últimos tipos vistos anteriormente. 2.3 CONSULTAS A BANCOS DE DADOS TEMPORAIS As linguagens de consultas utilizadas em bancos de dados temporais têm que permitir a recuperação de informações no âmbito temporal ou não, ou seja de todas as informações armazenadas no Banco de dados. Elas permitem: fornecer valores de propriedades de domínio temporal. Exemplo: a data de nascimento de uma pessoa.

29 28 se referir a um determinado instante ou intervalo temporal. Exemplo: Qual o valor do salário no dia 01/01/2006. recuperar valores com base em restrições temporais. Exemplo: Recuperar todos os valores do salário no dia 01/01/2006. fornecer informações temporais: Exemplo: Qual a data em que foi alterado o salário de um funcionário. Através da lógica temporal as linguagens de consulta a bancos de dados são enriquecidas para manipular a dimensão temporal e inferir valores não explicitamente armazenados Problemas no processamento de consultas temporais Há um grande volume de dados armazenados quando se trata de bancos de dados temporais, uma vez que as informações antigas não são descartadas. Isso torna a indexação mais complicada e pode interferir na velocidade de processamento das consultas. Isso faz com que métodos de indexação alternativos sejam necessários. Outra coisa é a necessidade de manipular informações incompletas. Os tipos de consultas que podem ser realizadas em bancos de dados temporais dependem do tipo de banco de dados. Os bancos de dados instantâneos não dão suporte a consultas temporais. Os bancos de dados de tempo de transação permitem consultas a dados atualizados e dados inseridos anteriormente. O tempo de transação está

30 29 implicitamente associado aos dados e é ele que identifica os dados requeridos numa consulta. Nos bancos de dados de tempo de validade, podem ser recuperadas informações referentes ao presente, ao passado e previsões para o futuro, dos dados armazenados. Os bancos de dados bitemporais misturam os conceitos dos bancos de dados de tempo de transação e de validade, permitindo consultas tanto ao tempo fornecido pelo SGBD, quanto ao tempo fornecido pelo usuário. O conjunto de todos os dados coligidos neste tipo de bancos de dados representa sua história. É possível portanto recuperar todos os aspectos da informação, presentes, passados e futuros. Os elementos componentes de uma consulta a bancos de dados são um componente de seleção, que representa a entrada dos dados e os parâmetros para a consulta, e um componente de saída (projeção). Em consultas envolvendo dados temporais é utilizada lógica temporal. Os operadores utilizados para tratar de valores temporais são: antes, depois, durante (operadores de comparação), agora, inicio_de_intervalo, distancia_temporal (operadores que retornam valores temporais). As condições podem envolver valores de dados e valores temporais associados aos dados. Existem, portanto, consultas de seleção sobre dados, consultas de seleção temporal e consultas de seleção mista. As consultas de seleção sobre dados não envolvem critérios temporais no componente de seleção. As consultas de seleção temporal envolvem apenas dados temporais no componente de seleção, já as consultas mistas misturam dados e elementos temporais. Analisando o componente de saída verificamos que as saídas podem ser

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

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

Leia mais

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

CICLO DE VIDA DE UM BD

CICLO DE VIDA DE UM BD BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br CICLO DE VIDA DE UM

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Documentação da Ferramenta EMap Edimar Manica

Documentação da Ferramenta EMap Edimar Manica Documentação da Ferramenta EMap Edimar Manica 1. Objetivo A ferramenta EMap (Extrai e Mapeia) tem como objetivo permitir o suporte a consultas temporais, escritas na linguagem de consulta temporal TSQL2,

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

Leia mais

Análise de Ponto de Função

Análise de Ponto de Função Complemento para o Curso Análise de Ponto de Função FUNÇÕES DO TIPO DADO O termo Arquivo não significa um arquivo do sistema operacional, como é comum na área de processamento de dados. Se refere a um

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

TOTVS BA Guia de Customização Linha Logix

TOTVS BA Guia de Customização Linha Logix TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

MODELO RELACIONAL - UFMA

MODELO RELACIONAL - UFMA MODELO RELACIONAL Universidade Federal do Maranhão - UFMA Departamento de Informática Projeto de Banco de Dados Profª.MSc Simara Rocha simararocha@gmail.com/simara@deinf.ufma.br www.deinf.ufma.br/~simara

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Modelo para organização dos dados de um BD. define um conjunto de conceitos para

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. 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

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

MODELO DE DADOS VS ESQUEMA

MODELO DE DADOS VS ESQUEMA MODELO DE DADOS VS ESQUEMA Um modelo de dados é um conjunto de conceitos usados para se descrever dados. Um esquema é uma descrição de uma determinada coleção de dados, descrição essa baseada num certo

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto

Leia mais

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS X SGBD Banco de Dados: Um "banco de dados" pode ser definido como um conjunto de "dados" devidamente

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Oficina. Praça das Três Caixas d Água Porto Velho - RO Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #1 Arquitetura de Banco de Dados Profs. Anderson Rocha e André Santanchè Campinas,

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES BANCO DE DADOS GERENCIAL 1 AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES Integridade de domínio A integridade de domínio é a validade de entradas para uma coluna específica. É possível aplicar a integridade

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc. 1 PROJETO DE BANCO DE DADOS -INTRODUÇÃO Prof. Angelo Augusto Frozza, M.Sc. FUNDAMENTOS Dados Representação de fatos, conceitos ou instruções de maneira formalizada; Informação Significado que pessoas associam

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Síntese das discussões do fórum Livro-APF: Julho/2010

Síntese das discussões do fórum Livro-APF: Julho/2010 Síntese das discussões do fórum Livro-APF: Julho/2010 Assunto: Estimativa de Aumento de Produtividade Data: 01/07/2010 Link: http://br.groups.yahoo.com/group/livro-apf/message/2577 Dúvida: Existe alguma

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência

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

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais