Добавлен: 20.10.2018
Просмотров: 3057
Скачиваний: 5
Вариант 8: Гостиница; Бронирование номеров.
Гостиница ведет учет бронирования номеров. Требуется обеспечить хранение и обработку следующих данных:
-
Информация о персональных данных клиентов с указанием, как минимум, ФИО, даты рождения, пола и т.п.
-
Сведения о бронировании номеров гостиницы клиентом с указанием периода бронирования, стоимости.
-
Реестр доступных услуг, предоставляемых гостиницей.
-
Сведения о предоставлении услуг клиентам, забронировавшим номер с указанием даты и стоимости предоставленной услуги.
Порядок выполнения работы:
-
Постройте отношение в 1НФ.
-
Сформируйте минимальное множество функциональных зависимостей в отношении.
-
Определите потенциальные ключи, определите первичные ключи отношений.
-
Избавьтесь от частичных зависимостей и переведите все отношения в 2НФ.
-
Определите существование транзитивных зависимостей в отношении и переведите все отношения в 3НФ. Находятся ли полученные отношения в НФБК?
-
Нарисуйте ER-диаграмму предметной области.
-
Создайте базу данных в MS SQL Server: создайте и именуйте таблицы БД; именуйте атрибуты таблиц и выберите типы данных; определите первичные и внешние ключи таблиц и выберите типы данных. При необходимости определите ограничения атрибутов и значения по умолчанию.
-
Создайте диаграмму БД. Определите правила поддержания ссылочной целостности системы ключей.
-
Наполните БД тестовыми данными. Приведите примеры запросов на добавление, модификацию и удаление данных.
-
Создайте ограничение, запрещающее бронировать номер, который был ранее забронирован в указанный период.
-
Создайте триггер на таблицу с персональными данными: при обновлении поля «Отчество» проверять его окончание. Если поле «Пол» не заполнено и окончание отчества равно «%вна», то пол назначить «женский», если окончание отчества равно «%вич», то пол назначить «мужской».
-
Создайте представление с данными по предоставляемым услугам клиентам с указанием услуг, клиентов, даты предоставления услуги, стоимости.
-
Создайте хранимые процедуры (ХП):
-
По коду гостиничного номера вернуть всех клиентов, забронировавших его в указанный временной период.
-
Вывести список клиентов, которые воспользовались указанной услугой. Решить задачу с использованием 1) операции соединения и 2) подзапроса.
-
Вывести отсортированный список клиентов с указанием денег, израсходованных на бронирование номеров и заказ услуг.
-
Модифицируйте предыдущую ХП, чтобы в указанном списке остались только те клиенты, которые израсходовали более N рублей.
-
Вывести список клиентов, которые хотя бы раз заказали указанную услугу.
-
-
Разработать в PowerPoint презентацию базы данных. Подготовить доклад о проделанной работе длительностью 7 минут.
Вариант 9: Социальная сеть; Пользовательские профили.
Социальная сеть реализует сервисы: регистрация в группе, выбор друзей. Требуется обеспечить хранение и обработку следующих данных:
-
Информация о персональных данных пользователей с указанием, как минимум, ФИО, даты рождения, пола и т.п.
-
Список групп с указанием названия группы и даты создания.
-
Информация о членстве в группе с указанием даты регистрации.
-
Информация о друзьях пользователя с указанием самого пользователя и пользователей, добавленных в статусе «друг».
Порядок выполнения работы:
-
Постройте отношение в 1НФ (нормализацию производить только для сервиса «регистрация в группе», пп.1-3).
-
Сформируйте минимальное множество функциональных зависимостей в отношении.
-
Определите потенциальные ключи, определите первичные ключи отношений.
-
Избавьтесь от частичных зависимостей и переведите все отношения в 2НФ.
-
Определите существование транзитивных зависимостей в отношении и переведите все отношения в 3НФ. Находятся ли полученные отношения в НФБК?
-
Нарисуйте ER-диаграмму предметной области.
-
Создайте базу данных в MS SQL Server: создайте и именуйте таблицы БД; именуйте атрибуты таблиц и выберите типы данных; определите первичные и внешние ключи таблиц и выберите типы данных. При необходимости определите ограничения атрибутов и значения по умолчанию.
-
Создайте диаграмму БД. Определите правила поддержания ссылочной целостности системы ключей.
-
Наполните БД тестовыми данными. Приведите примеры запросов на добавление, модификацию и удаление данных.
-
Создайте ограничение, запрещающее повторно пользователю регистрироваться в группе. Реализуйте ограничение через скалярную функцию.
-
Создайте триггер на таблицу с друзьями пользователя, ограничивающий ввод и редактирование симметричных записей: если существует бинарное отношение (пользователь1, пользователь2), то существует симметричное бинарное отношение (пользователь2, пользователь1), ввод которого ограничивается с целью подавления избыточных данных.
-
Создайте представление с данными по регистрации пользователей в группах.
-
Создайте хранимые процедуры (ХП):
-
По коду группы вернуть всех ее пользователей, зарегистрировавшихся в указанный временной период.
-
Вывести список пользователей, которые зарегистрированы в указанной группе и имеют друзей. Решить задачу с использованием 1) операции соединения и 2) подзапроса.
-
Вывести отсортированный список пользователей с указанием числа друзей.
-
Модифицируйте предыдущую ХП, чтобы в указанном списке остались только те пользователи, которые имеют более N друзей.
-
Вывести список пользователей, которые состоят хотя бы в одной группе и имеют хотя бы одного друга.
-
-
Разработать в PowerPoint презентацию базы данных. Подготовить доклад о проделанной работе длительностью 7 минут.
Вариант 10: Библиотека. Учет книг.
Библиотека ведет учет выданных книг. Требуется обеспечить хранение и обработку следующих данных:
-
Информация о персональных данных читателей и библиотекарей с указанием, как минимум, ФИО, даты рождения, пола и т.п.
-
Сведения о книгах: название, автор, издательство, год издания, жанр произведения и т.п.
-
Информация о выдаче и возврате книг в библиотеку. Читатель единовременно может взять несколько книг, которые есть в наличии в библиотеке. Читатель единовременно может вернуть несколько книг.
Порядок выполнения работы:
-
Постройте отношение в 1НФ.
-
Сформируйте минимальное множество функциональных зависимостей в отношении.
-
Определите потенциальные ключи, определите первичные ключи отношений.
-
Избавьтесь от частичных зависимостей и переведите все отношения в 2НФ.
-
Определите существование транзитивных зависимостей в отношении и переведите все отношения в 3НФ. Находятся ли полученные отношения в НФБК?
-
Нарисуйте ER-диаграмму предметной области.
-
Создайте базу данных в MS SQL Server: создайте и именуйте таблицы БД; именуйте атрибуты таблиц и выберите типы данных; определите первичные и внешние ключи таблиц и выберите типы данных. При необходимости определите ограничения атрибутов и значения по умолчанию.
-
Создайте диаграмму БД. Определите правила поддержания ссылочной целостности системы ключей.
-
Наполните БД тестовыми данными. Приведите примеры запросов на добавление, модификацию и удаление данных.
-
Создайте ограничение, запрещающее единовременно выдавать читателю более 3 книг. Реализуйте ограничение через скалярную функцию.
-
Создайте триггер на таблицу с персональными данными читателей: при обновлении поля «Отчество» проверять его окончание. Если поле «Пол» не заполнено и окончание отчества равно «%вна», то пол назначить «женский», если окончание отчества равно «%вич», то пол назначить «мужской».
-
Создайте представление по результатам выдачи книг с указанием сведений о книгах и читателях.
-
Создайте хранимые процедуры (ХП):
-
По коду читателя вернуть все книги, находящиеся у него «на руках» в настоящий момент.
-
Вывести список читателей, которые когда-либо брали книгу с указанным названием. Решить задачу с использованием 1) операции соединения и 2) подзапроса.
-
Вывести отсортированный список читателей с указанием числа книг, которые он прочитал.
-
Модифицируйте предыдущую ХП, чтобы в указанном списке остались только те читатели, которые прочитали более N книг.
-
Вывести список читателей, которые хотя бы однажды брали книги указанного жанра.
-
-
Разработать в PowerPoint презентацию базы данных. Подготовить доклад о проделанной работе длительностью 7 минут.
Вариант 11: Магазин: Учет проданных товаров.
Магазин ведет учет проданных товаров. Требуется обеспечить хранение и обработку следующих данных:
-
Информация о персональных данных покупателей с указанием, как минимум, ФИО, даты рождения, пола и т.п.
-
Сведения о товарах: название, цена, срок годности, признак доступности на складе, категория товара и т.п.
-
Информация о продаже товаров. Покупатель единовременно может приобрести любое количество товаров, которые есть в наличии на складе.
Порядок выполнения работы:
-
Постройте отношение в 1НФ.
-
Сформируйте минимальное множество функциональных зависимостей в отношении.
-
Определите потенциальные ключи, определите первичные ключи отношений.
-
Избавьтесь от частичных зависимостей и переведите все отношения в 2НФ.
-
Определите существование транзитивных зависимостей в отношении и переведите все отношения в 3НФ. Находятся ли полученные отношения в НФБК?
-
Нарисуйте ER-диаграмму предметной области.
-
Создайте базу данных в MS SQL Server: создайте и именуйте таблицы БД; именуйте атрибуты таблиц и выберите типы данных; определите первичные и внешние ключи таблиц и выберите типы данных. При необходимости определите ограничения атрибутов и значения по умолчанию.
-
Создайте диаграмму БД. Определите правила поддержания ссылочной целостности системы ключей.
-
Наполните БД тестовыми данными. Приведите примеры запросов на добавление, модификацию и удаление данных.
-
Создайте ограничение, запрещающее продать покупателю товар, не доступный на складе. Реализуйте ограничение через скалярную функцию.
-
Создайте триггер на таблицу с товарами: при обновлении полей срока годности поле "С" должно быть менее поля «До» либо иметь неопределенные значения. Определите стратегию такого изменения: запрет на обновление, либо использование неопределенных значений, либо другое.
-
Создайте представление по результатам продаж товаров с указанием сведений о товарах и покупателях.
-
Создайте хранимые процедуры (ХП):
-
По коду покупателя вернуть все товары, приобретенные в указанный период времени.
-
Вывести список покупателей, которые когда-либо приобретали товар с указанным названием. Решить задачу с использованием 1) операции соединения и 2) подзапроса.
-
Вывести отсортированный список покупателей с рассчитанной суммой потраченных на покупки денег.
-
Модифицируйте предыдущую ХП, чтобы в указанном списке остались только те покупатели, которые приобрели товаров более чем на N рублей.
-
Вывести список покупателей, которые хотя бы однажды покупали товары указанной категории.
-
Разработать в PowerPoint презентацию базы данных. Подготовить доклад о проделанной работе длительностью 7 минут.