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

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

Дедуктивные базы данных повторно используют многие концепции из логического программирования; правила и факты, указанные в дедуктивном языке баз данных Datalog, очень похожи на таковые в Prolog . Однако важные различия между дедуктивными базами данных и логическим программированием:

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

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

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