Студопедия

КАТЕГОРИИ:

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


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




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

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 во внутренней базе данных без имени.

 

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


Поделиться:

Дата добавления: 2015-02-09; просмотров: 90; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты