23
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CIÊNCIA DA COMPUTAÇÃO RAFAEL DE ANDRADE PEREIRA BANCO DE DADOS DEDUTIVO PONTA GROSSA 2014

Banco de Dados Dedutivo

Embed Size (px)

DESCRIPTION

Esse artigo visa apresentar os conceitos do gerenciamento de um Bando de Dados Dedutivo, e suas respectivas linguagens utilizadas. O banco de dados dedutivo foi criado na tentativa de melhorar a eficiência e o poder do gerenciamento de um banco de dados relacional tradicional, utilizando um modelo conceitual baseado em lógica matemática na qual possui um conjunto de regras dedutivas que deriva novas informações a partir das relações básicas explicitamente inseridas. Podemos ver a seguir o funcionamento e a comparação desse meio de gerenciamento com o gerenciamento tradicional.

Citation preview

Page 1: Banco de Dados Dedutivo

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

DEPARTAMENTO ACADÊMICO DE INFORMÁTICA

CIÊNCIA DA COMPUTAÇÃO

RAFAEL DE ANDRADE PEREIRA

BANCO DE DADOS DEDUTIVO

PONTA GROSSA

2014

Page 2: Banco de Dados Dedutivo

RAFAEL DE ANDRADE PEREIRA

BANCO DE DADOS DEDUTIVO

Trabalho apresentado para a disciplina de

Gerência de Banco de Dados ministrada

pela Professora Dra. Simone de Almeida,

do curso de Bacharel em Ciência da

Computação, do Departamento

Acadêmico de Informática da

Universidade Tecnológica Federal do

Paraná – Campus Ponta Grossa, como

forma de atividade avaliativa parcial.

PONTA GROSSA

2014

Page 3: Banco de Dados Dedutivo

RESUMO

PEREIRA, A. R. Banco de dados dedutivo. 2014. Universidade Tecnológica

Federal do Paraná. Ponta Grossa, 2014.

Esse artigo visa apresentar os conceitos do gerenciamento de um Bando de Dados

Dedutivo, e suas respectivas linguagens utilizadas. O banco de dados dedutivo foi

criado na tentativa de melhorar a eficiência e o poder do gerenciamento de um

banco de dados relacional tradicional, utilizando um modelo conceitual baseado em

lógica matemática na qual possui um conjunto de regras dedutivas que deriva novas

informações a partir das relações básicas explicitamente inseridas. Podemos ver a

seguir o funcionamento e a comparação desse meio de gerenciamento com o

gerenciamento tradicional.

Palavras-chave: Banco de dados. Dedutivo. Regras. Derivação.

Page 4: Banco de Dados Dedutivo

ABSTRACT

PEREIRA, A. R. Deductive database. 2014. Federal Technological University of

Paraná. Ponta Grossa, 2014.

This article aims to introduce the concepts of managing a Bunch of Deductive data,

and their respective languages used. The Bank of deductive database was created in

an attempt to improve the efficiency and power of managing a traditional relational

database data using a conceptual model based on mathematical logic in which has a

set of deductive rules that derives new information from the basic relations explicitly

inserted. We can see below the functioning and management of this medium

compared with traditional management.

Keywords: Database. Deductive. Rules. Derivation.

Page 5: Banco de Dados Dedutivo

SUMÁRIO

1 INTRODUÇÃO..........................................................................................................6

2 CONCEITOS.............................................................................................................7

2.1 LINGUAGEM PROCEDURAL................................................................................7

2.1.1 Vantagens...........................................................................................................7

2.1.2 Desvantagens......................................................................................................7

2.2 LINGUAGEM DECLARATIVA................................................................................7

2.2.1 Vantagens...........................................................................................................8

2.2.2 Desvantagens......................................................................................................8

3 INTERPRETAÇÃO....................................................................................................9

3.1 FATOS....................................................................................................................9

3.2 REGRAS................................................................................................................9

3.3 INTERPRETAÇÃO DE REGRA.............................................................................9

3.4 EXEMPLOS..........................................................................................................10

4 MECANISMO DE INFERÊNCIA.............................................................................11

4.1 BOTTON-UP........................................................................................................11

4.2 TOP-DOWN..........................................................................................................11

4.3 BOTTON-UP VS TOP-DOWN..............................................................................11

5 EXEMPLOS DE BANCO DE DADOS DEDUTIVO.................................................12

5.1 CORAL DEDUCTIVE SYSTEM............................................................................12

5.2 CONCEPTBASE DEDUCTIVE SYSTEM.............................................................12

6 ATUALIZAÇÕES BDD............................................................................................14

6.1 PROLOG..............................................................................................................14

6.1.1 Característica....................................................................................................14

6.2 DATALOG............................................................................................................14

6.3 DEDALO...............................................................................................................15

6.3.1 Características...................................................................................................15

6.3.2 Gerenciamento BDD.........................................................................................16

6.3.3 Atualizações......................................................................................................16

6.3.3.1 Restrições de integridade...............................................................................16

6.3.3.2 Transações BDD............................................................................................17

6.3.3.3 Processamento de transação.........................................................................17

Page 6: Banco de Dados Dedutivo

7 CONCLUSÃO.........................................................................................................19

8 REFERÊNCIAS.......................................................................................................20

Page 7: Banco de Dados Dedutivo

6

1 INTRODUÇÃO

Um sistema de Bando de Dados Dedutivo possui aptidão para realizar tarefas

igualmente um modelo de Banco de Dados Procedural (ou programação

procedimental), com a diferença que fornece um mecanismo de derivação de dados

a partir das relações básicas de seus dados explicitamente declarados. Nele utiliza-

se uma linguagem declarativa para especificar regras que descrevem o que se

deseja alcançar e como alcançar, sua consulta é baseada em lógica, permitindo que

se expressem consultas recursivas. A diferença está baseada no seu modelo de

execução, enquanto o tradicional geralmente se preocupa com a derivação da

informação, a segunda as regras são disparadas como efeito colateral de ações

normais do banco de dados, comumente utilizado em Inteligência Artificial.

Atualmente existem existe diversos estudos sobre bando de dados dedutivos,

porém ele é pouco utilizado no mundo real. Trata-se ainda de uma promessa

próspera, mas, no entanto não passa de um conceito meramente teórico, com

experimentos e algumas aplicações efetivas.

Page 8: Banco de Dados Dedutivo

7

2 CONCEITOS

Antes de entendermos o funcionamento de um Sistema de Banco de Dados

dedutivos, temos que conhecermos dois conceitos de linguagem distintos, nas quais

são utilizadas como ferramenta para programação.

2.1 LINGUAGEM PROCEDURAL

A Linguagem Procedural ou Imperativa tem seu conceito é baseado em

estados, definidos por variáveis, onde o programador possui um controle maior do

código e precisa se preocupar de como o compilador ou a própria máquina irá

executar aquele conjunto de instruções.

Programas imperativos são uma sequência de comandos para o computador

executar. C, Pascal e Cobol são exemplos de linguagens procedural.

2.1.1 Vantagens

Eficiência, Modelagem natural dos problemas do mundo real; domina o

mercado; bem estabelecido.

2.1.2 Desvantagens

Difícil interpretação de códigos; esforço para desenvolver os meios para o fim;

tende a gerar códigos confusos.

2.2 LINGUAGEM DECLARATIVA

A Linguagem Declarativa tem seu conceito baseado em lógica ou

programação restritiva, é aquela em que o programador oferece apenas as tarefas a

serem realizadas. Não existe a preocupação de detalhar como essa tarefa será

realizada. Na linguagem declarativa em geral, não são necessárias tantas linhas de

códigos para definir uma tarefa. Não dizemos “como”, mas sim “o que” fazer, e o

computador decide a melhor solução.

Page 9: Banco de Dados Dedutivo

8

Podemos resumir a linguagem declarativa como uma linguagem na qual você

descreve a meta de uma tarefa, mas sem se preocupar integralmente sobre a

maneira que ela é atingida. HTML, SQL e Prolog são exemplos de linguagens

declarativas.

2.2.1 Vantagens

Facilidade de acesso a banco de dados; Conversão de objetos complexos

(Pessoa, Empregado) por Binding para trafegar pela rede; programas menores; mais

amigável para novos programadores.

2.2.2 Desvantagens

Ilegilidade do código (Quando usada de forma funcional).

Page 10: Banco de Dados Dedutivo

9

3 INTERPRETAÇÃO

Podemos definir interpretação de maneira á especificar as combinações de

argumentos para tornar o predicado verdadeiro e determinar todas as outras

combinações para tornar o predicado falso

Uma interpretação é chamada de modelo para um conjunto de regras se

estas regras são sempre verdade, isto é mesmo que os valores dos predicados

destas regras sejam alterados, as regras continuam sendo verdade. Especificar as

combinações de argumentos para tornar o predicado verdadeiro e determinar todas

as outras combinações para tornar o predicado falso.

3.1 FATOS

São especificados de forma similar às relações, exceto pelos atributos que

não precisam ser especificados

3.2 REGRAS

Similares às visões das relações. Retornam relações virtuais que não são

atualmente armazenadas, mas podem ser formadas condições aplicadas com

mecanismos de inferência baseados nas especificações das regras.

3.3 INTERPRETAÇÃO DE REGRA

É um procedimento computacional que fornece uma interpretação

computacional do significado das regras. Existem duas alternativas para

interpretação de regras:

Baseadas em Provas:

• Os fatos e as regras são considerados assertivas verdadeiras ou

axiomas

• Os fatos são axiomas assumidos como verdadeiros

• As regras são chamadas axiomas dedutivos, uma vez que elas podem

ser usadas para deduzir novos fatos

Page 11: Banco de Dados Dedutivo

10

Baseada em Modelo:

• Dado um domínio finito de valores constantes, cada combinação

possível de valores é associada a um predicado como argumento

• Deve-se determinar se o predicado é verdadeiro ou falso. Em geral, é

suficiente indicar as combinações verdadeiras (fatos) e afirmar que todas as outras

são falsas.

• Este processo é chamado de interpretação

• O conjunto de fatos conhecidos da BD e de fatos derivados compõe o

modelo

3.4 EXEMPLOS

Fatos

• João é filho de André

• Marcos é irmão de André

Regras

• João não tem irmãos

• João não tem primos

Dedução

• Marcos é tio solteiro de André

Page 12: Banco de Dados Dedutivo

11

4 MECANISMO DE INFERÊNCIA

Existem dois principais tipos de mecanismos de inferência, o Botton-up ou

encadeamento para frente e o Top-Down ou encadeamento para trás.

4.1 BOTTON-UP

Realiza interpretação de regras baseada em modelo. Máquina de inferência

inicia com os fatos e aplica as regras para gerar novos fatos.

4.2 TOP-DOWN

Realiza interpretação de regras baseada em prova. Máquina de inferência

inicia com o objetivo da consulta e tenta achar combinações de variáveis de fatos

válidos no banco de dados.

4.3 BOTTON-UP VS TOP-DOWN

Botton-UP: Requer mais espaço de armazenamento; requer reprocessamento

na ocorrência de atualizações.

Top-Down: Computacionalmente mais complexo; requer maior tempo de

resposta para processamento de consultas.

Page 13: Banco de Dados Dedutivo

12

5 EXEMPLOS DE BANCO DE DADOS DEDUTIVO

5.1 CORAL DEDUCTIVE SYSTEM

CORAL é um sistema dedutivo que vem sendo estudado e aprimorado na

Universidade de Wisconsin dos EUA que suporta uma rica linguagem declarativa, e

uma interface para C++, o que permite uma combinação de programação declarativa

e imperativa.

Um programa declarativo CORAL pode ser organizado como uma coleção

para interagir módulos. CORAL suporta uma ampla gama de estratégias de

avaliação, e automaticamente escolhe uma estratégia eficiente para cada módulo do

programa. Os usuários podem guiar a otimização da consulta, selecionando a partir

de uma ampla gama de opções de controle. Um alto grau de extensibilidade é

fornecida, permitindo que os programadores C++ para usar a estrutura de classes

de C++ para aumentar a implementação CORAL.

CORAL fornece suporte para dados de memória principal e, usando o

gerenciador de armazenamento EXODUS, os dados do disco residente.

Apresentamos uma visão abrangente do sistema a partir de objetivos gerais de

design, a linguagem, e da arquitetura, a interfaces de linguagem e detalhes de

implementação.

5.2 CONCEPTBASE DEDUCTIVE SYSTEM

ConceptBase é um sistema dedutivo e orientada a objeto de gerenciamento

de banco de dados desenvolvido na Universidade de Aachen e da Universidade de

Tilburg. É usado principalmente para a modelagem conceitual e metamodeling no

domínio da engenharia de software e domínios afins.

ConceptBase combina as seguintes características:

• Conceitos de orientação a objetos como classes e herança

• Regras dedutivas avaliadas por um motor de registro de dados

• Regras ativas em conformidade com a condição de evento de ação

(ECA) paradigma

Page 14: Banco de Dados Dedutivo

13

• Definições de funções recursivas

• Metamodeling com arbitrariamente muitos níveis de abstração

(metaclasses, metaclasses meta)

Page 15: Banco de Dados Dedutivo

14

6 ATUALIZAÇÕES BDD

Diferente do Bando de Dados tradicional o BDD requer um tratamento extra,

por esse motivo o gerenciamento de dados é dividido em duas partes:

• Banco de Dados Extensional (BDE): Formado pelo conjunto de fatos

básicos, contidos nas relações base, que foram explicitamente inseridos;

• Banco de Dados Intensional (BDI): Formado pelas informações

contidas nas relações derivadas, deduzidas pela aplicação das regras dedutivas

sobre o BDE.

O estado do banco em um BDD é formado não somente pelo conteúdo das

relações básicas, mas também pelos dados implícitos derivados do BDE através das

regras dedutivas. As características dos sistemas dedutivos, como a capacidade de

responder a consultas recursivas, a linguagem de consulta declarativa e a dedução

de novas informações, permitem que eles realizem tarefas não suportadas por

bancos convencionais.

6.1 PROLOG

Prolog (Programmation en Logique) é uma linguagem de programação

baseada em Lógica Matemática. Criada em meados de 1972 por Alain Colmerauer e

Philippe Roussel baseados no conceito de Robert Kowalski da interpretação

procedimental das cláusulas de Horn. É uma linguagem que está associada com as

áreas de inteligência artificial e a lingüística computacional.

6.1.1 Característica

Por de tratar de uma linguagem declarativa o Prolog não estipula o passo a

passo de como chegar à solução, ele usa um conjunto de base de dados e regras

(relações lógicas) e a partir disso extraí a solução. Alguns conceitos fundamentais

são unificação, recursão e backtracking.

6.2 DATALOG

Page 16: Banco de Dados Dedutivo

15

Devido a uma série de deficiências apresentadas na linguagem Prolog

quando aplicadas a gerência de Banco de Dados, entre elas a influência no

resultado final e a estratégia de avaliação houve a necessidade da definição de uma

nova linguagem. Essa nova linguagem é baseada em Prolog e foi batizada com o

nome de Datalog.

O Datalog não possui predicados pré-definidos, negação, disjunção, símbolos

funcionais, operações aritméticas e operações de comparação. Nele, a ordem das

regras não tem importância. Devido a essas restrições um banco de dados criados

nas bases dessa linguagem não atende os requisitos impostos pelas aplicações do

mundo real.

Por esse motivo os bancos de dados dedutivos utilizam em geral extensões

do Datalog puro.

6.3 DEDALO

A linguagem DEDALO busca suprir as deficiências do Datalog puro através

da introdução de uma série de extensões. Utiliza uma linguagem de consulta

declarativa, com poder expressivo maior que o Datalog e a álgebra relacional. Nele

foram introduzidas as funções de negação, funções agregadas, operações

aritméticas, disjunção, operações de comparação e operações de atualização.

O objetivo da criação da linguagem DEDALO é a busca de eficiência em

situações práticas com eficiência.

6.3.1 Características

• Linguagem de consulta declarativa

• Referência aos atributos pelo seu nome e não por sua posição dentro

da relação;

• Raciocínio aproximado através de adaptações da lógica fuzzy para

BDDs;

• Mecanismos eficientes para sua manutenção;

• Suporta atualizações sobre relações derivadas;

• Métodos eficientes para detecção de violações;

• Gera reparos para restrições de integridade violadas

Page 17: Banco de Dados Dedutivo

16

• Permite a utilização do Dedalo com qualquer gerenciador de BD

relacional que possua uma interface ODBC;

6.3.2 Gerenciamento BDD

Podemos dividir o um sistema Dedalo em quatro módulos:

• Gerenciador de Regras: Ferramenta utilizada na criação e manutenção

das regras de derivação, que darão origem às relações derivadas, e na definição e

manutenção das regras de restrições de integridade.

• Interface Interativa: Ferramenta desenvolvida para processar

solicitações de consultas ad hoc e solicitações de atualização sobre o banco.

• Conjunto de componentes Delphi: Novas classes criadas

especificamente para a construção de aplicações sobre o Dedalo, utilizando o

ambiente de desenvolvimento de aplicações cliente-servidor do Delphi.

• Tradutor Dedalo/SQL-ANSI: Traduz a definição das regras, as

solicitações de consulta e as solicitações de atualização feitas na linguagem Dedalo

para comandos SQL-ANSI, que serão submetidos ao banco de dados servidor.

6.3.3 Atualizações

Em um sistema de Banco de Dados Dedutivos as relações derivadas

dependem do conteúdo das relações básicas. Logo o efeito de atualização de uma

relação básica deve ser notado nas relações derivadas e vice-versa.

Existem dois meios para tratamento das relações derivadas: Uma forma é

manter a relações derivadas virtuais, ou seja, não são armazenadas de fato e são

computadas quando necessário. Outra forma seria armazenar as relações

derivadas, ou seja, materializar essas informações.

Caso o banco de dados esteja materializando as relações derivadas, ao

atualizar uma relação básica temos o processo de propagação de atualizações,

onde as relações derivadas são automaticamente atualizadas de acordo com a

modificação nas relações básicas.

6.3.3.1 Restrições de integridade

Page 18: Banco de Dados Dedutivo

17

No sistema de bando de dados gerenciados com a linguagem DEDALO,

restrições de integridade são aquelas que garantem que os dados terão derivações

integras, especificadas pelas regras de derivação. A regra representa a restrição

deve expressar uma situação que não deve ocorrer em nenhum estado válido do

Banco de Dados.

6.3.3.2 Transações BDD

A execução de atualização sobre o banco de dados dedutivo pode

desencadear uma série de outras operações. Caso uma alteração seja sobre uma

relação derivada, será então desencadeado um conjunto de novas operações sobre

outras relações, seja ela básica ou derivada.

Se a atualização de uma relação básica provocar efeitos em uma relação

derivada que esteja materializada, então será gerada uma série de operações que

se propagarão para a relação derivada materializada.

Caso haja necessidade de reparação por violação de restrições de

integridade, operações de reparos serão executadas, essas também poderão

desencadear uma propagação de operações sobre as relações derivadas.

Esse conjunto de operações sobre o banco, desencadeadas pela solicitação

de atualização, formam a transação do BDD. Essas operações podem ser dividias

em operações sobre relações básicas e operações sobre relações derivadas.

6.3.3.3 Processamento de transação

Cada uma das operações pode dar origem a novas operações. Por exemplo,

se uma restrição de integridade for violada, podem ser gerados reparos que darão

origem a novas operações, nas quais podem gerar novas propagações e assim

sucessivamente. Podemos então dividir o processamento de transação em cinco

fases:

• Execução da transação original: onde são executadas as solicitações

de exclusão e inserção solicitadas pelo usuário;

• Execução das traduções de atualizações sobre relações derivadas: onde as

alterações sobre relações básicas que tornam visíveis as atualizações solicitadas

sobre as relações derivadas são executadas;

Page 19: Banco de Dados Dedutivo

18

• Propagação das atualizações para relações derivadas materializadas;

• Verificação das restrições de integridade, onde são detectadas possíveis

violações;

• Execução de reparos das restrições de integridade violadas.

Page 20: Banco de Dados Dedutivo

19

7 CONCLUSÃO

Por fim, podemos concluir que a utilização de um Banco de Dados Dedutivo

torna a aplicação muito mais inteligente e poderosa, mas por ser tratar de um

conceito muito mais teórico do que prático ainda seja necessário experimentos em

diversos fatores distintos, para assim ser comprovada a eficiência em situações

adversas. Mas se trata de uma área com grande potencial por se tratar da extensão

do banco de dados relacional explorando a sua maior deficiência: a falta de

expressividade da linguagem de consulta de dados.

Page 21: Banco de Dados Dedutivo

20

8 REFERÊNCIAS

[BAR 94] BARJA, Maria L. et al. Na Effective Deductive Object-Oriented Database

Trough Language Integration. In: VLDBCONFERENCE, 20., 1994, Santiago, Chile.

Proceedings...Hove:Morgan-Kaufmann, 1994. p.463- 474.

[BÖH 94] BÖHLEN, Michael. Managing Temporal Knowledge in Deductive

Database. Zürich: Swiss Federal Instituteof Technology, 1994.PhD. Thesis.

[CHI 90] CHIMENTI, D. et al. The LDL System prototype. IEEE Transactions on

Know ledge and Data Engineering, New York,v. 2, n.1, p. 76-90, 1990.

[JAR 94] JARKE, Matthias. Concept Base Tutorial 1994. Aache, Germany.

Disponível em http://www.informatik.rwth-aachen.de/I5/CBdoc/cbflyer.html.

[KIE 90] KIERNAN, Gérald; MAINDREVILLE, Christophe de; SIMON, Eric. Making

Deductive Database A Pratical Technology: A Step Forward. Rocquen court:

Institut National de Rechercheem Informatique et em Automatique, INRIA-

Rocquencourt, 1990.Janvier 1990. (Rapport de Recherche No. 1153).

[MAR 91] MARTI, R. Research in Deductive Databases et ETH: The LogiQuel

Project. In: DATABASE RESEARCH IN SWITZERLAND,1991. Proceedings...

[S.l.:s.n.], 1991. p.130-143.

[PHI 91] PHIPPS, Geoffrey; DERR, Marcia A.; ROSS, Kenneth A. Glue-Nail: A

Deductive Database System. SIGMOD Records, New York, v.20, 2, p.308-317,

June 1991. Trabalho apresentado na ACMSIGMOD International Conference on

Management of Data, 1991, Denver.

[RAM 92] RAMAKRISHMAN, Raghu; SRIVASTAVA, Divesh; SUDARSHAN,S.

CORAL - Control, Relations and Logic. In: VLDBCONFERENCE, 18., 1992,

Vancouver, Canada. Proceedings...San Mateo:Morgan-Kaufmann, 1992. p. 238 a

250

[SHA 88] SHAO, J.; BELL, D. A.; HULL, M.E.C. LQL: A Unified Language or

Deductive Database Systems. In: IFIP WorkingConferenceonthe Role of Artificial

Page 22: Banco de Dados Dedutivo

21

Intelligence in Databases and Information Systems, 1988, Guangzhou, China.

Proceedings... Amsterdam: North-Holland, 1990. p. 329 – 343.

[VAG 91] VAGHANI, Jayen et al. Design Overview of the Aditi deductive

database system. In: INTERNATIONAL CONFERENCE ONDATA ENGINEERING,

7., 1991, Kobe, Japan. Proceedings...Los Alamitos:IEEE Computer Society Press,

1991. p.240-247.

MOURA, Daniel Cardoso. Bases de dados dedutivas. UNIVERSIDADE DO

PORTO. 2013.

Wikipédia – A enciclopédia livre, Datalog. Disponível em:

<http://pt.wikipedia.org/wiki/Datalog>. Acesso em 25 de maio de 2014.

Wikipédia – A enciclopédia livre, Prolog. Disponível em:

<http://pt.wikipedia.org/wiki/Prolog>. Acesso em 25 de maio de 2014.

DIONÍSIO, Pamella. Gerenciando BDD com Dedalo, TIMASTE. Disponível em:

<http://www.timaster.com.br/revista/artigos/main_artigo.asp?codigo=988&pag=1>.

Acesso em 26 de maio de 2014.

Wikipédia – A enciclopédia livre, Programação Imperativa. Disponível em:

<http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperativa>. Acesso em

29 de maio de 2014.

Wikipédia – A enciclopédia livre, Programação Declarativa. Disponível em:

<http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_declarativa>. Acesso em

29 de maio de 2014.

Wikipédia – A enciclopédia livre, ConceptBase. Disponível em:

<http://en.wikipedia.org/wiki/ConceptBase>. Acesso em 01 de junho de 2014.

Research, Coral. Disponível em: <http://research.cs.wisc.edu/coral/>.

Acesso em 03 de junho de 2014.

Page 23: Banco de Dados Dedutivo

22

ALMEIDA, Roniere. Banco de dados dedutivo. Disponível em:

<http://www.devmedia.com.br/banco-de-dados-dedutivo/24912> Acesso em 5 de

junho de 2014.