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

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

Дедуктивні бази даних та логічне програмування[ред. | ред. код]

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

  • Чутливість до порядку і процедурність: у Prolog виконання програми залежить від порядку правил у програмі і від порядку частин цих правил; ці властивості використовуються програмістами для побудови ефективних програм. Однак в мовах баз даних (таких як SQL або Datalog) виконання програми не залежить від порядку правил і фактів.
  • Спеціальні предикати: у Prolog програмісти можуть безпосередньо впливати на процедурну оцінку програми за допомогою спеціальних предикатів, таких як cut[en], які не мають відповідностей у дедуктивних базах даних.
  • Функціональні символи: Логічні мови програмування дозволяють функціональним символам[en] створювати складні символи. У дедуктивних базах даних це заборонено.
  • Обробка, орієнтована на кортеж: дедуктивні бази даних використовують обробку, орієнтовану на набір, в той час як мови логічного програмування концентруються на одному кортежі за раз.

Примітки[ред. | ред. код]

  1. Datalog and Emerging applications (PDF). Архів оригіналу (PDF) за 22 жовтня 2020. Процитовано 6 грудня 2019.

Подальше читання[ред. | ред. код]