Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 63007
Имитационное мо... 58330
Реклама
Сейчас на сайте
Гостей: 4
На сайте нет зарегистрированных пользователей

Пользователей: 13,091
новичок: avegraf
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Информационная система - транспортный парк на Turbo Pascal (База данных)...
Моделирование процесса обработки заданий пакетным режимом работы с квант...
Программа тестирования (тест) - вступительные экзамены (математика, физи...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Базы данных и базы знаний в Турбо Прологе
Базы данных и базы знаний широко используются в совремменных
программных системах, использующих элементы искусственного интел-
лекта, и являются их информационной основой.
База данных (БД) - это совокупность взаимносвязанных данных,
использование которых осуществляется при помощи системы управле-
ния базами данных (СУБД). Информация, содержащаяся в БД, должна
удовлетворять следующим требованиям:
- минимальная избыточность, обеспечивающая сокращение объе-
мов БД и, как следствие, увеличение скорости общения с БД;
- независимость организации данных и способа их хранения
от использующих их программ;
- наличие общих программных средств сопровождения (СУБД);
- ориентация на долговременное хранение и использование.
В узком смысле БД - это совокупность файлов, для обращения
к которым используются средства СУБД. База данных может распо-
лагаться в некоторых файлах. Каждый файл БД состоит из записей,
каждая запись - из различных полей.
По характеру организации информации, различают реляционные
и сетевые базы данных. Сетевые СУБД имеют сетевую организацию:
любая запись старшего уровня может быть связана с данными, кото-
рые относятся к множеству других записей подчиненного уровня
(отношение типа "один - ко - многим"). Обращение к записям осу-
ществляется с помощью указателей.
Реляционные СУБД построены по табличному принципу, основой
которого являются реляционная модель данных и определенные на
ней отношения. Для манипулирования данными используется реля-
ционно полный язык, обеспечивающий все операции над множествами
(объединение, пересечение, разность, прямое произведение) и все
реляционные операции (поиск, перенос, соединение, разделение).
В связи с распространением персональных вычислительных средств
и популярностью СУБД, поддерживающие стандарты БД dBASE и Paradox,
реляционные СУБД в настоящее время получили наибольшее рас-
пространение.
В базе данных различают понятия "отношение"(relation) и
"связь"(association). Термин "отношение" применяется при опре-
делении операций над информацией, а термин "связь" используют
при описании объектов (entity), информационные модели которых
хранятся в БД.
База знаний (БЗ) представляет собой более высокий, по срав-
нению с БД, уровень представления информации. В общем случае БЗ -
это совокупность знаний, относящихся к отдельной предметной
области и представленных формально таким образом, чтобы на их
основе можно было строить рассуждения. Обычно БЗ содержит мно-
жество правил, разработанных специалистом-экспертом. Понятие
БЗ появилось в конце 70-х годов как расширение понятия БД на
информационно-справочные системы, содержащие не только факти-
ческие данные, но и описание общих правил и закономерностей.
Различают статические и динамические БЗ. Статические БЗ
содержат общие для всех задач какой-либо области применения
сведения, которые остаются неизменными при расширении любой
задачи из этой области. Динамические БЗ формируются при реше-
нии отдельной задачи и могут изменяться при переходе к решению
другой задачи.

Базы знаний и базы данных в Турбо-Прологе

Турбо-Пролог (ТП) позволяет работать с БД и БЗ. База данных
в ТП понимается как совокупность файлов. Факты, расположенные в
разделе clauses непосредственно в теле программы, образуют внут-
реннюю (в терминологии ТП - статическую) базу данных. Информация
в этой области не может изменяться в процессе выполнения програм-
мы. Факты, описанные предикатами из области database, образуют
внешнюю (по отношению к телу программы) базу данных, которая в
ТП называется динамической.
Турбо-Пролог обеспечивает работу с БД, находящимися в фай-
лах на внешних носителях. Для взаимодействия с такими данными ТП
имеет ряд стандартных предикатов для чтения и сохранения БД в
файле, для добавления и удаления фактов БД и т.д. Динамическое
формирование правил в ТП не предусмотрено. ТП работает с БД,
находящимися в оперативной памяти. Такие БД называются резидент-
ными.
Совокупность правил (разделы predicates и clauses) может
быть вынесена в отдельный фаул, которому присвоим расширение
RUL. Совместно с DBA-файлами, RUL-файлы будут образовывать базу
знаний Пролог-программы.
Используемая версия языка Пролог (Turbo Prolog version 2.0),
не поддерживает изменение правил в ходе выполнения программы и,
строго говоря, не обеспечивает работу с базами знаний. Однако,
ограничиваясь статическими правилами, можно говорить об органи-
зации базы знаний с использованием Турбо-Пролога.
Для работы в БД в Турбо-Прологе существуют следующие преди-
каты.
1. Загрузка файла БД в оперативную память:
consult (DosFileName),



где DosFileName - Dos-имя файла БД, имеющее тип string. Например,
для загрузки файла БД с именем GEO.DBA необходимо использовать
предикат consult("geo.dba"). После выполнения этого предиката БД
GEO.DBA становится резидентной.
2. Сохранение фактов БД в внешнем файле:
save (DosFileName),



где DosFileName - Dos - имя файла БД в формате string. Для сох-
ранения фактов в файле GEO.DBA следует использовать предикат
save("geo.dba")' после выполнения которого резидентная БД зано-
сится в указанный файл.
3. Занесение новых фактов в резидентную БД осуществляется
при помощи следующих предикатов:
assert(<факт>),
asserta(<факт>),
assertz(<факт>).



Предикаты assert и assertz заносят указанный файл в конец БД,
а предикат assertа - в начало.
Удаление файлов их резидентной БД осуществляется при помощи
предикатов
retract(<факт>),
retractall(<факт>).



Предикат retract удаляет первый из совпавших с указанным факт
резидентной БД. Для удаления последующих фактов необходимо
использовать откат(file). Предикат retractall удаляет все факты,
совпадающие с заданным. Примеры использования:
retract(parent(tom,bob)),
retractall(parent(tom,_)).



В первом случае удаляется единственный факт parent(tom,bob,
а во втором происходит удаление всех фактов для предиката
parent, первый аргумент которых имеет значение tom.
Опубликовал Kest April 02 2009 23:59:55 · 0 Комментариев · 22576 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Цветной Grid
База каталогов ( ...
Prolog Interprete...
Turbo Pascal for ...
Основы Delphi. Пр...
PHP 5 для "чайников"
DragMe [Исходник ...
Интерактивный инт...
AVIwriter
PrevInst
Простой пример ка...
Delphi Russian Kn...
Программа рисует ...
Программа "AutoRu...
Animated Menus
С. Г. Горнаков - ...
Меню проводника в...
32 урока по Delphi
SODA [Исходник на...
Усложнённый кальк...

Топ загрузок
Приложение Клие... 100479
Delphi 7 Enterp... 87860
Converter AMR<-... 20082
GPSS World Stud... 13493
Borland C++Buil... 12055
Borland Delphi ... 8668
Turbo Pascal fo... 7048
Visual Studio 2... 5005
Калькулятор [Ис... 4908
FreeSMS v1.3.1 3545
Случайные статьи
Настройка параметр...
Моноблок Apple iMa...
Реализация обобщен...
услуг Интернета (I...
НЕОДНОЗНАЧНЫЕ ГРУППЫ
Блок конца изображ...
Поиск в упорядочен...
Утверждения
Блок TRANSPER
Создание избыточно...
Определение вторич...
Пример стека как с...
Корневой маршрутиз...
Фил ьтрация группо...
Local object types...
Создание документа
Программирование: ...
Отображение в Dat...
Определение функци...
Работа со списком ...
Создание справочно...
Ещё о защите e-mai...
Решение логических...
Система управления...
Инвестиционный пор...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?