Пример ОТЧЁТА

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«ИВАНОВСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРГЕТИЧЕСКИЙ УНИВЕРСИТЕТ

имени В.И. Ленина»

Факультет информатики и вычислительной техники

КУРСОВАЯ РАБОТА

на тему:

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА БАЗЫ ДАННЫХ

«Информационная система оптового заводского склада»

с применением MS SQL SERVER 2012

Выполнила:

Булатова Е.Е., гр. 2-42х

Проверила:

ст. преп. Булатова Е.Е.

Иваново, 2014

Анализ предметной области

Описание предметной области

На склад поставляются детали, выполненные из определенных материалов (литые), от заданного круга поставщиков (постоянных или случайных) из различных городов.

В качестве поставщиков могут выступать юридические лица и индивидуальные предприниматели, причем эти группы описываются своим набором характеризующих атрибутов; юридические лица – номер и дата гос. регистрации, наименование, юридический адрес, форма собственности; предприниматели – ИНН, ФИО, страховой полис, номер паспорта, дата рождения.

При оформлении поставки учитываются дата, количество и стоимость, вид упаковки и способ доставки (автотранспорт, ж/д транспорт, самовывоз), причем одна поставка может включать несколько видов деталей и доставляться несколькими способами (часть пути поездом, часть — автотранспортом).

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

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

Таблица ролей и функций

Таблица 1.1. Роли пользователей и их функции

Роль

Функции

Менеджер

Ведение базы деталей, материалов, поставщиков

Инженер завода

Просмотр спецификаций деталей

Бухгалтер

Оплата поставок

Учетчик

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

Логист

Управление отпуском деталей в цеха завода

Концептуальная модель предметной области, UML

Рис. 1.1. Концептуальная модель ПО (диаграмма классов UML)

Проектирование

Логическая модель базы данных, IDEF1x

Рис. 2.1. Логическая модель базы данных

Физическая модель базы данных, IDEF1x

Рис. 2.2. Физическая модель базы данных

Диаграмма базы данных из MS SQL Server

Рис. 2.3. Диаграмма базы данных в Management Studio

Описание ограничений

Значения по умолчанию (DEFAULT)

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

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

Ограничения на вводимые данные (CHECK)

Вес детали может быть только положительным

DETAIL_WEIGHT > 0.

Номер паспорта должен содержать пробел между серией и номером

PASSPORT_NUMBER like ‘____ ______’.

Правила удаления

При удалении документа на отпуск должны удаляться все его строки (каскадное удаление на связь DELIVERY – DELIVERY_STRING).

При ликвидации отдела (удалении) вся информация об отпуске деталей в него должна остаться в базе (Правило удаления «Проставлять NULL» на связь DELIVERY – DEPARTMENT).

Запросы на модификацию данных

Insert

INSERT INTO detail (detail_name)

VALUES (‘Подшипник’)

INSERT INTO supply (supplier_id, supply_quantity, supply_cost, supply_date, detail_id)

VALUES (4, 177, 453.45, ’25.09.2009′, 1)

INSERT supplier (supplier_type, supplier_name)

VALUES (DEFAULT, ‘Смирнов С.С.’)

Update

UPDATE material

SET material_name = ‘Олово’

WHERE material_id = 2

UPDATE delivery

SET department_id = NULL,

delivery_date = delivery_date + 1 /*увеличение даты поставки на день

WHERE delivery_id = 1 OR department_id > 3

UPDATE detail

SET detail_name = detail_name + ‘!!!’

WHERE detail_name LIKE ‘_а%’ AND weight BETWEEN 6 AND 10

Delete

DELETE detail

WHERE detail_id IN (2, 5, 8)

DELETE detail

WHERE weight IS NULL

DELETE detail

Запросы на выборку данных (SELECT)

Выбрать название и код материала для деталей с весом от 5 до 10 г или имеющих в названии букву «н» в третьей позиции.

Рис. 5.1. Результаты выполнения запроса №1

Выбрать названия поставщиков с кодами 4, 6, 8, 9, упорядоченных по алфавиту в обратном порядке

Рис. 5.2. Результаты выполнения запроса №2

Определить средний вес деталей из материала с кодом 2

Рис. 5.3. Результаты выполнения запроса №3

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

Рис. 5.4. Результаты выполнения запроса №4

Получить сведения из таблицы деталей в виде строк «Деталь X имеет вес Y»

Рис. 5.5. Результаты выполнения запроса №5

Разделить детали на легкие (весом до 20), средние (между 20 и 50) и тяжелые

Рис. 5.6. Результаты выполнения запроса №6

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

Рис. 5.7. Результаты выполнения запроса №7

Для каждого поставщика получить сведения о самой первой (по дате) его поставке

Рис. 5.8. Результаты выполнения запроса №8

Для каждого поставщика посчитать суммарную величину его поставок

Рис. 5.9. Результаты выполнения запроса №9

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

Рис. 5.10. Результаты выполнения запроса №10

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

Хранимая процедура, возвращающая сведения о поставках деталей за определенный интервал времени

Рис. 6.1. Создание хранимой процедуры №1 и результаты ее вызова

Процедура, возвращающая название материала, из которого изготовлено больше всего деталей

Рис. 6.2. Создание хранимой процедуры №2 и результаты ее вызова

Триггеры

Триггер на поддержание актуального количества товаров на складе при отпуске деталей в цеха

Рис. 7.1. Создание триггера №1

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

Рис. 7.2. Создание триггера №2

Предыдущий:

Следующий: