Тема: Разработка интерактивной системы обработки базы данных ведомости работы расчетно-кассового узла универсама
Разработать проект приложения, содержащего локальную базу данных для хранения и обработки данных заданной структуры (см. рис.1). системы обработки данных ведомости работы расчетно-кассового узла универсама.
Наименование товара | Код товара | Количество в наличии | Количество проданного товара | Стоимость единицы товара | Общая стоимость проданного товара (В) | Остаток товара (В) | |
Код товара | Тип товара |
Рис. 1. Структура базы данных системы обработки данных ведомости работы расчетно-кассового узла универсама
Записи должны содержать данные различных типов.
База данных должна находиться в отдельном каталоге с именем KR, подкаталог Base.
Система должна обеспечить:
1) ведение локальной базы данных, в том числе: просмотр, корректировку, удаление, дополнение базы данных;
2) использование меню для управления процессом обработки данных;
3) просмотр и корректировку данных в таблице и в окнах редактирования;
4) формирование значения вычисляемого поля (столбца);
5) отбор данных из базы данных по условию, определенному свойством Filtr компонента типа TTable;
6) сортировку данных по основному и дополнительным индексам;
7) поиск данных по заданным поисковым признакам;
8) непосредственный доступ к записям базы данных на примере формирования суммы столбца;
9) формирование и вывод во время выполнения приложения:
– графика зависимости данных, содержащихся в базе данных;
– отчета с помощью подсистемы QuickReport.
Для управления системой и решения поставленных задач система должна быть снабжена интерфейсом пользователя, включающим следующие элементы:
- систему меню для СУБД;
- элементы управления для отображения информации, хранящейся в таблицах;
- элементы управления для навигации по базе данных;
- элементы управления для ввода условий отбора записей;
- форм для ввода новых записей;
- формы для просмотра графика
- формы для просмотра и вывода на печать отчета.
На подготовительном этапе создания системы, удовлетворяющей требованиям технического задания, выполняются следующие действия:
1). Создается структура каталогов на жестком диске персонального компьютера для хранения файлов базы данных, проекта системы и исполняемого модуля. Для определенности будем полагать, что проектируемая система – файлы проекта и исполняемый модуль будет размещаться в папке \КР корневого каталога диска С:, а файлы базы данных – в подкаталоге \BASE данной папки.
2). Для создания проекта и структуры таблиц базы данных необходимо инсталлировать на компьютере разработчика средство управления базами данных MSAccess, и средство разработки – BorlandDelphi. При проектировании были использованы следующие версии программных продуктов: MSAccess 2000 и BorlandDelphi 6.0 с BDE 5.1
Для создания заданной в техническом задании на проектирование системы структуры таблицы воспользуемся СУБД MSAccess.
При запуске СУБД необходимо укать каталог, в котором будет помещен файл базы данных и имя этого файла: c:\kp\base.mdb.
Далее переходим в раздел таблицы и, с помощью конструктора, создаем две таблицы: Table1 и Table2. Состав и описание их полей приведены в табл. 1 и 2 соответственно.
После создания структуры таблиц определяем связи между ними в режиме просмотра схемы данных. При этом в качестве основной таблицы укажем Table1, поле связи T1KOD, в качестве связанной – Table2, поле связи T2KOD. Тип отношения – «один-ко-многим» (см. рис. 2).
Таблица 1. Состав и описание полей таблицы Table1 базы данных проектируемой системы
№ п/п | Имя поля | Тип | Описание |
1 | KodZapisi | Счетчик | Автоинкрементируемое ключевое индексное поле целого типа для хранения информации о коде записи |
2 | Nazvanie | Текстовый | Текстовое поле длиной 50 символов для хранения информации о названии товара |
3 | Kod | Числовой | Длинное целое поле связи с таблицей Table2 |
4 | Prihod | Числовой | Числовое поле с плавающей точкой для хранения информации о количестве полученного товара |
5 | Rashod | Числовой | Числовое поле с плавающей точкой е для хранения информации о количестве проданного товара |
6 | Zena | Денежный | Числовое поле для хранения информации о стоимости единицы товара |
Таблица 2. Состав и описание полей таблицы Table2 базы данных проектируемой системы
№ п/п | Имя поля | Тип | Описание |
1 | Kod | Счетчик | Автоинкрементируемое ключевое индексное поле целого типа для хранения информации о коде записи |
2 | Tip | Текстовый | Текстовое поле длиной 50 символов для хранения информации о типе товара |
До того как приступить к разработке системы, создадим в операционной системе компьютера разработчика с помощью средств администрирования баз данных псевдоним (Alias) используемой базы данных base.mdb. Это значительно упростит последующее написание кода приложения и облегчит перенос проектируемой системы в другой каталог, если в этом возникнет необходимость. Для создания псевдонима возможно использование различных средств: как встроенных в операционную систему (Инспектор «Источники данных (ODBC)»), так и поставляемых в комплекте со средой программирования BorlandDelphiутилит (AdministratorBDE или DatabaseDestop). На рис. 3 показаны необходимые настройки при использования встроенного Инспектора OBDC.
Далее запускаем среду разработки приложений BorlandDelphi и создаем стандартный исполняемый модуль (Application). Добавляем необходимые формы (Меню File, команда New-Form).
Сохраняем заготовку проекта в папке c:\kp. Имя файла проекта kp.dpr, имена используемых модулей: Unit1.pas…Unit5.pas, имена используемых форм: Unit1.frm…Unit5.frm.
Форма Form1 – основная форма проекта. На ней расположены основные элементы интерфейса пользователя и элементы управления. Их список представлен в табл. 3.
Таблица 3. Список элементов управления, расположенных на форме Form1
№ п/п | Имя элемента управления | Описание |
1 | Database1 | Компонент, устанавливающий связь между базой данных base.mdb с помощью псевдонима base_24 и приложением |
2 | MainMenu1 | Компонент, содержащий описание структуры меню |
3 | DataSource1 | Компонент, устанавливающий связь между источником данных DataBase1 и компонентом tTable1 |
4 | tTable1 | Компонент, устанавливающий связь между полями таблицы tTable1 источника данных DataSource1 и элементами их отображения, редактирования и навигации |
5 | DbGrid1 | Элемент отображения данных в таблице tTable1 |
6 | DataSource2 | Компонент, устанавливающий связь между источником данных DataBase2 и компонентом tTable2 |
7 | tTable2 | Компонент, устанавливающий связь между полями таблицы tTable2 источника данных DataSource2 и элементами их отображения, редактирования и навигации |
8 | DbGrid2 | Элемент отображения данных в таблице tTable2 |
9 | cmdNew | Командная кнопка открытия формы Form2 для ввода информации о новом товаре |
10 | cmdDel | Командная кнопка для удаления текущей записи и всей связанной с ней информацией |
11 | cmdFind | Командная кнопка вызова окна ввода информации для поиска |
12 | cmdChart | Командная кнопка для вызова формы Form4 с расположенным на ней компонентом DbChart1 |
13 | cmdReport | Команднаякнопкадлявызоваформы Form5 срасположенныминанейкомпонентами QuickRep1, QRBand1…QRBand4, QRLabel1…QRLabel9, QRDBText1… QRDBText6, QRExpr1… QRExpr6, QRShape1, QR Shape2, Table1, Table2, DataSource1. |
14 | cmdType | Командная кнопка для вызова формы Form3 для ввода информации о типах товаров |
15 | RadioGroup1 | Радиокнопки, управляющие режимом сортировки |
16 | GroupBox1 | «Декоративный» элемент, объединяющий элементы DBLookupComboBox1 и CheckBox1 |
17 | DBLookupComboBox1 | Комбинированное поле для вывода условий отбора |
18 | CheckBox1 | Флажок, управляющий режимом фильтрации |
19 | StatusBar1 | Информационная строка |
Компоненты размещаются на форме посредством «перетягивания» их значков в определенное место формы из соответствующих разделов (Standart, DataAccess, DataControl, BDE, QReport) палитры компонентов среды разработки BorlandDelphi.
Для всех вышеперечисленных компонентов необходимо определить их свойства, такие как геометрические размеры компонента (Width, Height), Имя (Name), Источник данных (DataSource), Отображаемые на экране надписи (Caption) и ряд других – в соответствии с требуемой задачей. Часть этих свойств удобно заполнять с помощью специализированных мастеров. Так, например, состав полей, отображаемых на экране с помощью компонента DBGrid, настраивается с помощью Редактора полей, вызываемого путем двойного щелчка по соответствующему компоненту. Контроль введенных свойств и доступ к компонентам осуществляется с помощью Окна свойств и Инспектора объектов. Размер формы и расположенных на ней компонентов выбирается исходя из наиболее часто встречающегося у потенциального пользователя разрешения экрана 800 х 600 точек, эргономических и эстетических соображений.
Форма Form2 предназначена для ввода информации о новом товаре. Ввод информации осуществляется посредством заполнения пользователем значений текстовых полей DBEdit1…3, связанных с базой данных через элементы управления DataSource, расположенные на форме Form1.
Форма Form3 предназначена для работы с таблицей типов товаров и содержит источник данных DataSource1, связанный с таблицей tTable2, расположенной на форме Form1, управляющий элемент DbGrid1 для отображения и редактирования полей таблицы, управляющий элемент DbNavigator1 для выполнения основных операций с записями в таблице: навигации, добавления, удаления и сохранения.