Читайте также:
|
|
Процесс создания базы данных в Турбо-Прологе начинается с этапа проектирования базы. При этом требуется учесть следующие факторы:
1) размер базы данных;
2) организацию элементов базы данных;
3) способы работы и содержания базы данных.
Использование баз данных, располагающихся в оперативной памяти (резидентных), вполне оправданно, если эта БД имеет не слишком большой объем.
Для начала необходимо задать начальные данные и создать саму базу. Затем наступает черед системы управления базой
данных (СУБД), ориентированной на диалог с пользователем. Любая система такого рода должна содержать как минимум такие
возможности:
1) занесение в базу новых данных;
2) удаление данных из базы;
3) выборка и вывод содержащихся в базе данных.
Вполне естественно, что эти возможности хотелось бы реализовать достаточно логичным способом, и так, чтобы они были удобны для пользователя. Эти требования предполагают наличие в системе меню, представляющее пользователю возможность легко ориентироваться при обращении к стандартными функциям СУБД, а также оконной системы, дающей четкое представление о доступных пользователю средствах.
Когда программа запускается на счет, утверждения динамической БД помещаются в оперативной памяти отдельно от "обычных" утверждений. (Это одна из причин того, что предикаты динамической БД описываются в специальном разделе программы.) В этот момент БД полностью готова к работе. В разделе predicates следует описать все другие предикаты, используемые в программе.
Как уже ранее говорилось, в начале работы программы необходимо занести в динамическую БД предназначенную для нее информацию, содержащуюся в статической БД. Эту задачу выполняет предикат assert_database. Предикат clear_database предназначен для решения смежной задачи: очиски БД перед окончанием работы программы. Задачей предиката error является реагирование на ввод неправильной входной информации. Предикат player предназначен для задания начального содержимого базы данных. Когда программа начинает работу, эта информация засылается в утверждения предиката dplayer. Предикат do_mbase является главным правилом (модулем) программы. Он также присутствует в целевом утверждении. Предикат menu определяет правило, осуществляющее интерфейс с пользователем при помощи меню. Предикат process(integer) определяет различные правила, выполняющие все возможные операции над БД.
48. Создание базы данных, располагающейся на диске.
Слабым местом всех БД в ОП компьютера является то, что по мере накопления в ней новых данных сдерживающим фактором становится объем оперативной памяти. Более жизнеспособными являются СУБД, хранящие данные на диске (нерезидентные). Так как объем внешней памяти существенно больше объема оперативной памяти, системы такого класса
пригодны для большинства практических задач.
Турбо-Пролог располагает всеми средствами, необходимыми для поддержания таких значительных по объему информации БД.
(в примере база данных про футбол, отличие от оперативной памяти в том, что базу на диск мы создаем в отдельный файл, который потом пеняем с помощью спец предикатов)
Модуль do_dbase является одновременно целью данной программы. Теперь необходимо описать введенные правила в разделе clauses.
Так же, как и предыдущая программа, do_dbase вызывает модуль menu. В свою очередь menu вызывает один из модулей process; который именно из них вызывается, зависит от значения введенного пользователем числа. Структура модулей do_dbase и menu остается такой же, какой она была в программе "Футбольная база данных". Модули process похожи на одноимен-
ные модули той же программы, с немногочисленными отличиями:
1) process(1) вызывает вспомогательный модуль dbassert,
предназначенный для засылки данных в базу на диск,
2) process(2) вызывает вспомогательный модуль dbretract,
который удаляет данные из базы на диске,
3) process(3) вызывает вспомогательный модуль dbread, осу-
ществляющий выборку данных для выдачи их на экран.
Дата добавления: 2015-01-30; просмотров: 93 | Поможем написать вашу работу | Нарушение авторских прав |
|