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

Вариант 17

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

Код структурного подразделения;

Наименование структурного подразделения;

Табельный номер работника;

Фамилия, имя, отчество работника;

Код детали;

Наименование детали;

Нормо-час деталей одного вида (нормативное количество выпущенных деталей за 1 час);

Стоимость нормо-часа (одинаковая для всех деталей);

Дата выработки деталей;

Количество выпущенных деталей.

2. Разработать базу данных, таблицы и заполнить их данными. Список подразделений должен содержать не менее 3 подразделений, в каждом из которых не менее 5 работников. Номенклатура деталей должна содержать не менее 4 наименований, они выпускаются за 2-3 даты (использовать одни и те же даты для всех работников). Добавить в таблицы, в которых содержится поле Дата выработки деталей, ограничение для проверки правильности ввода поля: Дата выработки деталей не должна быть ранее текущей даты. Создать для каждой таблицы первичный ключ, а также внешние ключи для всех дочерних таблиц. Установить постоянные отношения между дочерними и родительскими таблицами (создаются при построении диаграммы базы данных). Задать ограничение NOT NULL для всех полей, входящих в первичные или внешние ключи.

3. Структуры таблиц и содержимое таблиц привести во второй главе пояснительной записки к курсовому проекту «Создание таблиц».

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

4.1. Создать запрос для выдачи следующих данных для детали определенного наименования: Код детали, наименование детали, Табельный номер, Дата выработки деталей, Количество выпущенных деталей, Нормо-час, Стоимость нормо-часа, Стоимость работы по выпуску деталей. Стоимость работы по выпуску деталей= Количество выпущенных деталей/ Нормо-час* Стоимость нормо-часа.

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

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

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

4.6. Увеличить Нормо-час каждой детали на 20%

4.7. Создать запрос, выводящий список работников, общая стоимость работы по выпуску деталей которыми выше средней по предприятию.

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

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

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

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

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

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

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