Автор работы: Пользователь скрыл имя, 27 Октября 2012 в 11:59, курсовая работа
Целью курсового проекта является разработка базы данных и проекта программного обеспечения «Склад производственного предприятия. Прием на подотчет». В конечном итоге результатом курсового проекта, должен быть законченный проект программы, и написанная к нему техническая документация в виде пояснительной записки.
Введение
1 Теоретические основы проектирования и разработки баз данных
1.1 Основные принципы проектирования реляционных баз данных
1.2 Этапы физической реализации проектируемой базы данных
2 Область применения проекта
3 Существующая организация бизнес-процессов и процессов обработки данных работысклада по приему товара
4 Разработка модели при помощи BPwin
5 Даталогическое и инфологическое проектирование базы данных
5.1 Определение сущностей, атрибутов, взаимосвязей между сущностями, ключей
5.2 Построение ER-модели
5.3 Схема проектируемой базы данных
6 Описание программной разработки по созданию и ведению базы данных
6.1 Управляющая программа (меню или форма)
6.2 Оформление акта приема
Заключение
Список использованных источников
Приложение А Триггеры
ПриложениеБ ПредставлениеFIO и хранимые процедуры
База данных склада содержит следующие сущности:
СЕКТОРА РАЗМЕЩЕНИЯ(ид сектора, имя сектора, тип товара, площадь сектора, вместимость)
Первичным ключом является ид сектора
ПУНКТ НАКЛАДНОЙ(пункт накладной, номер накладной, количество, сумма, код ТМЦ, ид сектора)
Первичным ключом является пункт накладной
ТМЦ(код тмц, имя, срок годности, цена)
Первичным ключом является код тмц
ПЕРСОНАЛ (табельный номер, фамилия , имя, отчество, должность, телефон)
Первичным ключом является табельный номер
НАКЛАДНАЯ(номер накладной, дата приема, ид поставщика, табельный номер)
Первичным ключом является номер накладной
АКТ ПРИЕМА(номер акта приема, номер накладной, текст)
Первичным ключом является номер акта приема, номер накладной
ПОСТАВЩИК(ид поставщика, инн, телефон, адрес, наименование)
Первичным ключом является ид поставщика
Составляем диаграммы ER-экземпляров:
Сектор размещения |
Содержится 1…м |
Пункт накладной |
Сыпучие товары |
1 | |
Овощной |
2 | |
Фруктовый |
3 |
Так как связь 1:М, то смотрим на класс принадлежности М-связной сущности, он «Обязательный», поэтому, согласно правилу, достаточно двух сущностей.
ТМЦ |
Содержится 1…м |
Пункт накладной |
Мука |
1 | |
Яблоки |
2 | |
Капуста |
| |
Так как связь 1:М, то смотрим на класс принадлежности М-связной сущности, он «Обязательный», поэтому, согласно правилу, достаточно двух сущностей. | ||
Накладная |
Содержит 1…м |
Пункт накладной |
1 |
1 | |
2 |
2 | |
3 |
3 |
Так как связь 1:М, то смотрим на класс принадлежности М-связной сущности, он «Обязательный», поэтому, согласно правилу, достаточно двух сущностей.
Персонал |
Содержится 1…м |
Накладная |
Иванов |
1 | |
Петров |
2 | |
Сидоров |
3 | |
Так как связь 1:М, то смотрим на класс принадлежности М-связной сущности, он «Обязательный», поэтому, согласно правилу, достаточно двух сущностей.
| ||
Поставщик |
Содержится 1…м |
Накладная |
ООО Фрегат |
1 | |
ЗАО Сибирь |
2 | |
ОАО Марс |
3 | |
Так как связь 1:М, то смотрим на класс принадлежности М-связной сущности, он «Обязательный», поэтому, согласно правилу, достаточно двух сущностей. | ||
Акт приема |
Содержит 1…1 |
Накладная |
1 |
1 | |
2 |
2 | |
3 |
3 |
Так как связь 1:1, поэтому, согласно правилу, достаточно двух сущностей.
Составляем диаграмму ER-типов:
Схема спроектированной базы изображена на рисунке 5.
Рисунок 5 - Схема базы данных склада
База приведена к третьей нормальной форме, соответственно преобразование ER-модели в реляционную производить не требуется.
Рисунок 6- Основное окно программы
Рисунок 7 -Форма справочника «Поставщики»
Рисунок 8- Форма справочника «Персонал»
Рисунок 9 - Форма справочника «ТМЦ»
Рисунок 10- Форма справочника «Сектора размещения»
Рисунок 11 - Форма оформления накладной
Рисунок 11 – Оформление акта приема
В результате выполнения данного курсового проекта была разработана база данных склада, а так же программное средство для управления ей.
Были закреплены и расширены знания в области работы с реляционными базами данных и языка transact SQL. Получены практические навыки проектирования и реализации баз данных средствами MicrosoftVisualStudio 2010.
Реализованное программное средство позволяет в полной мере работать с базой данных, имеет лаконичный дизайн и интуитивно-понятный интерфейс.
При попытке определения товара в сектор определяет, есть ли на нем место и, если есть, то отнимает от него число определенных в сектор товаров, иначе выдает ошибку.
ALTER TRIGGER CHECKPLACE
ON dbo.Pynkt_nakladnoy
FOR INSERT
AS
BEGIN
DECLARE@placeint; --местовсекторе
DECLARE@kolint; --количество товаров
DECLARE@nameint; --имя сектора
DECLARE@difint; --разница между местом и количеством
SET@kol = (SELECTKolichFROMINSERTED);-- присваиваем переменной результат запроса
SET @name = (SELECT id_SektoraFROM INSERTED);
SET @place = (SELECT VmestimostFROM Sektora_razmWHERE id_Sektora = @name);
IF (@kol>@place)
BEGIN
RAISERROR ('Недостаточно места в секторе',16,10);
ROLLBACKTRAN; -- откат транзакции
RETURN;-- выход в основную программу
END
ELSE
BEGIN
SET @dif = @place-@kol;
UPDATE Sektora_razmSET Vmestimost = @difWHERE id_Sektora = @name;
END;
END
Получает суммарную стоимость введенного количества товара.
ALTER TRIGGER SUMM
ON dbo.Pynkt_nakladnoy
FOR INSERT, UPDATE
AS
BEGIN
DECLARE @price float;--цена
DECLARE @ktint; --кодтмц
DECLARE @kolichint;
DECLARE @summfloat;
SET @kt = (SELECT Kod_TMCFROM INSERTED);
SET @kolich = (SELECT KolichFROM INSERTED);
SET @price = (SELECT CenaFROM TMC WHERE Kod_TMC = @kt);
SET @summ = @kolich*@price;
UPDATE Pynkt_nakladnoySET Symma = @summWHERE Kod_TMC = @kt;
END
Представление FIO
Представляет Фамилию, Имя и Отчество в виде одного столбца
SELECT Tabelniy_nomer, Familia + ' ' + Name + ' ' + Otchestvo AS FIO
FROMdbo.Personal
Осуществляет поиск персонала.
ALTERPROCEDUREdbo.[POISK_PERS]
@PFMVARCHAR,
@PIM VARCHAR,
@POT VARCHAR,
@PDL VARCHAR,
@PTEL VARCHAR
AS
SELECT * FROM Personal where FamiliaLIKE(@PFM+'%') and Name LIKE(@PIM+'%') and OtchestvoLIKE(@POT+'%') and TelefonLIKE(@PTEL+'%') and DolgnostLIKE(@PDL+'%');
Осуществляет поиск ТМЦ.
ALTER PROCEDURE dbo.[POISK_TMC]
@PNAIM VARCHAR
AS
SELECT * FROM TMC where Name LIKE(@PNAIM+'%');
ALTER PROCEDURE dbo.[POISK_POST]
@PNAIM VARCHAR,
@PINN VARCHAR,
@PADR VARCHAR,
@PTEL VARCHAR
AS
SELECT * FROM Postavschikwhere NaimLIKE(@PNAIM+'%') and INN LIKE(@PINN+'%') and AdresLIKE(@PADR+'%') and TelefonLIKE(@PTEL+'%');
Осуществляет поиск секторов
ALTER PROCEDURE dbo.[POISK_SECT]
@PNAIM VARCHAR,
@PTT VARCHAR,
@PPL FLOAT,
@VM FLOAT
AS
SELECT * FROM Sektora_razmwhere Name_sektoraLIKE(@PNAIM+'%') and Tovar LIKE(@PTT+'%') and ploshad_sektora>= @PPL and Vmestimost>=@VM;
Информация о работе Проектирование базы данных склада (прием ТМЦна склад)