Материал: Создание приложений баз данных в среде Delphi

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

.        ведение локальной базы данных: просмотр, корректировку, удаление, дополнение записей БД;

. заполнение графических элементов записи базы (дополнительно);

. просмотр данных в таблице и окнах редактирования;

. формирование значения вычисляемого поля;

. отбор записей из БД по условию статического и динамического запросов на языке SQL в компонентах Query;

. поиск данных различными способами, отбор записей из БД по условию, определенному с помощью фильтров компонентов Table и Query;

. сортировку данных по основному и дополнительным индексам;

. формирование, предварительный просмотр и печать отчета данных из БД.

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


База данных состоит из 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

Числовой

Оклад



4. Интерфейс задачи


)        Просмотр данных таблиц

Для просмотра данных таблицы нужно щелкнуть правой кнопкой мыши и выбрать необходимую таблицу (рис А.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).

5. Запросы


Выдать информацию о сотруднике (ФИО, адрес, телефон, год рождения) по введенному номеру декларации.

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 - результат выполнения восьмого запроса

6. Отчеты


.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 - Выбор данных для сортировки