Banco dados lógico (dedutivo)

Post on 20-Jul-2015

131 views 16 download

Transcript of Banco dados lógico (dedutivo)

Banco de Dados

Dedutivo

Banco de Dados

DedutivoOu lógicoOu lógico

Banco de Dados

Dedutivo

Banco de Dados

DedutivoOu lógicoOu lógico

Autor:

Fabiano da Venturafabianodaventura@gmail.com

O que é?

O que é?Capacidade de definir

regras, que são deduzidas

ou inferidas a partir de

fatos contidos em sua

base de dados.

Ou seja...

Ou seja...Especifica regras recursivas,

assim provendo uma

ferramenta para inferir novas

informações baseadas nas

regras especificadas.

Especificações

EspecificaçõesFatos: como relações. O nome dos atributos

não interessa, mas sim, a posição deles na

tupla.

Regras: relações virtuais (similares às visões

relacionais) que não estão armazenadas no

banco mas que podem ser criadas a partir dos

fatos, aplicando o mecanismo de dedução

baseado nas regras.

História

História

rojeto do início da década de 70 com

objetivos associados a inteligência artificial.

O primeiro interpretador surge em 1972

denominado Prolog que posteriormente foi

evoluído para o Datalog.

P

Propósito

PropósitoCapacidade de responder 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.

Aplicações: Bases de dados científicas, controle

de tráfego aéreo, análise exploratória de dados.

Exemplo

ExemploFatossupervisiona(franklin,john).

supervisiona(franklin,ramesh).

supervisiona(franklin,joyce).

supervisiona(jennifer,alicia).

supervisiona(jennifer,ahmad).

supervisiona(james,franklin).

supervisiona(james,jennifer).

Regrassuperior(X.Y) :- supervisiona(X.Y).

Superior(X.Y):- supervisiona(X,Z), superior(Z,Y).

Subordinado(X,Y) :- superior(YX).

DeduçãoSuperior(james, Y).

Superior(james,joyce).

Consulta

ConsultamaiorQue(bruno, maikon).

maiorQue(maikon, fabricio).

maiorQue(maikon, ebara).

maiorQue(roberto, maikon).

maiorQue(fabricio, outro).

maiorQue(A, C) :- maiorQue(A,B), maiorQue(B,C).

maiorQue(bruno,X)?

Prós e Contras

Prós

Prós• Permite descrever consultas mais

sofisticadas que as descritas por meio

de SQL.

• Pode deduzir ou inferir informação a

partir de dados já armazenados.

• A ordem das regras não tem

importância.

Contras

Contras• Forma com que os atributos de uma

relação são referenciados pela posição

e não pelo nome.

• Restrições nas regras Datalog que

limitam o seu poder expressivo, como

a ausência de: funções, disjunção,

operações aritméticas e operações.

Indicação de Softwaree suas licenças

Indicação de Software

• LDLLDLLDLLDL (Logic Data Language): comercial

• NAIL!NAIL!NAIL!NAIL! (Not Another Implementation of Logic):

comercial

• CORALCORALCORALCORAL: comercial

e suas licenças

Benchmarking

Benchmarking

Banco de dados dedutivos podem ser ligados

a banco de dados orientados a objetos pois

estes tentam representar objetos do mundo

real, o que facilita a representação dos fatos

no banco de dados dedutivo, podendo surgir

então a denominação dos DOOD´s (Dedutive

Oriented Object Database).

Conclusão

Por mais que a proposta de um

banco de dados dedutivo nos dados

armazenados seja algo interessante

e promissor, não é muito aplicável

no mundo real. Principalmente pela

limitações e conceitos.

Obrigado!