Шаг 88.
Visual Prolog.
Внешние базы данных в Visual Prolog

    На этом шаге мы рассмотрим внешние базы данных в Visual Prolog.

    Система внутренних баз данных Visual Prolog, использующая предикаты asserta, assertz, retract и retrctall, является простой и удобной. Однако она уступает и скорости работы с большими базами данных, отчасти из-за этих соображений была создана система внешних баз данных, с помощью которой можно, например, создать:

    Система внешних баз данных Visual Prolog поддерживает различные типы приложений, и при этом удовлетворяет следующему требованию: недопустима потеря данных при операции обновления (даже в случае прекращения подачи электропитании).

    Предикаты внешних баз данных Visual Prolog обеспечивают следующие возможности:

    Внешняя база данных Visual Prolog состоит из двух компонентов: единиц данных, т. е. термов Visual Prolog, сгруппированных в цепочки, и соответствующих B+ деревьев, которые используются для быстрого доступа к данным.

    Внешние базы данных запоминают данные и цепочках (chain), а не по отдельности, т. е. взаимосвязанные данные запоминаются совместно. Например, одна цепочка может содержать номера частей списков запросов, в то время как другая содержит имена покупателей. Простые операции с базами данных, такие как добавлении новых велечин и замена или обновление данных, не требуют применения В+ деревьев, становятся важными при сортировке базы и поиске конкретного элемента. Структура внешней базы их изображена на рис. 1.


Рис. 1. Структура внешней базы данных Visual Prolog

Соглашения об именовании

    Имена всех стандартных предикатов управления базами данных подчиняются следующим соглашениям:

    Например, с помощью db_delete удаляется база данных, посредством chain_delete - цепочка, a term_delete удаляет терм.

Селекторы внешних баз данных

    Есть возможность поддерживать несколько баз данных открытыми одновременно в памяти и на диске. Используя такую гибкость, можно помещать внешние базы дан ных там, где достигается наилучший компромисс между быстродействием и затрата ми памяти.

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

    Например, следующее объявление декларирует customers и parts селекторами внешних баз данных:

   domains
      db_selector=customers; parts

    На следующем шаге мы рассмотрим цепочки.




Предыдущий шаг Содержание Следующий шаг