Vous êtes sur la page 1sur 23

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

DEPARTAMENTO ACADMICO DE INFORMTICA


CINCIA DA COMPUTAO



RAFAEL DE ANDRADE PEREIRA







BANCO DE DADOS DEDUTIVO












PONTA GROSSA
2014

RAFAEL DE ANDRADE PEREIRA












BANCO DE DADOS DEDUTIVO

Trabalho apresentado para a disciplina de
Gerncia de Banco de Dados ministrada
pela Professora Dra. Simone de Almeida,
do curso de Bacharel em Cincia da
Computao, do Departamento
Acadmico de Informtica da
Universidade Tecnolgica Federal do
Paran Campus Ponta Grossa, como
forma de atividade avaliativa parcial.




PONTA GROSSA
2014

RESUMO

PEREIRA, A. R. Banco de dados dedutivo. 2014. Universidade Tecnolgica
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 eficincia e o poder do gerenciamento de um
banco de dados relacional tradicional, utilizando um modelo conceitual baseado em
lgica matemtica na qual possui um conjunto de regras dedutivas que deriva novas
informaes a partir das relaes bsicas explicitamente inseridas. Podemos ver a
seguir o funcionamento e a comparao desse meio de gerenciamento com o
gerenciamento tradicional.

Palavras-chave: Banco de dados. Dedutivo. Regras. Derivao.


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.









SUMRIO
1 INTRODUO..........................................................................................................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 INTERPRETAO....................................................................................................9
3.1 FATOS....................................................................................................................9
3.2 REGRAS................................................................................................................9
3.3 INTERPRETAO DE REGRA.............................................................................9
3.4 EXEMPLOS..........................................................................................................10
4 MECANISMO DE INFERNCIA.............................................................................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 ATUALIZAES BDD............................................................................................14
6.1 PROLOG..............................................................................................................14
6.1.1 Caracterstica....................................................................................................14
6.2 DATALOG............................................................................................................14
6.3 DEDALO...............................................................................................................15
6.3.1 Caractersticas...................................................................................................15
6.3.2 Gerenciamento BDD.........................................................................................16
6.3.3 Atualizaes......................................................................................................16
6.3.3.1 Restries de integridade...............................................................................16
6.3.3.2 Transaes BDD............................................................................................17
6.3.3.3 Processamento de transao.........................................................................17

7 CONCLUSO.........................................................................................................19
8 REFERNCIAS.......................................................................................................20







6

1 INTRODUO

Um sistema de Bando de Dados Dedutivo possui aptido para realizar tarefas
igualmente um modelo de Banco de Dados Procedural (ou programao
procedimental), com a diferena que fornece um mecanismo de derivao de dados
a partir das relaes bsicas de seus dados explicitamente declarados. Nele utiliza-
se uma linguagem declarativa para especificar regras que descrevem o que se
deseja alcanar e como alcanar, sua consulta baseada em lgica, permitindo que
se expressem consultas recursivas. A diferena est baseada no seu modelo de
execuo, enquanto o tradicional geralmente se preocupa com a derivao da
informao, a segunda as regras so disparadas como efeito colateral de aes
normais do banco de dados, comumente utilizado em Inteligncia Artificial.
Atualmente existem existe diversos estudos sobre bando de dados dedutivos,
porm ele pouco utilizado no mundo real. Trata-se ainda de uma promessa
prspera, mas, no entanto no passa de um conceito meramente terico, com
experimentos e algumas aplicaes efetivas.
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
so utilizadas como ferramenta para programao.

2.1 LINGUAGEM PROCEDURAL

A Linguagem Procedural ou Imperativa tem seu conceito baseado em
estados, definidos por variveis, onde o programador possui um controle maior do
cdigo e precisa se preocupar de como o compilador ou a prpria mquina ir
executar aquele conjunto de instrues.
Programas imperativos so uma sequncia de comandos para o computador
executar. C, Pascal e Cobol so exemplos de linguagens procedural.

2.1.1 Vantagens
Eficincia, Modelagem natural dos problemas do mundo real; domina o
mercado; bem estabelecido.

2.1.2 Desvantagens

Difcil interpretao de cdigos; esforo para desenvolver os meios para o fim;
tende a gerar cdigos confusos.
2.2 LINGUAGEM DECLARATIVA
A Linguagem Declarativa tem seu conceito baseado em lgica ou
programao restritiva, aquela em que o programador oferece apenas as tarefas a
serem realizadas. No existe a preocupao de detalhar como essa tarefa ser
realizada. Na linguagem declarativa em geral, no so necessrias tantas linhas de
cdigos para definir uma tarefa. No dizemos como, mas sim o que fazer, e o
computador decide a melhor soluo.
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 so exemplos de linguagens
declarativas.

2.2.1 Vantagens
Facilidade de acesso a banco de dados; Converso de objetos complexos
(Pessoa, Empregado) por Binding para trafegar pela rede; programas menores; mais
amigvel para novos programadores.

2.2.2 Desvantagens

Ilegilidade do cdigo (Quando usada de forma funcional).
9

3 INTERPRETAO
Podemos definir interpretao de maneira especificar as combinaes de
argumentos para tornar o predicado verdadeiro e determinar todas as outras
combinaes para tornar o predicado falso
Uma interpretao chamada de modelo para um conjunto de regras se
estas regras so sempre verdade, isto mesmo que os valores dos predicados
destas regras sejam alterados, as regras continuam sendo verdade. Especificar as
combinaes de argumentos para tornar o predicado verdadeiro e determinar todas
as outras combinaes para tornar o predicado falso.

3.1 FATOS

So especificados de forma similar s relaes, exceto pelos atributos que
no precisam ser especificados

3.2 REGRAS

Similares s vises das relaes. Retornam relaes virtuais que no so
atualmente armazenadas, mas podem ser formadas condies aplicadas com
mecanismos de inferncia baseados nas especificaes das regras.

3.3 INTERPRETAO DE REGRA

um procedimento computacional que fornece uma interpretao
computacional do significado das regras. Existem duas alternativas para
interpretao de regras:

Baseadas em Provas:
Os fatos e as regras so considerados assertivas verdadeiras ou
axiomas
Os fatos so axiomas assumidos como verdadeiros
As regras so chamadas axiomas dedutivos, uma vez que elas podem
ser usadas para deduzir novos fatos
10


Baseada em Modelo:
Dado um domnio finito de valores constantes, cada combinao
possvel de valores associada a um predicado como argumento
Deve-se determinar se o predicado verdadeiro ou falso. Em geral,
suficiente indicar as combinaes verdadeiras (fatos) e afirmar que todas as outras
so falsas.
Este processo chamado de interpretao
O conjunto de fatos conhecidos da BD e de fatos derivados compe o
modelo

3.4 EXEMPLOS

Fatos
Joo filho de Andr
Marcos irmo de Andr

Regras
Joo no tem irmos
Joo no tem primos

Deduo
Marcos tio solteiro de Andr

11

4 MECANISMO DE INFERNCIA

Existem dois principais tipos de mecanismos de inferncia, o Botton-up ou
encadeamento para frente e o Top-Down ou encadeamento para trs.

4.1 BOTTON-UP

Realiza interpretao de regras baseada em modelo. Mquina de inferncia
inicia com os fatos e aplica as regras para gerar novos fatos.

4.2 TOP-DOWN

Realiza interpretao de regras baseada em prova. Mquina de inferncia
inicia com o objetivo da consulta e tenta achar combinaes de variveis de fatos
vlidos no banco de dados.
4.3 BOTTON-UP VS TOP-DOWN
Botton-UP: Requer mais espao de armazenamento; requer reprocessamento
na ocorrncia de atualizaes.
Top-Down: Computacionalmente mais complexo; requer maior tempo de
resposta para processamento de consultas.
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 combinao de programao declarativa
e imperativa.
Um programa declarativo CORAL pode ser organizado como uma coleo
para interagir mdulos. CORAL suporta uma ampla gama de estratgias de
avaliao, e automaticamente escolhe uma estratgia eficiente para cada mdulo do
programa. Os usurios podem guiar a otimizao da consulta, selecionando a partir
de uma ampla gama de opes de controle. Um alto grau de extensibilidade
fornecida, permitindo que os programadores C++ para usar a estrutura de classes
de C++ para aumentar a implementao CORAL.
CORAL fornece suporte para dados de memria principal e, usando o
gerenciador de armazenamento EXODUS, os dados do disco residente.
Apresentamos uma viso abrangente do sistema a partir de objetivos gerais de
design, a linguagem, e da arquitetura, a interfaces de linguagem e detalhes de
implementao.

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
domnio da engenharia de software e domnios afins.

ConceptBase combina as seguintes caractersticas:

Conceitos de orientao a objetos como classes e herana
Regras dedutivas avaliadas por um motor de registro de dados
Regras ativas em conformidade com a condio de evento de ao
(ECA) paradigma
13

Definies de funes recursivas
Metamodeling com arbitrariamente muitos nveis de abstrao
(metaclasses, metaclasses meta)
14

6 ATUALIZAES 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
bsicos, contidos nas relaes base, que foram explicitamente inseridos;
Banco de Dados Intensional (BDI): Formado pelas informaes
contidas nas relaes derivadas, deduzidas pela aplicao das regras dedutivas
sobre o BDE.
O estado do banco em um BDD formado no somente pelo contedo das
relaes bsicas, mas tambm pelos dados implcitos derivados do BDE atravs das
regras dedutivas. As caractersticas dos sistemas dedutivos, como a capacidade de
responder a consultas recursivas, a linguagem de consulta declarativa e a deduo
de novas informaes, permitem que eles realizem tarefas no suportadas por
bancos convencionais.

6.1 PROLOG
Prolog (Programmation en Logique) uma linguagem de programao
baseada em Lgica Matemtica. Criada em meados de 1972 por Alain Colmerauer e
Philippe Roussel baseados no conceito de Robert Kowalski da interpretao
procedimental das clusulas de Horn. uma linguagem que est associada com as
reas de inteligncia artificial e a lingstica computacional.
6.1.1 Caracterstica
Por de tratar de uma linguagem declarativa o Prolog no estipula o passo a
passo de como chegar soluo, ele usa um conjunto de base de dados e regras
(relaes lgicas) e a partir disso extra a soluo. Alguns conceitos fundamentais
so unificao, recurso e backtracking.
6.2 DATALOG
15

Devido a uma srie de deficincias apresentadas na linguagem Prolog
quando aplicadas a gerncia de Banco de Dados, entre elas a influncia no
resultado final e a estratgia de avaliao houve a necessidade da definio de uma
nova linguagem. Essa nova linguagem baseada em Prolog e foi batizada com o
nome de Datalog.
O Datalog no possui predicados pr-definidos, negao, disjuno, smbolos
funcionais, operaes aritmticas e operaes de comparao. Nele, a ordem das
regras no tem importncia. Devido a essas restries um banco de dados criados
nas bases dessa linguagem no atende os requisitos impostos pelas aplicaes do
mundo real.
Por esse motivo os bancos de dados dedutivos utilizam em geral extenses
do Datalog puro.

6.3 DEDALO

A linguagem DEDALO busca suprir as deficincias do Datalog puro atravs
da introduo de uma srie de extenses. Utiliza uma linguagem de consulta
declarativa, com poder expressivo maior que o Datalog e a lgebra relacional. Nele
foram introduzidas as funes de negao, funes agregadas, operaes
aritmticas, disjuno, operaes de comparao e operaes de atualizao.
O objetivo da criao da linguagem DEDALO a busca de eficincia em
situaes prticas com eficincia.

6.3.1 Caractersticas

Linguagem de consulta declarativa
Referncia aos atributos pelo seu nome e no por sua posio dentro
da relao;
Raciocnio aproximado atravs de adaptaes da lgica fuzzy para
BDDs;
Mecanismos eficientes para sua manuteno;
Suporta atualizaes sobre relaes derivadas;
Mtodos eficientes para deteco de violaes;
Gera reparos para restries de integridade violadas
16

Permite a utilizao 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 mdulos:
Gerenciador de Regras: Ferramenta utilizada na criao e manuteno
das regras de derivao, que daro origem s relaes derivadas, e na definio e
manuteno das regras de restries de integridade.
Interface Interativa: Ferramenta desenvolvida para processar
solicitaes de consultas ad hoc e solicitaes de atualizao sobre o banco.
Conjunto de componentes Delphi: Novas classes criadas
especificamente para a construo de aplicaes sobre o Dedalo, utilizando o
ambiente de desenvolvimento de aplicaes cliente-servidor do Delphi.
Tradutor Dedalo/SQL-ANSI: Traduz a definio das regras, as
solicitaes de consulta e as solicitaes de atualizao feitas na linguagem Dedalo
para comandos SQL-ANSI, que sero submetidos ao banco de dados servidor.

6.3.3 Atualizaes

Em um sistema de Banco de Dados Dedutivos as relaes derivadas
dependem do contedo das relaes bsicas. Logo o efeito de atualizao de uma
relao bsica deve ser notado nas relaes derivadas e vice-versa.
Existem dois meios para tratamento das relaes derivadas: Uma forma
manter a relaes derivadas virtuais, ou seja, no so armazenadas de fato e so
computadas quando necessrio. Outra forma seria armazenar as relaes
derivadas, ou seja, materializar essas informaes.
Caso o banco de dados esteja materializando as relaes derivadas, ao
atualizar uma relao bsica temos o processo de propagao de atualizaes,
onde as relaes derivadas so automaticamente atualizadas de acordo com a
modificao nas relaes bsicas.

6.3.3.1 Restries de integridade
17

No sistema de bando de dados gerenciados com a linguagem DEDALO,
restries de integridade so aquelas que garantem que os dados tero derivaes
integras, especificadas pelas regras de derivao. A regra representa a restrio
deve expressar uma situao que no deve ocorrer em nenhum estado vlido do
Banco de Dados.
6.3.3.2 Transaes BDD
A execuo de atualizao sobre o banco de dados dedutivo pode
desencadear uma srie de outras operaes. Caso uma alterao seja sobre uma
relao derivada, ser ento desencadeado um conjunto de novas operaes sobre
outras relaes, seja ela bsica ou derivada.
Se a atualizao de uma relao bsica provocar efeitos em uma relao
derivada que esteja materializada, ento ser gerada uma srie de operaes que
se propagaro para a relao derivada materializada.
Caso haja necessidade de reparao por violao de restries de
integridade, operaes de reparos sero executadas, essas tambm podero
desencadear uma propagao de operaes sobre as relaes derivadas.
Esse conjunto de operaes sobre o banco, desencadeadas pela solicitao
de atualizao, formam a transao do BDD. Essas operaes podem ser dividias
em operaes sobre relaes bsicas e operaes sobre relaes derivadas.

6.3.3.3 Processamento de transao
Cada uma das operaes pode dar origem a novas operaes. Por exemplo,
se uma restrio de integridade for violada, podem ser gerados reparos que daro
origem a novas operaes, nas quais podem gerar novas propagaes e assim
sucessivamente. Podemos ento dividir o processamento de transao em cinco
fases:
Execuo da transao original: onde so executadas as solicitaes
de excluso e insero solicitadas pelo usurio;
Execuo das tradues de atualizaes sobre relaes derivadas: onde as
alteraes sobre relaes bsicas que tornam visveis as atualizaes solicitadas
sobre as relaes derivadas so executadas;
18

Propagao das atualizaes para relaes derivadas materializadas;
Verificao das restries de integridade, onde so detectadas possveis
violaes;
Execuo de reparos das restries de integridade violadas.
19

7 CONCLUSO

Por fim, podemos concluir que a utilizao de um Banco de Dados Dedutivo
torna a aplicao muito mais inteligente e poderosa, mas por ser tratar de um
conceito muito mais terico do que prtico ainda seja necessrio experimentos em
diversos fatores distintos, para assim ser comprovada a eficincia em situaes
adversas. Mas se trata de uma rea com grande potencial por se tratar da extenso
do banco de dados relacional explorando a sua maior deficincia: a falta de
expressividade da linguagem de consulta de dados.
20

8 REFERNCIAS
[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.
[BH 94] BHLEN, Michael. Managing Temporal Knowledge in Deductive
Database. Zrich: 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.
Disponvel em http://www.informatik.rwth-aachen.de/I5/CBdoc/cbflyer.html.
[KIE 90] KIERNAN, Grald; 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
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.
Wikipdia A enciclopdia livre, Datalog. Disponvel em:
<http://pt.wikipedia.org/wiki/Datalog>. Acesso em 25 de maio de 2014.
Wikipdia A enciclopdia livre, Prolog. Disponvel em:
<http://pt.wikipedia.org/wiki/Prolog>. Acesso em 25 de maio de 2014.
DIONSIO, Pamella. Gerenciando BDD com Dedalo, TIMASTE. Disponvel em:
<http://www.timaster.com.br/revista/artigos/main_artigo.asp?codigo=988&pag=1>.
Acesso em 26 de maio de 2014.
Wikipdia A enciclopdia livre, Programao Imperativa. Disponvel em:
<http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperativa>. Acesso em
29 de maio de 2014.
Wikipdia A enciclopdia livre, Programao Declarativa. Disponvel em:
<http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_declarativa>. Acesso em
29 de maio de 2014.
Wikipdia A enciclopdia livre, ConceptBase. Disponvel em:
<http://en.wikipedia.org/wiki/ConceptBase>. Acesso em 01 de junho de 2014.
Research, Coral. Disponvel em: <http://research.cs.wisc.edu/coral/>.
Acesso em 03 de junho de 2014.
22

ALMEIDA, Roniere. Banco de dados dedutivo. Disponvel em:
<http://www.devmedia.com.br/banco-de-dados-dedutivo/24912> Acesso em 5 de
junho de 2014.

Vous aimerez peut-être aussi