Формирование нескольких баз данных, основная из которых - «Морская волна», страница 2

На главной форме создан Pageframe с вкладками страниц запросов, пронумерован в соответствии с номером в списке заданий. Главная форма содержит CommandButton’ы просмотра всех стран, всех сражений и всех корбалей. Форма редактирования данных о кораблях представлена на рисунке №2.

Описание работы меню

Структура меню приложения показана на рисунке 3.

Рис. 3 Структура меню приложения.

При помощи пункта меню “File” можно вызывать выйти из программы.

Также в меню включен пункт вызова справки “Help”, который вызывает форму About.

 В главное меню включены пункты меню двух типов: Submenu и Command.

Руководство пользователя

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

Работа с формой запросов

            Все запросы в форме выполнены по "шаблону” -  каждый запрос имеет примерно одинаковый вид. Это заголовок, в котором описаны основные моменты данного запроса, поля для выбора и ввода данных (combo box, text box, spinner и проч.), а также кнопка управления (command button) для вызова данного запроса. Рассмотрим выполнение программы на одном из запросов:

Рис. 4 Запрос – найти информацию о количестве орудий и водоизмещении всех линкоров (выбор) заданной страны (выбор или ввод), построенных до 1930 года (выбор или ввод даты)

Итак, данный запрос содержит 3 поля для ввода информации – это класс судна, страна и дата спуска. Введем, к примеру, Малые корабли, Франция, 1942 год и нажмем на кнопку «Вывести»:

Рис. 5 Вызов запроса

Получим следующий результат запроса:

Рис. 6. Результат запроса

Как мы можем посмотреть в базе данных или, используя реализованные в работе средства редактирования, выведенный результат действительно соответствует запросу. Введенная дата означает, что будут выбраны корабли, дата спуска на воду которых меньше, чем введенная дата. А выбранная страна и выбранный вид (класс) судна должен соответствовать полностью. Результатом запроса является названия судна, водоизмещение и калибр главного орудия.


Работа с формой редактирования

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

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

Также в этой форме, осуществляется переход по записям в самое начало и в конец списка.

Организован просмотр данных всех кораблей в одной таблице.

Рис. 7, а. Редактирование таблицы.        Рис. 7, б. Редактирование таблицы.(режим просмотра всей таблицы)

Графическое представление работы меню


Рис. 8. Меню File->Edit/Exit

Рис. 9. Меню Help->About



Графическое представление связей между файлами

Рис. 10. Структура таблиц базы данных

Структура всех данных в программе следующая:

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

Аналогичным образом создана перекрестная связь с классами кораблей и странами – в таблице ships хранятся идентификационные номера стран и классов. Эти номера служат уникальными номерами записями в таблицах countries и classess соответственно.

Таблица ships также содержит информацию о водоизмещении корабля, дате спуска, количестве орудий и калибре главного орудия.

Рис. 11. Структура таблицы battles_ships


Файлы Базы Данных


Таблица battles

Таблица battles_ships

Таблица classess

Таблица countries


Таблица ships



Структура файлов баз данных


Таблица battles

id – идентификационный номер

dateof – дата сражения

place – место сражения

Таблица battles_ships

battle_id – идентификационный номер сражения

ship_id – идентификационный номер корабля

damage – вид повреждения

Таблица classess

id – идентификационный номер

name – название вида корабля

Таблица countries

id – идентификационный номер

name – название вида страны