Добавил:
Меня зовут Катунин Виктор, на данный момент являюсь абитуриентом в СГЭУ, пытаюсь рассортировать все файлы СГЭУ, преобразовать, улучшить и добавить что-то от себя Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Теория / Базы данных СГЭУ - Курсовое_проектирование_для заочников.docx
Скачиваний:
14
Добавлен:
09.08.2023
Размер:
3.84 Mб
Скачать

Вариант 2

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

Артикул ткани,

Наименование ткани,

Цена одного метра ткани.

Код красителя,

Наименование красителя,

Расход красителя на единицу ткани,

Цена единицы красителя,

Номер красильной машины,

Фамилия мастера.

Дата выпуска ткани,

Количество ткани.

Каждая ткань может быть окрашена одним или несколькими красителями. На каждой красильной машине одним мастером в одно и то же время выпускается только один вид ткани.

  1. Разработать базу данных, таблицы и заполнить их данными. Номенклатура тканей должна содержать не менее 7 наименований, список красителей – не менее пяти красителей, сведения о выпуске товаров – не менее 30 записей, сведения о красильных машинах с закрепленными за ними мастерами –не менее пяти.

Предусмотреть в создаваемых таблицах ограничения целостности следующих типов:

  • NOT NULL – для полей, которые будут являться первичными и внешними ключами,

  • PRIMARY KEY – для полей, выбранных в качестве первичных ключей,

  • FOREIGN KEY – для полей, являющихся внешними ключами,

  • CHECK для поля «Дата выпуска» (не ранее 1 января 2008 г. и не позже системной даты), а также для полей «Количество ткани», «Цена одного метра ткани» (их значения должны быть положительными числами).

Построить диаграмму базы данных.

  1. В третьей главе курсового проекта «Основные команды SQL для извлечения, добавления и изменения данных» выполнить следующие действия и представить их результаты.

    1. Создать запрос для выдачи следующих данных для ткани определенного наименования: артикул ткани, наименование ткани, код красителя, наименование красителя, удельный расход красителя, цена красителя, стоимость красителя на единицу ткани.

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

    3. Создать сгруппированный запрос с подсчетом количества каждого вида ткани, выпущенной каждым мастером

    4. Изменить цену каждого красителя, используемого для ткани определенного наименования, на 25 р. В команде редактирования используйте подзапрос.

    5. Скопировать в новую таблицу следующие данные: дата выпуска, артикул, наименование ткани, стоимость всех красителей, затраченных на данный вид ткани.

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

  1. В четвертой главе должны быть представлены разработанные процедуры и функции.

5.1.Создать функцию для определения стоимости определенного красителя на заданное количество ткани за каждую продажу. Проверить работу функции с помощью запроса.

    1. Создать процедуру с параметрами «код красителя» и «цена красителя». Процедура должна выполнять проверку, есть ли данный краситель в списке красителей. Если такая запись существует, следует изменить значение поля «цена красителя» на значение параметра Если такого красителя еще нет в списке, следует добавить о нем новую запись.

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

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

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