– будут ли полученные в БД, реализованной по п. 1, НФБК-отношения также находиться в четвертой (4НФ) и пятой (5НФ) нормальных формах?
– представленные в табл. 3.2 данные уязвимы по отношению к аномалиям обновления. Приведите примеры аномалий вставки, удаления и изменения данных;
– опишите и проиллюстрируйте процесс нормализации данных, представленных в табл. 3.2, вплоть до НФБК. Обоснуйте любые допущения, сделанные вами в отношении данных этой таблицы;
– будут ли полученные в БД, реализованной по п. 2, НФБК-отношения также находиться в четвертой (4НФ) и пятой (5НФ) нормальных формах?
3.3 MS SQL Server - особенности использования
Краткая теория занятия
1. Формирование БД учебного задания в СУБД SQL Server
4. Реализация представлений в SQL Server
3.4 Языки БД
Краткая теория занятия
1. Простые запросы SELECT
5. Обобщающие функции
6. Подзапросы и соединения
7. Группирование
Задание на практическое занятие
Исходные данные
Представленные в таблице 3.3 описания таблиц являются частью базы данных, созданной в среде некоторой реляционной СУБД.
Таблица 3.3 – Исходная конфигурация таблиц задания
Таблица | Названия столбцов |
Hotel | Hotel No, Name, Address |
Room | Room No, Hotel No, Type, Price |
Booking | Hotel_No, Guest_No, Date_From, Date To, Room_No |
Guest | Guest No, Name, Address |
Таблица Hotel содержит сведения об отелях. Ее первичным ключом является столбец Hotel_No.
Таблица Room содержит сведения о гостиничных номерах каждого из отелей. Ее первичный ключ состоит из столбцов Hotel No и Room No.
Таблица Booking содержит сведения о регистрации постояльцев гостиниц. Ее первичный ключ состоит из столбцов Hotel _No, Guest _No и Date _From. Таблица Guest содержит сведения о постояльцах. Ее первичным ключом является столбец Guest No.
Требования по заданию
1. Нормализация БД. Проверьте, удовлетворяет ли представленная БД условиям целостности данных. При необходимости измените ключевые поля для реализации условий ссылочной целостности данных. Разработайте нормализованную модель данных
2. Создайте БД в MS SQL Server
3. Простые запросы
– Выберите из базы сведения обо всех отелях.
– Выберите из базы сведения обо всех отелях, расположенных в Лондоне.
– Составьте перечень имен и адресов всех постояльцев, зарегистрированных в отелях Лондона, упорядочив информацию по именам постояльцев в алфавитном порядке.
– Составьте список всех двухкомнатных или семейных номеров отелей с ценой менее 40,00 фунтов стерлингов в сутки, упорядочив данные в порядке увеличения стоимости номера.
– Выберите все записи регистрации постояльцев, в которых не было заполнено поле date to.
4. Обобщающие функции
– Сколько отелей принадлежит компании?
– Какова средняя стоимость номера?
– Чему равен общий суточный доход от всех двухкомнатных номеров?
– Сколько различных постояльцев было зарегистрировано на протяжении августа месяца?
5. Подзапросы и соединения
– Составьте отчет с указанием цены и типа всех номеров отеля Grosvenor Hotel.
– Перечислите всех постояльцев, в настоящее время снимающих номера в отеле Grosvenor Hotel.
– Составьте отчет, содержащий полные сведения обо всех номерах отеля Grosvenor Hotel, с указанием имен постояльцев всех номеров.
– Чему равен общий доход от постояльцев, зарегистрированных в отеле Grosvenor Hotel, за сегодняшний день?
– Составьте список номеров отеля Grosvenor Hotel, которые в данный момент свободны.
– Каковы общие потери от наличия в отеле Grosvenor Hotel свободных номеров?
6. Группирование
– Определите количество номеров в каждом из отелей.
– Определите количество номеров в каждом из отелей, расположенных в Лондоне.
– Каково среднее количество постояльцев, зарегистрированных в каждом из отелей в августе месяце?
– Какой тип номеров чаще всего снимается в каждом из отелей Лондона?
– Какова сумма потерь от наличия свободных номеров в каждом из отелей за сегодняшний день?
7. Создание и заполнение таблиц
– С помощью оператора CREATE TABLE создайте таблицы Hotel, Room. Booking и Guest.
– Введите в каждую из таблиц несколько записей.
– Увеличьте стоимость каждого номера на 5%.
– Создайте отдельную таблицу с той же самой структурой, что и таблица Booking, предназначенная для хранения архивных записей. С помощью оператора INSERT скопируйте в новую таблицу все записи таблицы Booking, созданные до 1 января 1999 года. Удалите все записи таблицы Booking, созданные до 1 января 1999 года
3.5 Управление транзакциями
Краткая теория занятия
1. Реализация хранимой процедуры на основе запроса, реализованного в представлениях
8. Реализация хранимых процедур для создания и заполнения таблиц
9. Подключение хранимых процедур к проекту C# в Visual Studio
10. Реализация транзакции для формирования архива записей БД
Задание на практическое занятие
Разработать хранимые процедуры для заданий п. 3.4.
4 План самостоятельной работы студентов
План самостоятельной работы студента приведен в п. 1.4 настоящего УМК
5 Контрольные работы (только для ЗО)
В качестве контрольной работы студентов заочного отделения принимаются выполненные проекты по практическим занятиям дневного отделения пп. 3.1-3.5.
6 Курсовые работы (учебные проекты)
6.1 Тематика
Учебный проект выполняется в рамках контрольного индивидуального задания 4-го модуля дневного отделения. Тематикой рабочего проекта является разработка БД в MS SQL Server.
Индивидуальное задание проверяет:
– навыки студента в формировании логической и физической модели БД;
– знания языков формирования запросов (Transact SQL, язык QBE в среде MS SQL Server Management Studio);
– умение формировать хранимые процедуры среде MS SQL Server Management Studio
6.2 Задание на учебный проект (общие требования)
Индивидуальное задание включает следующие элементы:
– проектирование БД;
– создание БД средствами SQL Server и занесение в нее данных;
– организацию запросов к базе;
– оформление отчета с помощью Конструктора запросов.
Необходимо спроектировать БД, содержащую некоторые сведения, представленные в виде группы представленных ниже атрибутов. Шесть первых атрибутов являются обязательными для всех, а остальные варьируются в соответствии с индивидуальным заданием. Приведенные атрибуты характеризуют некоторую группу людей и позволяют с учетом их профессиональной деятельности рассчитать денежное содержание. Состав атрибутов:
1. FIO - фамилия и инициалы;
2. God - год рождения;
3. Dolgn - должность занимаемая;
4. O_Dolgn - оклад по должности;
5. Ctag - стаж работы;
6. D_Stag - надбавка за стаж (свыше 5,10, 15, 20, 25, 30, 35, 40 лет);
7. Udal - удаленность (средняя, большая, очень большая);
8. D_Udal - надбавка за удаленность;
9. Slogn - сложность (средняя, высокая, очень высокая);
10. D_Slogn - надбавка за сложность;
11. Vredn - вредность (по категориям: 1, 2, 3, 4, 5);
12. D_Vredn - надбавка за вредность;
13. Clasn - классность (мастер, первая, вторая, третья);
14. D_ Clasn - надбавка за классность;
15. U_Zvan - ученое звание (доцент, снс);
16. D_Uzvan - надбавка за ученое звание;
17. U_Step - ученая степень (ктн, дтн);
18. D_UStep - надбавка за ученую степень;
19. Zvanie - воинское звание (младший лейтенант, лейтенант, ст._лейтенант, капитан, майор, подполковник, полковник);
20. D_Zvanie - надбавка за воинское звание.
1. Необходимо в соответствии со своим списком атрибутов спроектировать БД (в Visio разрабатывается физическая и логическая модели данных).
2. Создать базу данных в MS SQL Server.
3. Занести в спроектированную БД данные.
4. Организовать постоянные связи между таблицами для обеспечения целостности своей БД при изменении записей, добавлении записей, удалении записей.
5. Убедиться, что:
– данные, внесенные в таблицы, непротиворечивы;
– система поддержки целостности БД функционирует. Для этого попытаться изменить, ввести и удалить данные в таблицах с нарушением правил поддержания целостности БД;
– тестовые примеры проверки целостности БД представить в отчете по контрольному заданию.
6. Организовать запросы к БД, которые бы позволяли продемонстрировать:
– фамилию и должность сотрудника;
– сумму денежного содержания сотрудника и значения компонентов, из которых она формируется;
– для каждого поля сформировать заголовок, используя кириллицу;
– сведения в запросе упорядочить в порядке убывания денежного содержания, а при равном денежном содержании - в алфавитном порядке фамилий сотрудников.
6.3 Индивидуальное задание
В таблице 6.1 отмечены номера используемых атрибутов по вариантам контрольного проекта
Таблица 6.1 – Варианты индивидуального задания
Вариант | Номер атрибута | |||||||||||
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
1 | * | * | * | * | ||||||||
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 | * | * | * | * | * | * | ||||||
27 | * | * | * | * | * | * | ||||||
28 | * | * | * | * | * | * | ||||||
6.4 Указания по оформлению
Для сдачи контрольного учебного проекта студент представляет
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


