Проектирование базы данных склада (прием ТМЦна склад)

Автор работы: Пользователь скрыл имя, 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 и хранимые процедуры

Файлы: 1 файл

Юркова курсовая правленая.docx

— 382.79 Кб (Скачать файл)

5.1 Определение сущностей, атрибутов, взаимосвязей между сущностями, ключей

База данных склада содержит следующие сущности:

СЕКТОРА РАЗМЕЩЕНИЯ(ид сектора, имя сектора, тип товара, площадь сектора, вместимость)

Первичным ключом является ид сектора

ПУНКТ НАКЛАДНОЙ(пункт накладной, номер накладной, количество, сумма, код ТМЦ, ид сектора)

Первичным ключом является пункт накладной

ТМЦ(код тмц, имя, срок годности, цена)

Первичным ключом является код тмц

ПЕРСОНАЛ  (табельный номер, фамилия , имя, отчество, должность, телефон)

Первичным ключом является табельный номер

НАКЛАДНАЯ(номер накладной, дата приема, ид поставщика, табельный номер)

Первичным ключом является номер накладной

АКТ ПРИЕМА(номер акта приема, номер накладной, текст)

Первичным ключом является номер акта приема, номер накладной

ПОСТАВЩИК(ид поставщика, инн, телефон, адрес, наименование)

Первичным ключом является ид поставщика

5.2 Построение ER-модели

Составляем диаграммы  ER-экземпляров:

Сектор  размещения

     Содержится 1…м

Пункт накладной

Сыпучие товары

 

1

Овощной

 

2

Фруктовый

 

3


Так как связь 1:М, то смотрим  на класс принадлежности М-связной  сущности, он «Обязательный», поэтому, согласно правилу, достаточно двух сущностей.

 

ТМЦ

     Содержится 1…м

Пункт накладной

Мука

 

1

Яблоки

 

2

Капуста

 

                                  3

Так как связь 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.3 Схема  проектируемой базы данных

Схема спроектированной базы изображена на рисунке 5.

 

Рисунок 5 - Схема  базы данных склада

База приведена  к третьей нормальной форме, соответственно преобразование ER-модели в реляционную производить не требуется.

 

 

 

 

 

 

 

 

6  Описание  программной разработки по созданию и ведению базы данных

6.1 Управляющая программа (меню или форма)

Рисунок 6- Основное окно программы

Рисунок 7 -Форма  справочника «Поставщики»

 

 

Рисунок 8- Форма  справочника «Персонал»

 

Рисунок 9 - Форма  справочника «ТМЦ»

Рисунок 10- Форма справочника «Сектора размещения»

 

Рисунок 11 - Форма оформления накладной

 

 

6.2 Оформление  акта приема

 

Рисунок 11 – Оформление акта приема

 

 

 

 

 

Заключение

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

Были  закреплены и расширены знания в  области работы с реляционными базами данных и языка transact SQL. Получены практические навыки проектирования и реализации баз данных средствами MicrosoftVisualStudio 2010.

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

 

Список  использованных источников

  1. Н.П. Воробович Электронный учебник по БД.
  2. http://msdn.microsoft.com/ru-ru/
  3. Пол Уилтон, Джон Колби. Язык запросов SQL для начинающих / Пер. с англ. — М.: Диалектика, 2005. — 496 с.
  4. К. Дж. Дейт. Введение в системы баз данных / Пер. с англ. — 8-е изд. — М.: Вильямс, 2005. — 1328 с.
  5. Брауде, Э. Дж. Технология разработки программного обеспечения [Текст] / Э. Дж. Брауде – СПб.: Питер, 2004. – 655 с.: ил.
  6. Зиндер, Е.З. Бизнес-реинжиниринг и технологии системного проектирования: Учебное пособие [Текст] / Е.З. Зиндер. - М., Центр информационных технологий, 1996. – 252 с.
  7. Калянов, Г.Н. CASE: Структурный системный анализ (автоматизация и применение) [Текст] / Г.Н. Калянов. - М.: ЛОРИ, 1996. – 360 с.: ил.

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение  А Триггеры

Триггер CHECKPLACE

При попытке определения товара в сектор определяет, есть ли на нем  место и, если есть, то отнимает от него число определенных в сектор товаров, иначе выдает ошибку.

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

Триггер SUMM

Получает суммарную стоимость  введенного количества товара.

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 и хранимые процедуры

Представление FIO

Представляет Фамилию, Имя и  Отчество в виде одного столбца 

SELECT  Tabelniy_nomer, Familia + ' ' + Name + ' ' + Otchestvo AS FIO

FROMdbo.Personal

Хранимая процедура POISK_PERS

Осуществляет поиск персонала.

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+'%');

Хранимая процедура POISK_TMC

Осуществляет поиск ТМЦ.

ALTER PROCEDURE dbo.[POISK_TMC]

@PNAIM VARCHAR

AS

SELECT * FROM TMC where Name LIKE(@PNAIM+'%');

Хранимая процедура POISK_POST

Осуществляет поиск поставщиков.

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+'%');

Хранимая процедура POISK_SECT

Осуществляет поиск секторов

 

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;

 

 

 


Информация о работе Проектирование базы данных склада (прием ТМЦна склад)