Научный журнал
Международный журнал экспериментального образования
ISSN 2618–7159
ИФ РИНЦ = 0,425

ПРИМЕР РАЗРАБОТКИ БАЗ ДАННЫХ С ПОМОЩЬЮ VISUAL PROLOG

Акимова И.В. 1 Стеничкин Е.С. 1
1 ФГОУ ВПО «Пензенский государственный университет»
В данной статье раскрываются возможности построения реляционных баз данных с помощью логического языка программирования Visual Prolog. Описываются основные элементы управления, особенности из создания в выбранной среде программирования. В качестве пример разрабатывается учебная динамическая база данных, содержащая сведения о студентах вуза.
база данных
логический язык программирования
Visual Prolog.
1. Акимова И.В., Губанова О.М. Пример разработки базы данных, отражающей балльно-рейтинговую систему студентов факультета // Успехи современного естествознания. – 2014. – №12-2. – С. 83-85.
2. Акимова И.В., Губанова О.М. Возможности реализации деятельностного подхода при подготовке бакалавров педагогических специальностей профиля «информатика» // Международный журнал прикладных и фундаментальных исследований. – 2013. – № 10-3. – С. 433-436.

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

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

Наша разработка посвящена проектированию структуры и реализации базы данных, содержащей сведения о студентах, в среде программирования Visual Prolog. Разработанная СУБД достаточно функциональная и может быть использована при хранении сведений о фамилиях студентов, группах, в которых они обучаются, результатов прохождения трех контрольных точек по одному из предметов.

В системе Visual Prolog создается проект, в состав которого входят окна, элементы управления, объявления доменов и предикатов. При создании приложений предикаты бывают двух видов: обработчики событий – их согласование вызывается операционной системой при наступлении определенных событий, и «обычные» предикаты, согласование которых вызывает в программе программист.

В Visual Prolog элемент управления (ЭУ) – это дочернее окно, которое не имеет собственных обработчиков события. Предназначение ЭУ заключается в том, чтобы послать родительскому окну сообщение о событии.

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

Дескриптор ЭУ можно получить согласованием предиката win_GetCtlHandle:

ДескрипторЭУ = win_GetCtlHandle (Дескриптор _Родительского _Окна, ИдентификаторЭУ)

при этом идентификатор ЭУ объявляется в поле Constant окна атрибутов ЭУ в процессе вставки в окно этого элемента управления.

В Visual Prolog имеются специальные средства для организации реляционных баз данных. Предикаты баз данных описываются в разделе facts, который должен располагаться в программе перед разделом predicates. Все утверждения с предикатами, описанными в разделе facts, составляют динамическую БД, которая, в отличие от неизменяемой статической БД, являющейся частью кода программы, в процессе программы может меняться, то есть из неё можно удалять любые содержащиеся в ней утверждения, а так же добавлять новые.

Динамическая база данных располагается в оперативной памяти (резидентная БД).

Например, в динамической БД содержатся сведения о студентах ВУЗа с предикатом stud, тогда требуется следующее описание:

facts

dstud(name, group),

где name, group – типы данных, описанные domains.

Разработанное приложение имеет следующий вид (рис. 1).

Для хранения сведений о студентах в программе используются два динамических предиката:

facts – students

stud(symbol,symbol,symbol)

facts – sved

sved(symbol,symbol,symbol,symbol)

Ниже представлено проектирование будущей базы на логическом и физическом уровне (рис. 2, 3).

Их базы данных сохраняются в два файла: baza и baz1. Их структура представлена на рисунке 4.

В приложении реализованы следующие функции:

• Ввод данных о студенте (номер зачетной книжки, фамилия, группа);

• Удаление данных о студенте;

• Удаление данных о группе студентов;

• Вывод данных;

• Вывод данных о студентах определенной группы;

• Заполнение сведений о студентах: баллы за три контрольные точки;

• Подведение итогов: преодолел студент или нет контрольный рубеж (60 баллов).

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

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

%BEGIN win1, idc_ввод_данных _CtlInfo

win_win1_eh(_Win,e_Control(idc_ввод_данных,_CtrlType,_CtrlWin,_CtlInfo),0):-!,

WH = win_GetCtlHandle(_Win, idc_fio),

F = win_GetText(WH),

WH1 = win_GetCtlHandle(_Win, idc_gr),

G = win_GetText(WH1),

WH2 = win_GetCtlHandle(_Win, idc_z),

Z = win_GetText(WH2),

not(stud(Z,_,_)), asserta(stud(Z,F,G)),  !.

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

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

482008.jpg

Рис. 1. Окно приложения

482033.jpg

Рис. 2. Проектирование базы данных на логическом уровне

482059.jpg

Рис. 3. Проектирование базы данных на физическом уровне

482084.jpg

482128.jpg

Рис. 4. Структура фалов с данными

482110.jpg

Рис. 5. Ввод данных


Библиографическая ссылка

Акимова И.В., Стеничкин Е.С. ПРИМЕР РАЗРАБОТКИ БАЗ ДАННЫХ С ПОМОЩЬЮ VISUAL PROLOG // Международный журнал экспериментального образования. – 2015. – № 3-2. – С. 176-179;
URL: https://expeducation.ru/ru/article/view?id=6775 (дата обращения: 29.03.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674