. ведение локальной базы данных: просмотр, корректировку, удаление, дополнение записей БД;
. заполнение графических элементов записи базы (дополнительно);
. просмотр данных в таблице и окнах редактирования;
. формирование значения вычисляемого поля;
. отбор записей из БД по условию статического и динамического запросов на языке SQL в компонентах Query;
. поиск данных различными способами, отбор записей из БД по условию, определенному с помощью фильтров компонентов Table и Query;
. сортировку данных по основному и дополнительным индексам;
. формирование, предварительный просмотр и печать отчета данных из БД.
База данных состоит из 4 связанных таблиц: Товары, Декларации, Персонал, Должности.
Структура таблиц базы данных приведена в следующих таблицах:
Товары
|
Имя поля |
Тип данных |
Описание |
Размер |
|
Kod_tovara |
Числовой |
Код товара |
|
|
Tovar_name |
Текстовый |
Наименованиетовара |
50 |
|
Tovar_cost |
Числовой |
Стоимость товара |
|
|
Poshlina |
Числовой |
Пошлина |
|
Декларации
|
Имя поля |
Тип данных |
Описание |
Размер |
|
Declaration_number |
Числовой |
Номердекларации |
|
|
Kod_tovara |
Числовой |
Код товара |
|
|
Kolvo |
Числовой |
Количество ед. товара |
|
|
Declaration_Data |
Дата |
Дата декларации |
|
|
FIO_grazhdanina |
Текстовый |
ФИО гражданина |
60 |
|
Kod_sotrudnika |
Числовой |
Код сотрудника |
|
Персонал
|
Имя поля |
Тип данных |
Описание |
Размер |
|
Kod_sotrudnika |
Числовой |
Код сотрудника |
|
|
Kod_dolzhnosti |
Числовой |
Код должности |
|
|
FiO_sotrudnika |
Текстовый |
ФИО сотрудника |
60 |
|
Adress_sotrudnika |
Текстовый |
Адрес сотрудника |
70 |
|
Telefon |
Текстовый |
Код сотрудника |
9 |
|
Birthyear |
Числовой |
Год рождения |
|
|
Obrazovanie |
Текстовый |
Образование |
30 |
Должности
|
Имя поля |
Тип данных |
Описание |
Размер |
|
Kod_dolzhnosti |
Числовой |
Код должности |
|
|
Naimen_dolzhnosti |
Текстовый |
Наименование должности |
40 |
|
Oklad |
Числовой |
Оклад |
|
) Просмотр данных таблиц
Для просмотра данных таблицы нужно щелкнуть правой кнопкой мыши и выбрать необходимую таблицу (рис А.1). В результате появится выбранная таблица (рис А.2).
) Добавление данных
Для добавления данных в таблицу нужно выбрать необходимую таблицу (см. п.4.1). Затем нажать на кнопку Добавить или Работа с таблицами/ Добавить (рис. А.2). Появится форма, в которую нужно ввести необходимые данные и нажать на кнопку сохранить (рис А.3). В итоге в таблице появятся добавленные данные (рис. А.4).
) Вставка данных
Для вставки данных в таблицу нужно выбрать необходимую таблицу (см.п.4.1). Указать щелчком левой кнопки мыши поле, перед которым появятся вставленные данные. Затем нажать на кнопку Вставить или Работа с таблицами/Вставить (рис. А.2). Появится форма, в которую нужно ввести необходимые данные и нажать на кнопку сохранить (рис А.3). В итоге в таблице появятся вставленные данные (рис. А.5).
) Изменение данных
Для изменения данных в таблице нужно выбрать необходимую таблицу (см.п.4.1). Указать щелчком левой кнопки мыши поле, в котором необходимы изменения данных. Затем нажать на кнопку Изменить или Работа с таблицами/Изменить (рис. А.2). Появится форма с данными, где их можно изменить, а затем нужно нажать на кнопку сохранить (рис А.6). В итоге таблица будет содержать измененные данные (рис. А.7).
) Удаление данных
Для удаления данных в таблице нужно выбрать необходимую таблицу (см. п.4.1). Указать щелчком левой кнопки мыши поле, которое необходимо удалить. Затем нажать на кнопку Удалить или Работа с таблицами/Удалить (рис. А.2). В результате таблица не будет содержать удаленные данные (рис. А.8).
) Поиск данных
Для поиска данных таблицы нужно выбрать необходимую таблицу (см.п.4.1). Затем выбрать Работа с таблицами/Поиск/Таблица/ Данные (по которым будет происходить поиск) (рис. А. 9). Появится форма, где нужно указать данные, по которым будет происходить поиск и нажать на кнопку ОК (рис. А.10). В результате будут показаны все данные таблицы, но найденная запись будет выделена по сравнению с остальными (рис. А.11).
Фильтрация данных
Для фильтрации данных таблицы нужно выбрать необходимую таблицу (см. п.4.1). Затем выбрать Работа с таблицами/Поиск/Таблица/ Данные (по которым будет происходить фильтрация) (рис. А.9). Появится форма, где нужно указать данные, по которым будет происходить фильтрация, выбрать Вкл./выкл фильтрацию и нажать на кнопку ОК (рис. А.12). В результате в таблице будут исключены данные, не удовлетворяющие условиям фильтрации (рис А.13).
Сортировка
Для сортировки данных первой таблицы нужно выбрать таблицу (см. п.4.1). Затем выбрать Обработка/Сортировка/ Выбор данных для сортировки (Рис. А.18). В результате данных будут сортироваться по выбранному параметру (Рис. А.19). Вычисляемое поле
Для создания вычисляемого поля Poshlina% по первой таблице необходимо:
) добавить это поле в список полей таблицы Сотрудники (команда NewField в редакторе полей), указать его тип (в данном случае Currency), выбрать с помощью переключателя FieldType вариант Calculated (Вычисляемое поле).
) В обработчике события OnCalcFields компонента НД (в данном случае Table1) напишем:
Table1.FieldByName('Poshlina%').Value:=
(Table1.FieldByName('Poshlina').Value/.FieldByName('Tovar_cost').Value)*100;
В результате таблица Товары будет отображать данные вычисляемого поля (Рис. А.17)
Запросы
Для просмотра запросов нужно навести курсор мыши на Обработка/Запрос (рис. А.14). Появится подменю, где можно выбрать нужный запрос (рис. А.15). Если запрос статический, то результат запроса появится сразу, а если динамический, то появится форма, в которой в поле Edit вводим данные, удовлетворяющие условию запроса, и нажимаем на кнопку ОК. (Запросы см. п.5).
Отчеты
Для просмотра отчетов нужно выбрать Отчеты, а затем щелкнуть по нужному
отчету (рис. А.16). В результате появится выбранный отчет (см. п.6).
Выдать информацию о сотруднике (ФИО, адрес, телефон, год рождения) по
введенному номеру декларации.
SELECT Table3.FiO_sotrudnika, Table3.Adress_sotrudnika,
Table3.Telefon, Table3.Birthyear"Table2.DB" Table2JOIN
"Table3.db" Table3(Table2.Kod_sotrudnika = Table3.Kod_sotrudnika)Table2.Declaration_number=:Par.Query1.ParamByName('Par').AsInteger:=strtoint(Form6.Edit1.Text);
Рисунок 5.1 - результат выполнения первого запроса
Выдать список сотрудников (ФИО, адрес, телефон, образование, должность),
оформивших указанный товар.
Select
FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnostiTable1,Table2,Table3,Table4(Tovar_name=:Par)
and (Table1.Kod_tovara=Table2.Kod_tovara) and
(Table2.Kod_sotrudnika=Table3.Kod_sotrudnika) and (Table3.Kod_dolzhnosti=Table4.Kod_dolzhnosti).Query1.ParamByName('Par').AsString:=Form6.Edit1.Text;
Рисунок 5.2 - результат выполнения второго запроса
По введенному названию должности выдать количество работников, занимающих
ее, оклад.
Select count(Table3.Kod_dolzhnosti), OkladTable3,
Table4(Table3.Kod_dolzhnosti=Table4.Kod_dolzhnosti) and
(Naimen_dolzhnosti=:Par)by
Oklad.Query1.ParamByName('Par').AsString:=Form6.Edit1.Text;
Рисунок 5.3 - результат выполнения третьего запроса
Подсчитать количество различных сотрудников на таможне, оформивших
декларации в этом году (используя данные только таблицы «декларации»).
Select count(distinct(Kod_sotrudnika))Table2 _Data between
"01.01.2016" and "31.12.2016"
Рисунок 5.4 - результат выполнения четвёртого запроса
Выдать список сотрудников (ФИО, адрес, телефон, образование, должность) с
указанием суммарного количества задекларированных товаров (каждым сотрудником)
в 2010 году.
Select
FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti,sum(kolvo)table2,table3,table4(table2.kod_sotrudnika=table3.kod_sotrudnika)
and (table3.kod_dolzhnosti=table4.kod_dolzhnosti) and (Declaration_Data between
"01.01.2010" and "31.12.2010")by
FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti
Рисунок 5.5 - результат выполнения пятого запроса
Выдать список товаров (наименование товара, стоимость), с указанием его
суммарного задекларированного количества в июне 2011 года.
selectTovar_name, tovar_cost, sum(kolvo) from
table1,table2(Table1.kod_tovara=Table2.kod_tovara) and (Declaration_Data
between "01.06.2011" and "30.06.2011")by Tovar_name,
tovar_cost
Рисунок 5.6 - результат выполнения шестого запроса
Выдать список сотрудников (ФИО, образование), с указанием наименования
задекларированного товара, суммарной стоимости задекларированного товара.
selectFiO_sotrudnika, Obrazovanie,Tovar_name,Tovar_cost,
sum(tovar_cost) from table1,table2,table3(Table1.kod_tovara=Table2.kod_tovara)
and (table2.kod_sotrudnika=Table3.kod_sotrudnika)by FiO_sotrudnika,
Obrazovanie,Tovar_name,Tovar_cost
Рисунок 5.7 - результат выполнения седьмого запроса
Выдать список сотрудников (ФИО, адрес, телефон, образование, должность), у которых не указан год рождения.
Select
FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnostitable3,table4(table3.kod_dolzhnosti=table4.kod_dolzhnosti)
and (Birthyear is null)
Рисунок 5.8 - результат выполнения восьмого запроса
.1 Простой отчёт
.2 Отчет по запросу
.3 Отчет с группировкой
Заключение
Управление базой данных - это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения её содержимым, редактирование содержимого и визуализации информации. Под визуализацией информации базы данных понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройства ввода или передача по каналам связи.
В курсовой работе рассматривается создание приложения баз данных в среде Delphi в соответствии с заданной прикладной областью. Были изучены следующие теоретические вопросы, относящиеся к созданию приложений БД в среде Delphi: утилита DatabaseDesktop, понятие и состояние набора данных, компонент TDBNavigator, компонент TDBGrid, компонент TQuery, оператор Select, агрегатные функции.
В среде Delphi 7 было создано приложение БД, реализующее следующие
функции: просмотр, корректировку, удаление и дополнение записей БД; просмотр
данных в таблице и окнах редактирования; вычисление значения вычисляемого поля;
отбор записей из БД по условиям запросов на языке SQL; поиск данных и отбор записей из БД, а также
сортировка данных по основному и дополнительному индексах. Основное меню и
продуманный интерфейс, которые включают в себя различные действия для работы с
базой данный, обеспечивают удобное взаимодействие пользователя с программой.
1. Бобровский, С. И. Delphi7: учебный курс / С. И. Бобровский. - СПб.: Питер, 2008. - 736 с.
. Культин, Н. Б. Основы программирования в Delphi7 / Н. Б. Культин. - СПб.: БХВ-Петербург, 2003. - 638 с.
. Стивенс, Р. Delphi. Готовые алгоритмы / Р. Стивенс; пер. с англ. Мерещука П.А. - 2-е изд. стер. - М.: ДМК Пресс; СПб.: Питер, 2004. - 384с.
. Сухарев, М. В. Основы Delphi. Профессиональный подход / М. В. Сухарев. - СПб.: Наука и техника, 2004. - 614 с.
. Фаронов, В. В. Delphi 5. Учебный курс / В.В. Фаронов - М.: «Нолидж», 2000. - 608 с.
. Фаронов, В.В. Программирование баз данных в Delphi 7. Учебный курс / В.В. Фаронов. - СПб.: Питер, 2006. - 459 с.
. Шумаков, П.
В. Delphi3 и разработка приложений баз данных / П. В. Шумаков - М. : «Нолижд»,
1998. - 704 с.
Рис А.1 - Выбор таблицы
Рис. А.2 - Просмотр таблицы данных
Рис. А.3 - Добавление данных в таблицу
приложение база фильтрация запрос
Рис. А.4 - Таблица с добавленными данными
Рис. А.5 - Вставка данных в таблицу
Рис. А.6 - Изменение данных в таблице
Рис. А.7 - Таблица с измененными данными
Рис. А.8 - Таблица после удаления записи
Рис. А.9 - Выбор данных для поиска
Рис. А.10 - Таблица для поиска данных
Рис. А.11 - Результат поиска данных
Рис. А.12 - Фильтрация данных
Рис. А.13 - Результат выполнения фильтрации
Рис. А.14 - Выбор пункта меню запросы
Рис. А.15 - Выбор запроса
Рис. А.16 - Выбор отчета для просмотра
Рис. А.17 - Отображение таблицы с вычисляемым полем
Рис. А.18 - Выбор данных для сортировки