 
        
        - •И.И. Довгялло, с.М. Юдина база данных sql Server 2005. Курсовое проектирование
- •Введение
- •1. Цель и задачи работы над курсовым проектом
- •2. Структура пояснительной записки
- •3. Общие требования к выполнению курсоВого проекта и содержанию пояснительной записки
- •4. Пример задания на курсовое проектирование
- •5. Пример пояснительной записки курсового проекта
- •5.1. Введение
- •5.2. Пример оформления главы 1 « Проектирование базы данных»
- •5.2.1. Проектирование базы данных методом нормализации таблиц
- •5.1.2. Проектирование базы данных методом семантического моделирования в среде Erwin
- •5.3. Пример оформления главы 2 «Создание таблиц в sql Server 2005 »
- •5.3.1. Команды создания и модификации таблиц
- •5.3.2. Построение диаграммы базы данных
- •5.3.3. Просмотр структуры и содержимого таблиц
- •5.4. Пример оформления главы 3 «Основные команды sql для извлечения, добавления и изменения данных»
- •5.5. Пример оформления главы 4. «Создание процедур и функций»
- •5.7. Пример оформления главы 5 «Создание триггеров»
- •5.8. Пример оформления заключения по курсовому проекту
- •6. Нормативные требования к оформлению курсового проекта
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 21
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
Вариант 9
- Спроектировать базу данных для информационно-поисковой системы «Телефон» методом нормализации и методом семантического моделирования. Данные, которые должны храниться в базе, представлены в виде одной таблицы со следующими столбцами: 
Код абонента
ФИО абонента
Адрес
Номер телефона
Код тарифа
Наименовании тарифа (повременный, безлимитный)
Дата и время разговора
Код города
Количество минут разговора
Цена одной минуты
С домашнего телефона можно производить местные звонки, оплата которых зависит от тарифа. Существует две разновидности тарифов: повременный и безлимитный. По повременному тарифу абонент платит абонентскую плату 150 р/м и 24 коп. за каждую минуту местного разговора. При безлимитном тарифе не учитывается время местных разговоров, а взимается только абонентская плата 400 р/м. Междугородные разговоры оплачиваются согласно тарифам на междугородные переговоры в зависимости от кода города и количества минут разговора.
Список абонентов должен содержать не менее десяти фамилий. Список городов – не менее 5-8 городов, список разговоров – не менее тридцати строк.
- Разработать базу данных, таблицы и заполнить их данными. 
Предусмотреть в создаваемых таблицах ограничения целостности следующих типов:
- NOT NULL – для полей, которые будут являться первичными и внешними ключами, 
- PRIMARY KEY – для полей, выбранных в качестве первичных ключей, 
- FOREIGN KEY – для полей, являющихся внешними ключами(создается при построении диаграммы базы данных), 
- CHECK для полей «Дата разговора» (не позже системной даты), а также для полей «Количество минут разговора», «Цена одной минуты» (их значения должны быть положительными числами). 
3. Структуры таблиц и содержимое таблиц привести во второй главе пояснительной записки к курсовому проекту «Создание таблиц».
4. В третьей главе курсового проекта «Основные команды SQL для извлечения, добавления и изменения данных» выполнить следующие действия и представить их результаты.
- Показать список всех разговоров определенного абонента за заданный календарный период 
- В новую таблицу перенести данные из запроса, который должен подсчитать суммарное время местных разговоров каждого абонента за определенный месяц. Показать поля: код телефона, ФИО абонента, общее количество минут разговора 
- Занести в список разговоров новую запись. 
- Увеличить стоимость одной минуты междугородных переговоров с Москвой, Санкт-Петербургом и Казанью на 10%. 
- В новую таблицу поместить сведения о всех междугородних разговорах определенного абонента за определенный месяц. В новой таблице должны быть следующие поля: номер телефона, ФИО абонента, дата и время разговора, код города, стоимость одной минуты, количество минут разговора, стоимость разговора. 
- Определить абонентов, стоимость междугородных переговоров которых выше средней стоимости всех междугородных переговоров. 
- В четвертой главе должны быть представлены разработанные процедуры и функции. - Создать функцию для подсчета общей оплаты за все разговоры определенного абонента за определенный месяц. 
- Создать процедуру с использованием функции, созданной в задании 5.1 для выдачи счета определенному абоненту за определенный месяц. В нем сверху указать код телефона и ФИО абонента, в каждой строке вывести дату и время разговора, код города, стоимость одной минуты, стоимость разговора. Затем вывести с помощью функции общую стоимость всех разговоров, и в зависимости от кода тарифа данного абонента – сумму абонентской платы. Затем подвести общий итог за месяц. 
 
- В пятой главе описать процесс создания триггеров как дополнительного средства обеспечения целостности базы данных. - Создать триггер, который при занесении новой записи о разговоре выполнял проверку на наличия номера вводимого телефона в списке абонентов и кода города в списке городов и возбуждал пользовательские ошибки в случае ввода ошибочных данных. 
- Создать триггер, который бы при изменении номера телефона какого-то абонента, изменял бы данный номер и в таблице учета разговоров за текущий месяц. 
 
