연역 데이터베이스

Deductive database

연역 데이터베이스는 (공여) 데이터베이스에 저장된 규칙사실에 근거하여 추론(즉, 추가 사실의 결론)을 할 수 있는 데이터베이스 시스템이다. 데이터로그는 연역 데이터베이스의 사실, 규칙 및 쿼리를 지정하는 데 일반적으로 사용되는 언어다. 연역적 데이터베이스는 논리 프로그래밍관계형 데이터베이스와 결합하여 강력한 형식주의를 지원하고 여전히 빠르고 대규모 데이터셋을 처리할 수 있는 시스템을 구축하고자 하는 열망에서 성장했다. 연역적 데이터베이스는 관계적 데이터베이스보다는 표현력이 뛰어나지만 논리 프로그래밍 시스템보다는 표현력이 떨어진다. 최근 데이터로그와 같은 연역적 데이터베이스는 데이터 통합, 정보 추출, 네트워킹, 프로그램 분석, 보안, 클라우드 컴퓨팅에서 새로운 응용 프로그램을 발견했다.[1]

연역 데이터베이스는 논리 프로그래밍에서 많은 개념을 재사용한다. 연역 데이터베이스 언어 Datalog에 명시된 규칙과 사실들은 Prolog에 있는 것과 매우 유사하다. 연역적 데이터베이스와 논리 프로그래밍의 중요한 차이점:

  • 민감도 및 절차성 순서: Prolog에서 프로그램 실행은 프로그램의 규칙 순서와 규칙의 일부 순서에 따라 달라진다. 이러한 속성은 효율적인 프로그램을 구축하기 위해 프로그래머에 의해 사용된다. 그러나 데이터베이스 언어(예: SQL 또는 데이터로그)에서 프로그램 실행은 규칙 및 사실의 순서와 무관하다.
  • 특수 술어: 프롤로그에서 프로그래머는 과 같은 특수 술어를 사용하는 프로그램의 절차적 평가에 직접적인 영향을 줄 수 있으며, 이는 연역적 데이터베이스에 대응성이 없다.
  • 함수 기호: 논리 프로그래밍 언어는 함수 기호가 복잡한 기호를 작성할 수 있도록 허용한다. 이것은 연역 데이터베이스에서는 허용되지 않는다.
  • 튜플 지향 처리: 연역 데이터베이스는 세트 지향 처리를 사용하는 반면 논리 프로그래밍 언어는 한 번에 하나의 튜플에 집중한다.

참조

추가 읽기

  • 작가: Herve Gallaire, Jack Minker, Jean-Marie Nicolas: 논리데이터베이스: 연역적 접근법. 게시자: ACM. doi:10.1145/356924.356929
  • 저자: Stefano Ceri, Georg Gottlob, Letizia Tanca: Logic Programming and Databases. 출판사: Springer-Verlag. ISBN978-0-387-51728-5
  • 저자: 라메즈 엘마스리와 샴칸트 나바테: 데이터베이스 시스템의 기본 원리(3번째 버전) 게시자: 애디슨 웨슬리 롱맨 ISBN 0-201-54263-3