Вариант 7: Автостанция; Продажа билетов.
Автостанция ведет учет проданных билетов. Требуется обеспечить хранение и обработку следующих данных:
Информация о персональных данных пассажиров с указанием, как минимум, ФИО, даты рождения, пола и т.п.
Сведения об автобусах: модель, регистрационный номер, количество мест.
Сведения о маршрутах: город отправления, город прибытия, автобус, дата и время отправления.
Информация о проданных билетах, в том числе сведения о маршруте, клиенте, номере места в автобусе.
Порядок выполнения работы:
Постройте отношение в 1НФ.
Сформируйте минимальное множество функциональных зависимостей в отношении.
Определите потенциальные ключи, определите первичные ключи отношений.
Избавьтесь от частичных зависимостей и переведите все отношения в 2НФ.
Определите существование транзитивных зависимостей в отношении и переведите все отношения в 3НФ. Находятся ли полученные отношения в НФБК?
Нарисуйте ER-диаграмму предметной области.
Создайте базу данных в MS SQL Server: создайте и именуйте таблицы БД; именуйте атрибуты таблиц и выберите типы данных; определите первичные и внешние ключи таблиц и выберите типы данных. При необходимости определите ограничения атрибутов и значения по умолчанию.
Создайте диаграмму БД. Определите правила поддержания ссылочной целостности системы ключей.
Наполните БД тестовыми данными. Приведите примеры запросов на добавление, модификацию и удаление данных.
Создайте ограничение, запрещающее приобретать билетов больше, чем количество мест в автобусе. Реализуйте ограничение через скалярную функцию.
Создайте триггер на таблицу с маршрутами, ограничивающий ввод в поля «город отправления» и «город прибытия» одного и того же города. Определите стратегию такого изменения: запрет на обновление, либо использование неопределенных значений, либо другое.
Создайте представление по результатам продажи билетов с указанием данных маршрута и пассажиров.
Создайте хранимые процедуры (ХП):
По коду маршрута вернуть данные по автобусу и пассажирах.
Вывести список пассажиров, которые когда-либо приобретали билет в город с указанным названием. Решить задачу с использованием 1) операции соединения и 2) подзапроса.
Вывести отсортированный список пассажиров с указанием числа приобретенных билетов.
Модифицируйте предыдущую ХП, чтобы в указанном списке остались только те пассажиры, которые приобрели более N билетов.
Вывести список пассажиров, которые хотя бы однажды приобретали билеты в/из город с указанным названием.
Разработать в PowerPoint презентацию базы данных. Подготовить доклад о проделанной работе длительностью 7 минут.
Вариант 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 минут.