0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
475 Ansichten23 Seiten
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.
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.
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.
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.
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.