Pesquisa · Mapa mental

Datalog

A Datalog é uma linguagem de consulta não procedural baseada na linguagem de programação lógica Prolog. Foi baseada na lógica relacional, na qual o usuário descreve as informações desejadas, sem fornecer um procedimento específico para obter essas informações. A linguagem foi originado no início da programação lógica, mas ganhou reconhecimento por volta de 1978, quando Hervé Gallaire e Jack Minker organizaram um workshop sobre bancos de dados lógicos.

Fonte: Wikipédia (pt)Atualizado em 17/07/2026
01

Características da linguagem

Imagem: jepoirrier · BY-SA · Openverse

A Datalog é a princípio, uma linguagem academica de banco de dados, que nunca conseguiu um grande sucesso nos banco de dados comerciais, apesar de suas vantagens em comparação com outras linguagens como SQL: pesquisas recursivas e uma semantica limpa. Mesmo assim, alguns SGDB usaram as ideias criadas para a Datalog. Por exemplo, a SQL99 incluiu a busca recursiva e o algoritmo Magic Set foi implementado no DB2 da IBM. Duas importantes extensões foram feitas para a Datalog, a extensão para permitir a Programação Orientada a Objeto e para disjunção na declaração das cláusulas. Ambas, tiveram um importante impacto na definição da semantica e na execução de um interpretador do Datalog.

02

Estrutura Básica

Imagem: ladyada · BY · Openverse

v1(A,B) :- universidade(A, "Calculo", B), B > 6 Podemos recuperar a nota recebida de fernando, na relação de visualização v1 escrevendo a seguinte consulta: Em geral, precisamos de mais de uma regra para definir uma relação de visualização. Cada regra define um conjunto de tuplas que a relação de visualização precisa conter. O programa Datalog a seguis especifica se o aluno passou de ano: As implementações da Datalog reconhecem atributos de uma relação por posição. Assim, as regras Datalog são compactas, se comparadas com as consultas SQL. Entretanto, quando as relações possuem um grande número de atributos ou quando a ordem ou o número de atributos das relações mudam, a notação posicional pode ser confusa e propensa a erros. Então Podemos criar um atributo nomeado ao invés de atributos possicionais. Então, a regra V1 escrita acima, pode ser definida como:

Sintaxe das regras Datalog

As principais sintaxes da linguagem Datalog são: Uma literal positiva e uma literal negativa tem as respectivas formas onde p é o nome de uma relação com n atributos e t1,t2,..,tn são constantes ou variáveis. e indica que a tupla (v1, v2,...,vn) está na relação p. Na tabela universidade, cada linha representa um fato. As regras são construídas de literais e têm a forma: onde cada Li é uma literal. A literal p(t1,t2,...,tn) é chamado o cabeçalho da regra e o restante das literais constitui o corpo da regra. Um programa Datalog consiste em um conjunto de regras; a ordem em que elas são escritas não tem significância.

03

Segurança

Imagem: CivertanS · BY-SA · Openverse

É possível escrever regras que geram um número infinito de respostas. Considere a regra Como a relação definindo > é infinita, essa regra geraria um número infinito de fatos, cujo cálculo correspondentemente, levaria uma quantidade infinita. Para que essas possibilidades sejam evitadas, as regras Datalog são necessárias satisfazer as seguintes condições de segurança. Se todas as regras em um programa Datalog satisfizerem essas condições de segurança, então, todas as relações de visualização definidas no programa podem ser mostradas como finita, desde que as relações de banco de dados sejam finitas.

Vídeos recomendados

Fontes consultadas

Continue pesquisando