1 Анализ предметной области

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

Поэтому хорошо спроектированная база данных должна:

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

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

—        Обеспечивать естественное, легкое для восприятия структурирование информации.

Качественное построение базы позволяет делать запросы к базе более “прозрачными” и легкими для понимания; следовательно, снижается вероятность внесения некорректных данных и улучшается качество сопровождения базы.

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

Для решения поставленной задачи, сделать базу данных флагов мира, необходимо реализовать следующие функции: добавление записей в таблицу language.db, добавление записей в таблицу countries.db, редактирование данных о стране (её название, столица, данные и флаг) а также её государственных языках. Сортировка по выбранному полю.

Типы данных, проектируемой БД:

- поле «Континент» - строка,

- поле «Страна» - строка,

- поле «Столица» - строка,

- поле «Информация о стране» - мемо поле,

- поле «Флаг» - графический тип,

- поле «Язык» - строка.


2 Постановка задачи

Как уже было сказано в задании курсового, проекта необходимо создать приложение для работы с базой данных флагов мира. Программа должна позволять просматривать записи базы данных и редактировать их (т.е. добавлять новые записи, изменять их и удалять ненужные). Также должна существовать система поиска данных и сортировки по различным категориям.

Для реализации данного задания мною была выбрана интегрированная среда быстрой разработки приложений Borland Delphi 7. Средства Delphi 7 позволяют создавать мощные и гибкие программные средства для работы с базами данных. Имеются несколько основных компонентов (объектов), которые необходимо использовать постоянно для доступа к БД. Эти объекты могут быть разделены на три группы:

— невизуальные: TTable, TQuery.

— визуальные: TDBGrid, TDBEdit, TDBImage.

— связующие: TDataSource.

Первая группа включает невизуальные классы, которые используются для управления таблицами и запросами. Эта группа сосредотачивается вокруг компонент типа TTable, TQuery. В Палитре Компонент эти объекты расположены на странице Data Access.

Вторая важная группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа TDBGrid, TDBEdit, TDBImage. В Палитре Компонент эти объекты расположены на странице Data Controls.

Имеется и третий тип, который используется для того, чтобы связать предыдущие два типа объектов. К третьему типу относится только невизуальный компонент TDataSource.


3 Структура базы данных

При выполнении курсового проекта с помощью Database Desktop были созданы четыре таблицы для хранения данных: “Kontinent”, “Country”, “Language”, “Main”. Таблица “Kontinent” содержит данные о частях мира и их описание. Поля с описанием полей приведены в таблице 3.1.

Таблица 3.1 – Поля таблицы “Kontinent.db”

НАЗВАНИЕ ПОЛЯ ТИП ПОЛЯ ОПИСАНИЕ
ID Short Данное поле является ключевым и служит для связывания двух таблиц
Kontinent Alpha(15) Содержит строку с именем континента.
Information Alpha(50) Содержит строку с информацией о континенте.

Вторая таблица – “Country” – хранит сведения о стране. Описание полей их типов и назначения в таблице “Country” приведено в таблице 3.2.

Таблица 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).



Информация о работе «Разработка базы данных флагов мира»
Раздел: Информатика, программирование
Количество знаков с пробелами: 49033
Количество таблиц: 4
Количество изображений: 3

Похожие работы

Скачать
192006
8
14

... , и на практике 5NF не используется. Заметим, что зависимость соединения является обобщением как многозначной зависимости, так и функциональной зависимости. 4. РАЗРАБОТКА БАЗЫ ДАННЫХ 4.1 Предметная область базы данных База данных предназначена для хранения информации об электронных источниках литературы в виде файлов, упакованных в архивы. Файлы архивов физически располагаются на сервере ...

Скачать
177562
0
14

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

Скачать
355353
1
0

... базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя. Глава 3. Защита авторских прав на программы для ЭВМ и базы данных.   Согласно 4 части Гражданского кодекса РФ, ст.1261 компьютерным программам предоставляется такая же правовая охрана, как и произведениям литературы. Это значит, что автор программы для ЭВМ обладает рядом исключительных ...

Скачать
18315
7
0

... данных. ЗАКЛЮЧЕНИЕ Данный курсовой проект является актуальным и отвечает предъявленым к нему требованиям. Была разработана и написана, на языке программирования высокого уровня Borland Delphi 5.0, с использованием баз данных, программа, позволяющая определить лучшую группу колледжа по среднему баллу аттестационной и экзаменационной сессии. Список использованной литературы 1. Delphi 5.0, учебный ...

0 комментариев


Наверх