Разработка клиент-серверного приложения для автоматизации учёта движения товаров магазина интерьерных принадлежностей

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

отношении всего один потенциальный ключ, то отношение, находящееся в 3НФ, одновременно находится и в БКНФ.

НФ является достаточной при решении большинства практических задач, и процесс проектирования реляционной базы данных, как правило, заканчивается приведением к ней.

Для каждого отношения нашей БД построим диаграмму функциональных зависимостей и определим, в какой нормальной форме оно находится.

Отношение Товар

 

Рисунок 12. Диаграмма функциональных зависимостей для отношения Товар.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Продажа.

 

Рисунок 13. Диаграмма функциональных зависимостей для отношения

Продажа.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Возврат

 

Рисунок 14. Диаграмма функциональных зависимостей для отношения Возврат.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Закупки

Рисунок 15. Диаграмма функциональных зависимостей для отношения Закупки.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Акции и скидки

Рисунок 16. Диаграмма функциональных зависимостей для отношения Акции и скидки.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Поставщики

 

Рисунок 17. Диаграмма функциональных зависимостей для отношения Поставщики.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Тип товара

 

Рисунок 18. Диаграмма функциональных зависимостей для отношения Тип товара.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

 

Отношение Участие в акции

 

Рисунок 19. Диаграмма функциональных зависимостей для отношения Участие в акции.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Склады

 

Рисунок 20. Диаграмма функциональных зависимостей для отношения

Склады.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Размещение товаров

Рисунок 22. Диаграмма функциональных зависимостей для отношения

Размещение товаров.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Отношение Пользователи

 

Рисунок 23. Диаграмма функциональных зависимостей для отношения Пользователи.

 

Отношение находится в 1НФ, 2НФ, 3НФ, БКНФ.

Вывод: Все отношения находятся в БКНФ и не требуют дальнейшей нормализации, следовательно LDM разрабатываемой информационной системы представленная на рисунке 11 не требует дальнейшей модернизации и является конечной для рассматриваемой системы.

 

.2.1.4 Построение схемы данных

Так как используется CASE-средство проектирования баз данных Sybase PowerDesigner, то переход от логической модели данных к физической модели данных осуществляется автоматически.

Для задания типов данных для полей таблиц были использованы стандартные средства CASE-средства проектирования баз данных Sybase PowerDesigner. Все типы данных были выбраны исходя из предъявляемых к ним требований.

Рисунок 24 - Физическая модель данных

 

На основе разработанной физической модели данных произведена генерация SQL-скрипта для создания базы данных с помощью стандартных средств системы проектирования баз данных Sybase PowerDesigner.

Текст сгенерированного SQL - скрипта приведён в приложении 2.

Схема базы данных в SQL Server, полученная в результате проектирования, изображена на рисунке 25.

Рисунок 25 - Схема данных

 

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

 

.1.2 Разработка хранимых процедур и представлений

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

Хранимая процедура - последовательность SQL-операторов, хранимых и выполняемых на сервере.

Представление (просмотр) - виртуальные таблицы, информация в которых не хранится постоянно, а формируется динамически при обращении к ним.

Основные процедуры, необходимые для ведения базы данных, представлены в таблице 1.

 

Таблица 1. Хранимые процедуры

Название процедурыПараметрыОписаниеAddAct@ID int, @Desc varchar(100), @Disc float, @StartDate datetime, @EndDate datetimeДобавление новой акцииAddGood@ID int, @name varchar(100), @typename varchar(100), @agename varchar(100), @price money, @img image = nullДобавление нового товараAddGoodAct@Act varchar(100), @Code intДобавление товара в акциюAddPur@GID int, @SID varchar(100), @Cnt int, @p money, @d datetimeДобавление закупкиAddSup@ID int, @name varchar(100), @repr varchar(100), @addr varchar(100), @phone varchar(100)Добавление нового поставщикаAddUser@log varchar(100), @pas varchar(100), @role intДобавление пользователяDelAct@ID intУдаление акцииDelGood@ID intУдаление товараDelGoodAct@ID intУдаление товара из акцииDelPur@PID intУдаление закупкиNewReturn@SaleID int, @GoodID int, @RetData datetime, @couse varchar(100)Оформить возвратNewSale@SaleID int, @GoodID int, @WarehouseID int, @SaleDate datetime, @count intОформить новую продажуUpdGood@ID int, @name varchar(100), @price money, @img image = nullОбновление информации о товареUpdSup@ID int, @name varchar(100), @repr varchar(100), @addr varchar(100), @phone varchar(100)Обновление информации о поставщикеUpdUser@log varchar(100), @pas varchar(100), Обновление информации о пользователе

Таблица 2. Представления

НазваниеОписаниеActiveActionsПредставляет информацию о текущих ацияхGoods_SumDiscountsПредставляет информацию о товарах и скидках на нихGoods_UserВыводит совокупн