Разработка клиент-серверного приложения для автоматизации учёта движения товаров магазина интерьерных принадлежностей
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
отношении всего один потенциальный ключ, то отношение, находящееся в 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Выводит совокупн