Дедуктивная база данных

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Дедуктивная база данных это система баз данных которая может делать выводы (то есть заключать дополнительные факты) на основе правил и фактов хранящихся в (дедуктивной) базе данных. Datalog это язык, обычно используемый для указания фактов, правил и запросов в дедуктивных базах данных. Дедуктивные базы данных выросли из желания сочетать логическое программирование с реляционной базой данных для построения систем, поддерживающих мощный формализм, и по-прежнему быстры и способны справляться с очень большими наборами данных. Дедуктивные базы данных более экспрессивные, чем реляционные базы данных, но менее экспрессивны чем системы логического программирования. В последние годы дедуктивные базы данных, такие как Datalog, нашли новое применение в интеграции данных, извлечение информации, организации сетей, анализе программ, безопасности и облачных вычислениях.[1] Дедуктивные базы данных и логическое программирование: Дедуктивные базы данных используют большое количество концепций из логического программирования; правила и факты, указанные на языке дедуктивных баз данных. Datalog выглядит очень похоже на те, что в Prolog. Однако важные различия между дедуктивными базами данных и логическим программированием:

  • Чувствительность и процедурность: в Prolog выполнение программы зависит от порядка правил в программе и порядка частей правил; эти свойства используются программистами для создания эффективных программ. Однако на языках баз данных (таких как SQL или Datalog) выполнение программы не зависит от порядка правил и фактов.
  • Специальные предикаты. В Prolog программисты могут непосредственно влиять на процедурные оценки программы с помощью специальных предикатов, таких как cut, это не соответствует в дедуктивных базах данных.
  • Символы функций: языки логического программирования позволяют функциональным символам создавать сложные символы. Это не допускается в дедуктивных базах данных.
  • Кортеж — ориентированная обработка: дедуктивные базы данных используют ориентированную на набор обработку, в то время как языки логического программирования концентрируются на одном кортеже за раз.

Ссылки[править | править код]

  1. Datalog and Emerging applications. Дата обращения: 18 мая 2017. Архивировано 22 октября 2020 года.

Дальнейшее чтение[править | править код]

  • Author: Herve Gallaire, Jack Minker, Jean-Marie Nicolas: Logic and Databases: A Deductive Approach. Publisher: ACM. doi:10.1145/356924.356929
  • Author: Stefano Ceri, Georg Gottlob, Letizia Tanca: Logic Programming and Databases. Publisher: Springer-Verlag. ISBN 978-0-387-51728-5
  • Author: Ramez Elmasri and Shamkant Navathe: Fundamentals of Database Systems (3rd edition). Publisher: Addison-Wesley Longman. ISBN 0-201-54263-3