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

Вариант 25

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

Номер телефона

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

Адрес абонента

Дата разговора

Количество минут

Код города

Название города

Тариф (стоимость одной минуты разговора).

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

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

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

4.1. Показать список разговоров за определенный день. В запросе вывести поля: Номер телефона, Фамилия абонента, Адрес абонента, Дата разговора, Количество минут.

4.2. Показать список разговоров по заданному городу. Вывести поля Номер телефона, Код города, Название города, Дата разговора, Количество минут, Тариф и Стоимость разговора. Стоимость разговора= Количество минут* Тариф.

4.3. Вывести список всех абонентов. Показать Номер телефона, Фамилия абонента, Адрес абонента.. Записи упорядочить в порядке обратном алфавитному.

4.4. Показать список разговоров по заданному городу на заданную дату. Вывести поля Номер телефона, Код города, Название города, Дата разговора, Количество минут, Тариф и Стоимость разговора.

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

4.6. Показать список разговоров определенного абонента. В запросе вывести поля: Номер телефона, Фамилия абонента, Адрес абонента, Дата разговора, Количество минут, Название города, Тариф и Стоимость разговора. Стоимость разговора= Количество минут* Тариф.

4.7. Создать сгруппированный запрос для подсчета общего количества минут по каждому номеру телефона. Вывести поля; Номер телефона, Общее количество минут. Отобрать записи, в которых количество минут меньше среднего.

4.8. Увеличить тариф для разговоров с определенным городом на 10%.

4.9. Подсчитать количество звонков за каждый день.

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

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

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

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

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