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

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL 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 em Ensino de Ciências

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

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

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

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

Implementação de Aspectos Temporais em SGBDs Livres

Implementação de Aspectos Temporais em SGBDs Livres Implementação de Aspectos Temporais em SGBDs Livres Eugênio de Oliveira Simonetto Curso de Sistemas de Informação Centro Universitário Franciscano (UNIFRA) Andradas, 1614 Centro - 97015-032 Santa Maria

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

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

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

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

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

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

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

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

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

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

TEMPTOOL UMA FERRAMENTA PARA A MODELAGEM TEMPORAL DOS DADOS

TEMPTOOL UMA FERRAMENTA PARA A MODELAGEM TEMPORAL DOS DADOS TEMPTOOL UMA FERRAMENTA PARA A MODELAGEM TEMPORAL DOS DADOS Eugênio de O. Simonetto 1, Cristiano R. Moreira, Duncan D. A. Ruiz 2, Luciano C. Ost 1, Glauco B.V.Santos 1 RESUMO O trabalho apresenta uma ferramenta

Leia mais

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

JOEVA CRISTINA DE ANDRADE BANCOS DE DADOS TEMPORAIS: UMA COMPARAÇÃO DE DUAS TÉCNICAS DISTINTAS DE DESENVOLVIMENTO.

JOEVA CRISTINA DE ANDRADE BANCOS DE DADOS TEMPORAIS: UMA COMPARAÇÃO DE DUAS TÉCNICAS DISTINTAS DE DESENVOLVIMENTO. i JOEVA CRISTINA DE ANDRADE BANCOS DE DADOS TEMPORAIS: UMA COMPARAÇÃO DE DUAS TÉCNICAS DISTINTAS DE DESENVOLVIMENTO. Monografia de graduação apresentada ao Departamento de Ciência da Computação da Universidade

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

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

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

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

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição 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 Ingress SQL

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

Tópic i o c s s E s E p s ec e i c a i i a s Gerencia i me m nto t d e D ados e I n I fo f rma m ção Ban a co c s s d e e D ad a os s N ão ã

Tópic i o c s s E s E p s ec e i c a i i a s Gerencia i me m nto t d e D ados e I n I fo f rma m ção Ban a co c s s d e e D ad a os s N ão ã Tópicos Especiais Gerenciamento de Dados e Informação Ana Carolina Salgado Fernando Fonseca Valeria Times Bernadette Lóscio Bancos de Dados Não Banco de Dados Multimídia Banco de Dados Ativos Banco de

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

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

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

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

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

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

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

Instituto Educacional de Castro Tecnologia em Sistemas para Internet

Instituto Educacional de Castro Tecnologia em Sistemas para Internet Instituto Educacional de Castro Tecnologia em Sistemas para Internet Profº. Luciano R. Rocha INSTALAÇÃO E MANUTENÇÃO DE BANCO DE DADOS TIPOS DE DADO Nome Aliases Descrição bigint int8 inteiro de oito bytes

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

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

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

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

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

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o American

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

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

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

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

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

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

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

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

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Laboratório de Banco de Dados II

Laboratório de Banco de Dados II Laboratório de Banco de Dados II Esquema de um banco de dados relacional Em aulas anteriores, vocês implantaram um projeto físico de banco de dados com todos os seus elementos, inclusive tratando do projeto

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados Modelo Entidade- Frederico D. Bortoloti freddb@ltc.ufes.br Modelo Entidade- Proposto por Peter Chen, em 1976 Baseado na percepção do mundo real Consiste de um conjunto de objetos básicos

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

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

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

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

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

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar

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

PROVA ESPECÍFICA Cargo 04

PROVA ESPECÍFICA Cargo 04 10 PROVA ESPECÍFICA Cargo 04 QUESTÃO 21 Analise as seguintes afirmativas: I. Uma das funções de um DBA é gerenciar os mecanismos de segurança de acesso aos dados armazenados em um SGBD (Sistema Gerenciador

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

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

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

Fernando Fonseca Ana Carolina

Fernando Fonseca Ana Carolina Banco de Dados Ciclo de Desenvolvimento de Sistemas de BD Investigação dos Dados Modelagem dos Dados Modelagem Conceitual Projeto do Banco de Dados Fernando Fonseca Ana Carolina Implementação do Banco

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

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

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

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

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

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

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos

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

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

Banco de Dados I. Introdução Conceitos

Banco de Dados I. Introdução Conceitos Banco de Dados I Introdução Conceitos Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Conceitos Fundamentais de Banco de Dados; Características

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO 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

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 04 SGBD Sistemas Gerenciadores de Bancos de Dados Prof. MSc. Edilberto Silva edilms@yahoo.com Conceitos Básicos DADOS: são fatos em sua forma primária. Ex: nome do funcionário,

Leia mais

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados Arquitetura e Terminologia Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Modelo de Dados e Esquemas O modelo de Banco de Dados é como um detalhamento

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

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

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

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Introdução à Banco de Dados

Introdução à Banco de Dados Introdução à Banco de Dados Introdução à Banco de Dados Agenda O que é Banco de Dados Como ele funciona Sistema Gerenciador de Banco de Dados Modelagem de Dados Modelo de dados Entidade-Relacionamento

Leia mais

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas)

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas) Capítulo 6 Regras de Integridade Murilo S. de Camargo (Modificações M.A R. Dantas) 1 Restrições de Integridade ❾ Restrições de Domínio ❾ Integridade Referencial ❾ Asserções ❾ Gatilhos (Triggers) ❾ Dependências

Leia mais

Modelo de Dados. Modelos Conceituais

Modelo de Dados. Modelos Conceituais Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

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

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais