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

Вариант 19

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

Код факультета;

Наименование факультета;

Код группы;

Наименование группы;

Номер зачетной книжки;

Фамилия, имя и отчество студента;

Оценка студента за первый экзамен;

Оценка студента за второй экзамен;

Оценка студента за третий экзамен;

Средний балл студента за сессию;

Сумма стипендии.

  1. Разработать базу данных, таблицы и заполнить их данными. В списке факультетов достаточно иметь два факультета. На каждом факультете – две группы. В каждой группе от 4-х до 6-ти студентов. Студенты в сессию сдают по 3 экзамена. Если у студента сдано экзаменов меньше, чем положено группе, ему проставляется 0, такой студент стипендию не получает. Средний балл студента за сессию и Сумма стипендии рассчитываются в ходе выполнения работы. Сумма стипендии назначается в зависимости от среднего балла. Если средний балл 5 назначается повышенная стипендия, если средний балл от 4 до 4,9 – обычная, в остальных случаях стипендия равна 0. Повышенная и обычная стипендия имеют те же значения, что и в практике. Задать максимальное значение всех полей Оценка студента за экзамен равным пяти. Создать для каждой таблицы первичный ключ, а также внешние ключи для всех дочерних таблиц. Установить постоянные отношения между дочерними и родительскими таблицами (создаются при построении диаграммы базы данных). Задать ограничение NOT NULL для всех полей, входящих в первичные или внешние ключи.

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

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

    1. Рассчитать средний балл каждого студента в сессии.

    2. Рассчитать стипендию по результатам сессии.

    3. Найти результаты сессии определенного студента, задав его Фамилию, имя и отчество. Показать поля: Наименование факультета, Наименование группы, Номер зачетной книжки, Фамилия, имя и отчество студента, Оценки за экзамены (3), Средний балл, Сумма стипендии.

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

    5. Показать список студентов, имеющих не сданные экзамены. Вывести поля: Наименование факультета, Наименование группы, Номер зачетной книжки, Фамилия, имя и отчество студента, Оценки за экзамены (3).

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

    7. Рассчитать общую Сумму стипендии по каждому факультету.

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

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

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

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

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

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