- •И.И. Довгялло, с.М. Юдина база данных 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
Вариант 5
Спроектировать базу данных методом нормализации и методом семантического моделирования. Данные, которые должны храниться в базе, представляют собой сведения о продаже билетов на поезда. Они представлены в виде одной таблицы со следующими столбцами:
дата отправления,
номер поезда,
направление,
время отправления,
время в пути (час),
номер вагона,
код типа вагона,
название типа вагона,
общее количество мест,
количество проданных мест.
В первой главе курсового проекта описать процесс проектирования.
Разработать базу данных, таблицы и заполнить их данными. Количество поездов должно быть не менее пяти. Количество вагонов в каждом поезде – не менее 8. Типы вагонов: плацкартный, купейный, мягкий, СВ, общий.
Предусмотреть в создаваемых таблицах ограничения целостности следующих типов:
NOT NULL – для полей, которые будут являться первичными и внешними ключами,
PRIMARY KEY – для полей, выбранных в качестве первичных ключей,
FOREIGN KEY – для полей, являющихся внешними ключами,
CHECK для полей «Общее количество мест» и «Количество проданных мест» (значение первого поля должно быть не меньше значения второго),
DEFAULT для поля «Дата отправления» (равное системной дате).
Построить диаграмму базы данных.
В третьей главе курсового проекта «Основные команды SQL для извлечения, добавления и изменения данных» выполнить следующие действия и представить их результаты.
Показать список поездов с перечнем вагонов, в которых было продано более половины мест (показать данные по полям: номер поезда, направление, номер вагона, тип вагона, общее количество мест, количество проданных мест.
Преобразовать предыдущий запрос таким образом, чтобы эти данные выдавались для определенного направления.
Показать список поездов с перечнем вагонов, кроме общих, по которым проданы все билеты (вывести те же данные, что и в предыдущих запросах).
Создать сгруппированный запрос с подсчетом общего количества проданных мест по каждому направлению для каждого типа вагонов
Создать и заполнить таблицу новую таблицу sum(с помощью запроса) с полями: номер поезда, номер вагона, общее количество мест, количество проданных мест, количество свободных мест.
Выдать список вагонов (номера и типы) для поездов с тремя различными номерами, в которых количество вагонов меньше среднего количества выгонов во всех поездах.
В четвертой главе должны быть представлены разработанные процедуры и функции.
Разработать функцию, которая подсчитывала бы количество свободных мест в заданном поезде, вагоне на заданную дату.
Разработать процедуру, которая выдала бы результат следующего вида для определенного направления:
Направление |
Номер поезда |
Дата и время отправ-ления |
Дата и время прибы-тия |
Количе-ство часов в пути |
Общее количе-ство мест |
Количество проданных имест |
Процент заполнения поезда |
… |
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
Итого по направлению |
|
|
|
|
*** |
*** |
*** |
В итоговой строке подсчитывать результат по столбцам, помеченным звездочками.
В шестой главе должны быть разработаны и отображены средства обеспечивающие целостность данных в создаваемой базе данных с помощью триггеров.
Разработать триггер для добавления новой записи в таблицу о количестве проданных билетов в данный вагон данного поезда на заданную дату, который бы проверял, что такой номер поезда существует в списке поездов, а тип вагона соответствует хранящимся в базе типам вагонов.