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

Вариант 14

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

Код парикмахерской

Название парикмахерской

Адрес парикмахерской

Код услуги

Название услуги

Базовая цена услуги

Дата предоставления услуги

Код мастера

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

Код квалификации мастера

Наименование квалификации мастера

Коэффициент стоимости услуги, в зависимости от квалификации мастера.

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

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

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

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

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

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

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

    5. Изменить Базовую цену каждой услуги на 12%.

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

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

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

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

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

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

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

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

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