Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Базы данных. Внутренняя БД (часто называют динамическая база данных) хранится в текстовом файле, она может быть целиком считана в оперативную память и быстро обработана






Внутренняя БД (часто называют динамическая база данных) хранится в текстовом файле, она может быть целиком считана в оперативную память и быстро обработана. Внутренняя база данных состоит из фактов, которые можно динамически, в процессе выполнения программы, добавлять в базу данных и удалять из нее, сохранять в файле, загружать факты из файла в базу данных. Эти факты могут использовать только предикаты, описанные в разделе описания предикатов базы данных.

DATABASE [ — < имя базы данных > ]

< имя предиката> (< имя домена первого аргумента>,...,

< имя домена n-го аргумента>)

Если раздел описания предикатов базы данных в программе только один, то он может не иметь имени. В этом случае он автоматически получает стандартное имя dbasedom. В случае наличия в программе нескольких разделов описания предикатов базы данных только один из них может быть безымянным. Все остальные должны иметь уникальное имя, которое указывается после названия раздела DATABASE и тире. Когда объявлен раздел описания предикатов базы данных, компилятор внутренне объявляет соответствующий домен с таким же именем, как у этого раздела; это позволяет специальным предикатам обрабатывать факты как термы.

Описание предикатов базы данных совпадает с их описанием в разделе описания предикатов PREDICATES. Однако эти предикаты можно задействовать в качестве параметров встроенных предикатов. Кроме того, факты, использующие эти предикаты, могут добавляться и удаляться во время выполнения программы.

В базе данных могут содержаться только факты, причем факты базы данных не могут содержать свободных переменных.

 

Встроенные предикаты для работы с БД:

consult(DosFileName, InternalDatabaseName)(string, InternalDatabaseName) - (i, i) Загрузка из файла DosFileName внутренней БД с именем InternalDatabaseName, объявленной как DATABASE - InternalDatabaseName.
consult(DosFileName) (string) - (i) Загрузка из файла DosFileName внутренней базы данных, объявленной без имени.
save(DosFileName, InternalDatabaseName) (string, DatabaseName) - (i, i) Сохранение внутренней базы данных, объявленной с именем InternalDatabaseName, в файле DosFileName.
save(DosFileName) (string) - (i) Сохранение внутренней базы данных, объявленной без имени, в файле DosFileName.
assert(Term) (InternalDatabaseDomain) - (i) Добавление терма (факта) Term во внутреннюю базу данных.
asserta(Term) (InternalDatabaseDomain) - (i) Добавление факта Term в начало базы данных.
assertz(Term) (InternalDatabaseDomain) - (i) Добавление факта Term в конец базы данных.
retractall(_, InternalDbaseName) (_, DatabaseName) - (_, i) Удаление всех термов во внутренней базе данных с указанным именем InternalDbaseName.
retractall(Term) (InternalDatabaseDomain) - (_) Удаление всех термов вида Term во внутренней базе данных без имени.

 

Пример. Имеется база данных – список имён. Составить программу, которая будет проводить пополнение БД.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.