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

Вариант 12

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

Шифр книги

Наименование книги

Фамилия, имя, отчество автора

Издательство,

Год издания

Количество страниц

Шифр рубрики предметного каталога

Наименование рубрики предметного каталога

Номер полки в хранилище

Цена книги

Количество экземпляров

В БД должны содержаться сведения не менее чем о пяти предметных рубриках, десяти авторах, 30 книгах.

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

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

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

  • FOREIGN KEY – для полей, являющихся внешними ключами (создается при построении диаграммы базы данных),

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

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

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

    1. Показать список книг определенного автора.

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

    3. Занести в список книг новую запись командой INSERT

    4. Показать список авторов, общее количество книг которых больше среднего среди всех авторов.

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

    6. Уменьшить цену книг, изданных ранее, чем за последние 5 лет, на 20%.

    7. Поменять в одной из книг шифр рубрики предметного указателя.

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

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

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

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

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

Вариант 13

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

Код филиала (KF);

Название филиала(NF);

Адрес филиала(AF);

Номер счета (N_S);

Фамилия вкладчика (FIO);

Дата открытия вклада (DOV);

Текущая сумма на счете (T_SYM);

Код вклада (KV);

Название вклада (NV);

Процентная ставка по вкладу(PROC);

Дата операции по приходу (DP);

Сумма прихода(P_SYM);

Дата операции по расходу (DR);

Сумма расхода (R_SYM);

  1. Разработать базу данных, таблицы и заполнить их данными. В базе данных должно быть не менее трех филиалов и четырех видов вкладов. Список счетов должен содержать не менее 15 фамилий. Почти по всем счетам должны быть проведены приходные и расходные операции, по двум счетам приходных или (и) расходных операций должно быть несколько.. Добавить в таблицы, в которых содержатся поля Дата операции по расходу Дата операции по приходу, ограничения для проверки правильности ввода полей: эти даты не должна быть ранее текущей даты. Создать для каждой таблицы первичный ключ, а также внешние ключи для всех дочерних таблиц. Установить постоянные отношения между дочерними и родительскими таблицами(создается при построении диаграммы базы данных). Задать ограничение NOT NULL для всех полей, входящих в первичные или внешние ключи.

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

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

    1. Показать список счетов, открытых за определенный период. Показать поля: Код филиала, Название филиала, Номер счета, Фамилия вкладчика, Дата открытия вклада, Текущая сумма на счете.

    2. Показать список счетов с текущей суммой, превышающей среднюю текущую сумму по счету. Показать поля: Код филиала, Название филиала, Номер счета, Фамилия вкладчика, Дата открытия вклада, Текущая сумма на счете.

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

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

    5. Увеличить процентную ставку по вкладу с заданным наименованием на 1,5%.

    6. Определить суммарную текущую сумму и сумму начисленных процентов по каждому филиалу в определенном месяце. Начисленные проценты=Текущая сумма * Процентную ставку по вкладу /100/12.

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

    1. Создать функцию для расчета начисляемых процентов по вкладу (начисляемые проценты по вкладу= T_SYM* PROC/100/12). Проверить работу функции с помощью запроса.

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

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

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

6.2. Создать триггер, который бы при вводе новой записи о расходе денег проверял бы наличие лицевого счета, достаточность средств на лицевом счете для проведения расходной операции. Если средств на лицевом счете достаточно, следует изменить Текущую сумму на счете. T_SYM= T_SYM- R_SYM. Если средств на лицевом счете недостаточно, выдать об этом сообщение и откатить транзакцию.