Banco de Dados Dedutivo
Mauren Louise Sguario Coelho de Andrade
Banco de Dados Dedutivo
 Capacidade
de
definir
regras
(dedutivas)
 Deriva novos dados à partir das
relações básicas, podendo deduzir ou
inferir informações adicional a partir de
fatos que estão armazenados.
 O resultado é um BDD – Banco de
Dados Dedutivos.
Banco de Dados Dedutivo
 Principais problemas
– Linguagem de consulta utilizada é baseada
no Datalog (evolução do Prolog), criada
especificamente para uso com bancos de
dados.
– A forma com que os atributos de uma
relação são referenciados - pela sua posição
e não pelo seu nome - é uma característica
incômoda.
– Este tipo de implementação não permite
que se mantenha a base de dados já
instalada, tendo que convertê-la para o
SGBD sobre o qual o mesmo foi criado.
Banco de Dados Dedutivo
Banco de Dados Dedutivo
 Atualizações
– 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.
Banco de Dados Dedutivo
 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.
 Por isso, aplicações como bases de dados
científicas, controle de tráfego aéreo, análise
exploratória de dados são freqüentemente
citadas como aplicações que encontrariam
grandes vantagens se resolvidas com um BDD.
Banco de Dados Dedutivo
Banco de Dados Dedutivo
 Esclarecendo o Datalog
– Linguagem baseada em lógica para uso
específico em bancos de dados: o Datalog.
– Não
possui
predicados
pré-definidos,
negação, disjunção e símbolos funcionais.
Nele, a ordem das regras não tem
importância.
– Uma regra é avaliada derivando o conjunto
de todas as constantes possíveis que fazem
a cabeça da regra verdadeira e a
interpretação do conjunto de regras fica
baseada na semântica de ponto fixo.
Banco de Dados Dedutivo
 Regras aplicadas repetidamente até um
ponto fixo ser atingido, isto é, até que o
estado do banco não possa ser
modificado pela aplicação de uma
regra.
 Ausência
de
funções,
negação,
disjunção, operações aritméticas e
operações de comparação, simplificam
as formulações teóricas e garantem que
toda derivação será sempre finita.
Banco de Dados Dedutivo
 Tapando os buracos
– Criada a linguagem Dedalo (dedução, dados
e lógica), utilizada pelo BDD de mesmo
nome. Adicionalmente, criaram notações
que permitem referenciar os atributos pelo
seu nome e não por sua posição e
especificar a ordem desejada das tuplas na
relação derivada resultante.
– A linguagem Dedalo permite o raciocínio
aproximado, através de adaptações da
lógica fuzzy para bancos de dados
dedutivos.
Banco de Dados Dedutivo
 Cada relação base do banco de dados
deve possuir um atributo com nome
padronizado cf (confidence factor), cujo
valor varia de 0 a 1 e indica o fator de
certeza da tupla. O Dedalo permite que
se associe a cada regra um fator de
certeza que determina a confiança na
verdade da regra.
Banco de Dados Dedutivo
 Atualizar de olho na segurança
– As
operações
de
atualização
(inserção, exclusão e modificação)
podem ser solicitadas na linguagem
Dedalo utilizando um dos operadores
de atualização providos por ela. Estes
operadores são: ins, para inserções,
del para exclusões e upd para
modificações.
Banco de Dados Dedutivo
 Regras seguras ou Permitidas.
– A segurança de uma regra é garantida por
uma verificação puramente sintática que
decide se uma regra é tratável ou não.
– A regra é dita tratável se na sua avaliação
todas as variáveis estão instanciadas com
constantes.
– Para uma regra ser considerada segura,
todas as variáveis que ocorrem no literal
negativo ou na operação de comparação
devem ocorrer também no literal positivo.
Banco de Dados Dedutivo
 Gerenciando BDD com Dedalo
– Ele é um conjunto de ferramentas
que permitem a utilização de regras
de derivação baseadas em lógica, na
dedução de novas informações à
partir das já existentes. As principais
características do sistema Dedalo
são:
Banco de Dados Dedutivo
 Utiliza linguagem de consulta declarativa;
 Suporta raciocínio aproximado através
de
adaptações da lógica fuzzy para BDDs;
 Suporta relações derivadas materializadas e
possui mecanismos eficientes para sua
manutenção;
 Suporta atualizações sobre relações derivadas,
buscando eliminar o não determinismo através
de uma interação com o projetista da regra no
momento da definição da relação derivada;
Banco de Dados Dedutivo
 Permite
a especificação de restrições de
integridade, utilizando a própria linguagem do
sistema,
com
métodos
eficientes
para
detecção de violações;
 É capaz de gerar reparos para restrições de
integridade violadas, o que permite corrigir
uma transação sem abortá-la;
 Foi construído com uma arquitetura clienteservidor, onde as ferramentas Dedalo são
processos clientes e o servidor é um sistema
de banco de dados relacional.
Banco de Dados Dedutivo
 A comunicação entre os dois é feita via ODBC
(Open Database Connectivity), o que permite
a utilização do Dedalo com qualquer
gerenciador de BD relacional que possua uma
interface ODBC;
 Por ser construído com aplicações clienteservidor Delphi ([BOR 95, BOR 95a, BOR 95b,
RUB 95]), para a qual foram criados novos
componentes, permite ao usuário desenvolver
suas aplicações sobre BDs que utilizam o
Dedalo
através
do
próprio
Delphi.
Banco de Dados Dedutivo
 Arquitetura do sistema
– Os principais BDs relacionais comerciais,
como Oracle, Sybase, Watcom e Interbase,
possuem interface para o ODBC. A
utilização desta arquitetura pelo Dedalo,
permite que ele possa ser utilizado com
uma grande variedade de gerenciadores,
permitindo
também
que
bancos
convencionais possam ser utilizados como
bancos dedutivos.
Download

Mauren - Banco de Dados Dedutivo