Дедуктивна база даних
Дедуктивна база даних — це система бази даних, яка виконує дедукцію (тобто висновки додаткових фактів) на основі правил і фактів, які зберігаються в (дедуктивній) базі даних. Datalog — це мова, яка зазвичай використовується для визначення фактів, правил та запитів у дедуктивних базах даних. Дедуктивні бази даних є втіленням бажання поєднати логічне програмування з реляційними базами даних для побудови систем, що підтримують потужний формалізм і все ще швидко здатні працювати з гігантськими наборами даних. Дедуктивні бази даних є виразнішими за реляційні бази даних, але поступаються виразністю системам логічного програмування. В останні роки дедуктивні бази даних, такі як Datalog, знайшли нове застосування в інтеграції даних, витягуванні інформації, мережах, аналізі програм, безпеці та хмарних обчисленнях[1].
- Дедуктивні бази даних та логічне програмування
- Дедуктивні бази даних використовують багато понять із логічного програмування; правила і факти, зазначені у журналі даних мови дедуктивних баз даних дуже схожі на ті, що містяться у Prolog. Однак існують важливі відмінності між дедуктивними базами даних та логічним програмуванням:
- Чутливість до порядку і процедурність: у Prolog виконання програми залежить від порядку правил у програмі і від порядку частин цих правил; ці властивості використовуються програмістами для побудови ефективних програм. Однак в мовах баз даних (таких як SQL або Datalog) виконання програми не залежить від порядку правил і фактів.
- Спеціальні предикати: у Prolog програмісти можуть безпосередньо впливати на процедурну оцінку програми за допомогою спеціальних предикатів, таких як cut, які не мають відповідностей у дедуктивних базах даних.
- Функціональні символи: Логічні мови програмування дозволяють функціональним символам створювати складні символи. У дедуктивних базах даних це заборонено.
- Обробка, орієнтована на кортеж: дедуктивні бази даних використовують обробку, орієнтовану на набір, в той час як мови логічного програмування концентруються на одному кортежі за раз.
Примітки
Подальше читання
- Herve Gallaire, Jack Minker, Jean-Marie Nicolas: «Логіка та бази даних: дедуктивний підхід». Видавець: ACM doi: 10.1145 / 356924.356929
- Стефано Чері, Георг Готлоб, Летіція Танка: «Логічне програмування та бази даних» . Видавець: Springer-Verlag ISBN 978-0-387-51728-5
- Рамес Ельмасрі та Шамкант Нават: «Основи систем баз даних» (3-е видання). Видавець: Аддісон-Уеслі Лонгман. ISBN 0-201-54263-3 ISBN 0-201-54263-3