Таблица 3.2 – Поля таблицы “Country.db”
НАЗВАНИЕ ПОЛЯ | ТИП ПОЛЯ | ОПИСАНИЕ |
ID | Long Integer | Данное поле является ключевым и служит для связывания двух таблиц |
ID_Kontinent | Short | Данное поле служит для связывания c таблицей “Kontinent”, ссылка на номер Континента |
Country | Alpha(30) | Название страны |
Capital | Alpha(30) | Название столицы |
Information | Formated Memo | Информация о стране |
Flag | Graphic | Изображение флага |
Третья таблица – “Language” – хранит сведения о языках мира. Описание полей их типов и назначения в таблице “Language” приведено в таблице 3.3.
Таблица 3.3 – Поля таблицы “Language.db”
НАЗВАНИЕ ПОЛЯ | ТИП ПОЛЯ | ОПИСАНИЕ |
ID | Short | Данное поле является ключевым и служит для связывания двух таблиц |
Language | Alpha(20) | Язык |
Четвертая таблица – “Main” – связывает таблицу “Country” и “Language”, она нужна для уменьшения объёма базы данных. Описание полей их типов и назначения в таблице “Main” приведено в таблице 3.4.
Таблица 3.4 – Поля таблицы “Main.db”
НАЗВАНИЕ ПОЛЯ | ТИП ПОЛЯ | ОПИСАНИЕ |
ID | Long Integer | Данное поле является ключевым и служит для связывания двух таблиц |
ID_Country | Long Integer | Данное поле служит для связывания c таблицей “Country”, ссылка на номер страны |
ID_Language | Short | Данное поле служит для связывания c таблицей “Language”, ссылка на номер языка |
4 Разработка программы
4.1 Программная реализация
В результате работы над курсовым проектом была разрабоатна программа на языке Object Pascal, реализующая базу данных флагов мира. Программа состоит из 7 модулей и файла проекта.
4.2 Анализ программного кода
Функции и обработчики событий программы.
Форма MainForm:
procedure bbAddCountryClick(Sender: TObject);
procedure bbAddLanClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbEditCountryClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure bbSeekClick(Sender: TObject);
procedure bbDelCountryClick(Sender: TObject);
procedure sbSeekClick(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure sbAddLanClick(Sender: TObject);
procedure sbAddCountryClick(Sender: TObject);
procedure sbEditCountryClick(Sender: TObject);
procedure sbDelCountryClick(Sender: TObject);
Форма frmNewCountry
procedure bbOpenDialogClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cbLanguage1Change(Sender: TObject);
procedure cbLanguage2Change(Sender: TObject);
procedure cbLanguage3Change(Sender: TObject);
procedure bbCreateClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Форма frmEditCountry
procedure FormShow(Sender: TObject);
procedure cbLanguage1Change(Sender: TObject);
procedure cbLanguage2Change(Sender: TObject);
procedure cbLanguage3Change(Sender: TObject);
procedure bbOpenDialogClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Форма frmView
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Форма frmNewLanguage
procedure bbCreateClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Форма DM (Data Module)
procedure DataModuleCreate(Sender: TObject);
procedure mmSortCountryCountryClick(Sender: TObject);
procedure mmSortCountryCapitalClick(Sender: TObject);
procedure mmSortLanAscClick(Sender: TObject);
procedure mmSortLanDesClick(Sender: TObject);
procedure mmSortKontinentAscClick(Sender: TObject);
procedure mmSortKontinentDesClick(Sender: TObject);
procedure mmAboutClick(Sender: TObject);
procedure mmExitClick(Sender: TObject);
procedure tbKontinentAfterScroll(DataSet: TDataSet);
procedure mmAddCountryClick(Sender: TObject);
procedure mmAddLanClick(Sender: TObject);
procedure mmEditCountryClick(Sender: TObject);
procedure mmDelCountryClick(Sender: TObject);
procedure mmSeekClick(Sender: TObject).
5 Описание программы
5.1 Интерфейс пользователя
Общий вид интерфейса пользователя представлен на рисунке 5.1.1.
Рисунок 5.1.1 - Интерфейс пользователя
Разработанный интерфейс пользователя отвечает поставленной задаче. Выдача информации наглядна – имеется таблица, с помощью которой пользователь может легко выбрать интересующий его континент, а потом страну. Также предусмотрена помощь пользователю в виде появляющихся в строке подсказок сообщений. Для удобства пользователей данной прикладной программы было спроектировано меню инструментов, позволяющее редактировать базу данных, сортировать и искать записи. Данное меню состоит из таких частей: редактирование, сортировка, поиск.
Подпункты меню “Работа с БД”:
— Добавить язык – добавляет новые записи в таблицу языков.
— Добавить страну – добавляет новые записи в таблицу стран.
— Редактировать страну – изменяет имеющиеся записи в таблице стран.
— Удалить страну – удаляет ненужные записи из таблицы стран.
Подпункты меню “Сортировка”:
— Континенты-прямая – сортирует таблицу континентов по полю континент от А до Я.
— Континенты-обратная – сортирует таблицу континентов по полю континент от Я до А.
— Языки-прямая – сортирует таблицу языков по полю континент от А до Я.
— Языки-обратная – сортирует таблицу языков по полю континент от Я до А.
— Страны-по странам - сортирует данные по исполнителю.
— Страны-по столицам - сортирует данные по песне.
Рис. 5.1.2 Добавление новой страны
С помощью этой формы пользователь может создать новую страну. При нажатии кнопки «Загрузить рисунок» появится диалоговое меню выбора файла формата «BMP» в котором содержится изображение флага. Имеется контроль за правильностью выбора языков (т.е языки не могут повторяться, не может существовать второго государственного языка если не существует первого и т.п.). После заполнения формы пользователь должен нажать кнопку «Создать запись» и если форма заполнена корректно – запись создастся, а если нет, то выскочит предупреждение об ошибке.
Рисунок 5.1.3 – Добавление нового языка
С помощью этой формы пользователь может создать новый язык. После заполнения формы пользователь должен нажать кнопку «Создать запись» и если форма заполнена корректно – язык будет создан, а если нет, то выскочит предупреждение об ошибке.
Рисунок 5.1.4 – Редактирование стран
С помощью этой формы пользователь может редактировать существующую страну. При нажатии кнопки «Загрузить рисунок» появится диалоговое меню выбора файла формата «BMP» в котором содержится изображение флага. Имеется контроль за правильностью выбора языков (т.е языки не могут повторятся, не может существовать второго государственного языка если не существует первого и т.п.). После заполнения формы пользователь должен нажать кнопку «Сохранить изменения» и если форма заполнена корректно – изменения в БД сохранятся, а если нет, то выскочит предупреждение об ошибке.
Рисунок 5.1.5 – Поиск страны
После того как появилось диалоговое окно надо ввести название страны, причём название должно быть полностью идентичное находящемуся в таблице (к примеру страна «украина» не будет найдена в отличии от «Украина») . Когда поле заполнено следует нажать кнопку “OK”.
5.2 Инструкция пользователя
Для работы с базой данных аудио файлов не надо создавать через DataBase Desktop Alias, т.к. базы уже находятся в корневой папке и запуск программы должен осуществляться следующим образом:
<диск>\<путь>\Flags.exe
5.3 Системные требования к программе
Для функционирования данной программы требуется:
— 32-х разрядная операционная система Windows 95/NT4 или выше.
— персональный компьютер Pentium 133
— 8Мб свободного места на жестком диске
— монитор VGA
— клавиатура
— минимум 16Мб оперативной памяти
Выводы
В курсовом проекте была разработына программа базы данных флагов мира с использованием базы данных Paradox 7. Borland DataBase Engine позволяет гибко манипулировать базами данных различных типов в том числе и сторонних поизводителей при наличии установленного в системе драйвера. Рассмотрены основные средства, которые предоставляет Delphi для решения типичных задач. Имеются несколько основных компонентов (объектов), которые необходимо использовать постоянно для доступа к БД. Эти объекты могут быть разделены на три группы:
не визуальные: TTable, TQuery
визуальные: TDBGrid, TDBEdit, TDBImage
связующие: TDataSource
Первая группа включает не визуальные классы, которые используются для управления таблицами и запросами. Эта группа сосредотачивается вокруг компонент типа TTable, TQuery, TDataSet и TField. В Палитре Компонент эти объекты расположены на странице Data Access.
Вторая важная группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа TDBGrid, TDBEdit, TDBImage. В Палитре Компонент эти объекты расположены на странице Data Controls.
Имеется и третий тип, который используется для того, чтобы связать предыдущие два типа объектов. К третьему типу относится только не визуальный компонент TDataSource.
Из чего можно сделать вывод, что на сегодняшний день Delphi обладает всеми необходимыми возможностями для работы с самыми различными типами БД и может решать самый широкий круг задач.
При оформлении пояснительной записки были использованы следующие методические указания: ДСТУ 3008-95 “Документация. Отчеты в сфере науки и техники. Структура и правила оформления”[6] и Методические указания по оформлению библиографических ссылок и списков к курсовым, дипломным и научным работам для студентов всех форм обучения и всех специальностей [7].