2.2.1 Раздел описания предикатов внутренней базы данных
Внутренние базы данных так называются потому, что они обрабатываются исключительно в оперативной памяти компьютера.
Внутренняя база данных состоит из фактов, которые можно динамически, в процессе выполнения программы, добавлять в базу данных и удалять из нее, сохранять в файле, загружать факты из файла в базу данных. Эти факты могут использовать только предикаты, описанные в разделе описания предикатов базы данных.
Если раздел описания предикатов базы данных в программе только один, то он может не иметь имени. В этом случае он автоматически получает стандартное имя dbasedom.
Описание предикатов базы данных совпадает с их описанием в разделе описания предикатов predicates.
В базе данных могут содержаться только факты, а не правила вывода, причем факты базы данных не могут содержать свободных переменных. Есть существенное преимущество в использовании таких баз данных. Дело в том, что факты, использующие предикаты, заданные в разделе database, могут добавляться и удаляться во время выполнения программы.
Для добавления фактов во внутреннюю базу данных в нашей ЭС использовались встроенные предикаты asserta и assertz.
Разница между этими предикатами заключается в том, что предикат asserta добавляет факт перед другими фактами (в начало внутренней базы данных), а предикат assertz добавляет факт после других фактов (в конец базы данных).
В качестве параметра у этих предикатов указывается добавляемый факт.
Для удаления фактов из базы данных служат предикат retract.
Предикат retract удаляет из внутренней базы данных первый с начала факт, который может быть отождествлен с его первым параметром.
- 46. Базы данных в прологе. Предикаты динамическое бд.
- Объявление внутренней базы данных
- Раздел базы данных (database).
- Раздел описания внутренней цели
- Раздел описания предикатов внутренней базы данных
- Работа с внутренними базами данных: добавление и удаление фактов из базы данных.
- 3.6.3. Динамические базы данных
- Раздел описания предикатов внутренней базы данных
- 4. Лекция: Язык баз данных sql: предикаты раздела where оператора select