Page 41 - 4800
P. 41
ЛАБОРАТОРНА РОБОТА № 5
СПОСОБИ ПРЕДСТАВЛЕННЯ БАЗ ДАНИХ У ПРОЛОГ-
ПРОГРАМАХ
Мета роботи: Ознайомитися з різними способами організації баз даних.
Одержати навички доступу до окремих цілісних інформаційних елементів баз даних.
5.1 Вступ
Система понять для представлення знань трохи відрізняється від понять для
представлення даних. Разом з тим база знань (БЗ) здатна зберігати дані і як простий
різновид знань у вигляді бази даних (БД). Відповіді на запити, що формує користувач
до бази, реалізуються одним із двох можливих способів:
– повідомлення, що є відповіддю на запит, зберігаються в явному вигляді в БД, і
процес одержання відповіді являє собою виділення із БД підмножини значень, що
задовольняють запит;
– відповідь не існує в явному вигляді в БД і формується в процесі логічного
висновку на підставі наявних даних.
Останній випадок принципово відрізняється від технологій використання БД і
розглядається в рамках представлення знань, тобто інформації, необхідної в процесі
отримання нових фактів. У Пролог-програмах виведення нових фактів можливе на
підставі набору правил, що включаються в програму і являють собою спрощений
варіант БЗ. Представлення знань у вигляді набору правил має такі переваги:
– простота створення і розуміння окремих правил;
– простота механізму логічного висновку.
До недоліків цього способу організації БЗ відноситься її відмінність від
людської структури знань.
У мові Пролог існує кілька різних способів представлення баз даних. До
основних з них варто віднести представлення бази даних як:
1) множина фактів, кожний з яких відповідає цілісному інформаційному
елементові (тобто запису) бази даних;
2) множина фактів, кожний з яких відповідає парі значень атрибут/ключ;
3) список структур, у якому кожна структура відповідає запису бази даних;
4) лінійна рекурсивна структура, де кожна структура відповідає запису бази
даних;
5) рекурсивна структура у вигляді двійкового дерева, у якій кожен вузол дерева
відповідає запису бази даних.
Виберемо предметну область, наприклад, Службові_відносини, у якій
зосереджені взаємозв’язки і відомості про співробітників, місця їхньої роботи і посади,
а також їхні посадові оклади. Для цієї предметної області розглянемо різні варіанти
структурної організації даних з використанням кожного з п’яти названих способів
представлення бази даних. Для кожного з можливих представлень спробуємо
реалізувати запит, що дозволяє знайти всіх співробітників визначеного відділу.
5.2 Представлення відносин у вигляді фактів
Модель будь-якої предметної області може бути представлена сукупністю
об’єктів із вказуванням зв’язків між ними. Використовуючи реляційний підхід до
побудови БД, будь-який об’єкт може бути інтерпретований як відношення, що досить
повно описує деякий аспект предметної області та встановлює функціональну
залежність атрибутів цього відношення від деякого ключового атрибута. Для
розглянутого прикладу таким відношенням може бути
Робота (Ім’я_службовця, Відділ, Посада, Оклад),
де як ключ може розглядатися атрибут – Імя_службовця. Відношення представляє
собою множину кортежів, кожний з яких відповідає визначеному екземплярові об’єкта
предметної області і може бути представлений у вигляді цілісного інформаційного
елемента.
Найпростішим способом представлення бази даних у мові Пролог служить запис
кожного цілісного інформаційного елемента у вигляді факту, наприклад:
41