Добавлен: 26.06.2023
Просмотров: 62
Скачиваний: 2
Таблица 2.17 – Структура таблицы «Склады»
Поле |
Код |
Тип |
Номер |
Number |
INTEGER |
Название |
Name |
VARCHAR(30) |
Адрес |
Adress |
VARCHAR(50) |
Телефон |
Phone |
VARCHAR(15) |
Описание |
Description |
VARCHAR(100) |
Таблица 2.18 – Структура таблицы «Смены кладовщиков»
Поле |
Код |
Тип |
Номер |
Number |
INTEGER |
Кладовщик |
Stockman |
INTEGER |
Склад |
Stock |
INTEGER |
Начало |
Start |
DATE |
Конец |
Ending |
DATE |
Таблица 2.19 – Структура таблицы «Смены продавцов»
Поле |
Код |
Тип |
Номер |
Number |
INTEGER |
Продавец |
Seller |
INTEGER |
Касса |
Till |
INTEGER |
Начало |
Start |
DATE |
Конец |
Ending |
DATE |
Таблица 2.20 – Структура таблицы «Сотрудники»
Поле |
Код |
Тип |
Номер |
Number |
INTEGER |
Работник |
Person |
INTEGER |
Оклад |
Salary |
DECIMAL(10,4) |
Премия |
Bonus |
DECIMAL(10,4) |
Отпускные |
Travel |
DECIMAL(10,4) |
Устройство |
Inauguration |
DATE |
Увольнение |
Dismissal |
DATE |
Таблица 2.21 – Структура таблицы «Товары»
Поле |
Код |
Тип |
Номер |
Number |
INTEGER |
Название |
Name |
VARCHAR(50) |
Производитель |
Maker |
VARCHAR(30) |
Подкатегория |
Subcategory |
INTEGER |
Ед. измерения |
Units |
VARCHAR(10) |
Таблица 2.22 – Структура таблицы «Чеки»
Поле |
Код |
Тип |
Номер |
Number |
INTEGER |
Дата |
Date |
DATE |
Касса |
Till |
INTEGER |
Наличные |
Cash |
DECIMAL(10,4) |
Сдача |
Submit |
DECIMAL(10,4) |
Итог |
Total |
DECIMAL(10,4) |
Отменен |
Canceled |
SMALLINT |
Определим коды названий таблиц для корректного физического проектирования базы данных в системе InterBase (Таблица 2.23).
Таблица 2.23 – Коды таблиц базы данных
Название таблицы |
Код таблицы |
Выплаты |
Salaries |
Заказ |
Items |
Заказы |
Orders |
Занятость |
Busyness |
Кассы |
Tills |
Категории |
Categories |
Кладовщики |
Stockmen |
Налоги |
Taxes |
Операции |
Operations |
Подкатегории |
Subcategories |
Поставки |
Delivery |
Поставщики |
Suppliers |
Продавцы |
Sellers |
Продажи |
Sales |
Продукты |
Products |
Работники |
People |
Склады |
Stocks |
Смены кладовщиков |
Stockmen shift |
Смены продавцов |
Cellers shift |
Сотрудники |
Employees |
Товары |
Goods |
Чеки |
Tickets |
Таблицы разрабатываемой базы данных являются взаимосвязанными. Так как при физической реализации связей необходимо указывать имя связи, которое не несет никакой смысловой нагрузки, при описании связей в базе данных ограничимся только кодом связи, связующим полем, исходной и конечной таблицей. В качестве кода будем использовать английское слово «Reference», знак подчеркивания и порядковый номер связи (Таблица 2.24).
Таблица 2.24 – Связи между таблицами базы данных
Код связи |
Исходная таблица |
Конечная таблица |
Поле связи |
Reference_1 |
Категории |
Подкатегории |
Категория |
Reference_2 |
Подкатегории |
Занятость |
Подкатегория |
Reference_3 |
Поставщики |
Занятость |
Поставщик |
Reference_4 |
Поставщики |
Поставки |
Поставщик |
Reference_5 |
Заказы |
Поставки |
Заказ |
Reference_6 |
Заказы |
Заказ |
Заказ |
Reference_7 |
Товары |
Заказ |
Товар |
Reference_8 |
Подкатегории |
Товары |
Подкатегория |
Reference_9 |
Товары |
Продукты |
Товар |
Reference_10 |
Поставки |
Продукты |
Поставка |
Reference_11 |
Склады |
Продукты |
Склад |
Reference_12 |
Продукты |
Продажи |
Товар |
Reference_13 |
Чеки |
Продажи |
Чек |
Reference_14 |
Кассы |
Чеки |
Касса |
Reference_15 |
Кассы |
Смены продавцов |
Касса |
Reference_16 |
Продавцы |
Смены продавцов |
Продавец |
Reference_17 |
Работники |
Продавцы |
Работник |
Reference_18 |
Работники |
Кладовщики |
Работник |
Reference_19 |
Работники |
Сотрудники |
Работник |
Reference_20 |
Кладовщики |
Смены кладовщиков |
Кладовщик |
Reference_21 |
Склады |
Смены кладовщиков |
Склад |
Reference_22 |
Кассы |
Операции |
Касса |
Reference_23 |
Операции |
Налоги |
Операция |
Reference_24 |
Операции |
Выплаты |
Операция |
Reference_25 |
Работники |
Выплаты |
Работник |
Так как для первичных ключей в базе данных InterBase условие уникальности накладывается только в пределах таблицы, в качестве имени первичных ключей всех таблиц будем использовать «Key_1».
Для реализации структуры базы данных воспользуемся CASE-средством PowerDesigner версии 15.3, разработанным компанией Sybase. Данное средство позволяет разрабатывать физические модели баз данных, оптимизированные для дальнейшей реализации на конкретной платформе с учетом её особенностей.
Рисунок 2.1 – Структурная схема БД в PowerDesigner 15.3
2.3 Реализация БД на языке SQL
Для создания базы данных в InterBase прежде всего необходимо определиться с местоположением базы данных, размером страниц памяти, диалектом языка SQL и используемой кодировкой символов.
В данном случае разумно использовать третий диалект языка SQL, так как данная его реализация значительно дополнена и исправлена. Для наглядной иерархии каталогов в программной системе выберем подкаталог «Data» главного каталога программы. Имя файла базы данных выберем соответствующее разрабатываемому проекту: «Shop.gdb». Размер страниц памяти логичнее выбирать в соответствии с размером страниц памяти, используемом на компьютерах конечного пользователя. В данном случае выберем размер равный 4Кб. При создании файла базы данных необходимо иметь права доступа администратора в системе InterBase, такими правами доступа в этой системе обладает стандартная учетная запись «sysdba», имеющая стандартный пароль для входа в систему «masterkey».
Конечный фрагмент кода создания файла базы данных выглядит следующим образом:
SET SQL DIALECT 3;
CREATE DATABASE '\Data\Shop.gdb'
PAGE_SIZE 4096
USER 'sysdba' PASSWORD 'masterkey'
DEFAULT CHARACTER SET WIN1251;
В соответствии с описаниями, приведенными выше, разработаем коды формирования таблиц и связей между ними в созданной базе данных на языке SQL. При этом будем использовать оговоренные ранее англоязычные коды таблиц и полей вместо их русскоязычных имен.
2.4Архитектура клиент-серверной системы
Для дальнейшей реализации приложения необходимо определить каким образом разрабатываемые приложения будут располагаться относительно друг друга физически и как будут связаны (Рисунок 2.2).
Рисунок 2.2 – Схема физических каналов связи
Как видно из схемы, в локальной сети располагается один сервер и три вида терминалов, получающих к нему доступ.
Программная взаимосвязь (Рисунок 2.3) должна учитывать не только физическое расположение программных средств, но и архитектуру доступа к данным.
Рисунок 2.3 – Схема программных каналов связи
2.5 Реализация серверной части приложения
Для реализации комплекса программных средств воспользуемся менеджером проектов Delphi и создадим группу проектов «Shop». Назовем проект сервера соответственно «Server».
Добавим в проект сервера удаленный модуль данных и назовем его «rdm». Далее организуем его следующим образом (Рисунок 2.4).
Рисунок 2.4 – Удаленный модуль данных
На главной оконной форме (Рисунок 2.5) серверной части разрабатываемой системы организуем системное меню, позволяющее получать информацию о подключенной базе данных, о клиентских программах, а также справочную информацию по работе системы.
Рисунок 2.5 – Главная форма сервера приложений
Для указания местонахождения файла базы данных создадим форму настройки подключения базы данных (Рисунок 2.6).
Рисунок 2.6 – Форма настройки адреса базы данных
Информацию о подключенных клиентских программах также отобразим на отдельной форме (Рисунок 2.7).
Рисунок 2.7 – Форма вывода информации о количестве подключений
2.6 Реализация клиентских частей приложения
В приложении «Cash» на главной форме создадим меню, позволяющее оперировать таблицами, устанавливать настройки соединения и вызывать справочные материалы (Рисунок 2.8).
Рисунок 2.8 – Главная форма приложения «Cash»
Для удобства и экономии времени создадим отдельную форму «Соединение», которую будем вызывать из всех клиентских программ для настройки соединения с сервером (Рисунок 2.9).
Рисунок 2.9 – Форма настройки соединения с сервером приложений
Меню главной формы клиентских приложений «Stock» (Рисунок 2.10) и «Office» (Рисунок 2.11) создадим аналогичными приложению «Cash».
Рисунок 2.10 – Главная форма приложения «Stock»
Наполнению функционалом всех созданных форм предшествует размещение на них специальных компонентов отображения и управления данными, TDBGrid и TDBNavigator соответственно.
Рисунок 2.11 – Главная форма приложения «Office»
Заключение
В процессе выполнения курсовой работы был изучен теоретический материал по следующим темам:
- архитектура клиент-серверных приложений;
- технологии создания клиент-серверных приложений в Delphi 7;
- особенности системы управления базами данных InterBase;
- создание баз данных с помощью case-средства PowerDesigner 15;
- использование технологии сокетов при создании многоуровневых приложений в Delphi;
- обеспечение своевременности применения транзакций в технологии MIDAS Delphi.
После изучения теории была проведена следующая работа:
- создана физическая модель базы данных в PowerDesigner 15;
- сгенерирован sql-код для создания реальной базы данных;
- реализована разрабатываемая база данных в IBConsole;
- разработано и реализовано серверное приложение «Server»;
- разработаны и реализованы клиентские приложения «Cash», «Stock» и «Office»;
- создана инструкция пользователя для каждого приложения;
- оформлена пояснительная записка к курсовой работе.
Курсовая работа выполнена в полном объеме в соответствии с заданием.
Список литературы
- Сенов А.В. Access 2003. Практическая разработка баз данных / А.В. Сенов. СПб.: Питер, 2005.
- Барановская Т.П. Информационные системы и технологии в экономике: учебник / Т.П. Барановская, В.И. Лойко. М.: Финансы и статистика, 2003. – 416 с.
- Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс / Н.А. Гайдамакин. М.: Гелиос АРВ, 2002. – 412 с.
- Голицина О.Л. Основы алгоритмизации и программирования: учебное пособие. / О.Л. Голицина, И.И. Попов. М.Форум: Инфра-М, 2004. – 432 с.
- Кириллов В.В. Структурированный язык запросов (SQL): учебное пособие / В.В. Кириллов, Г.Ю. Громов. СПб.: ИТМО, 2004. – 71 с.
- Кузин А.В. Базы данных: учебное пособие / А.В. Кузин, С.В. Левонисова. М.: Изд.центр «Академия», 2005. – 250 с.
- Послед Б.С. Access 2000 Базы данных и приложения: лекции / Б.С. Послед. М.: Изд.центр «Академия», 2005. – 250 с.