Кафедра ИТКафедра ИТ
Обучение
  • О кафедре
  • Направления подготовки
  • Структура кафедры
  • Обращение к студентам
  • Официальный сайт «ВШП»
На главнуюGitHub
Обучение
  • О кафедре
  • Направления подготовки
  • Структура кафедры
  • Обращение к студентам
  • Официальный сайт «ВШП»
  • МДК.11.01 - ТЕСТ. Задания на определение нормальных форм БД

МДК.11.01 - ТЕСТ. Задания на определение нормальных форм БД

В этом тесте представлены наборы данных в виде таблиц, каждая из которых находится в одной из нормальных форм базы данных: от сырых данных (RAW DATA) и ненормализованной формы (UNF) до шестой нормальной формы (6NF). Проанализируйте данные таблиц и определите, в какой нормальной форме они находятся. Обратите внимание, что в некоторых случаях отдельные таблицы могут находиться в более низких формах, однако если одна из таблиц удовлетворяет требованиям более высокой формы, будем считать, что вся база данных соответствует этой форме.

Заметка

В рамках данного тестирования каждое задание посвящено отдельной нормальной форме БД — повторения форм в вопросах исключены.

  • Бланк ответов (для студентов)
  • 🔒 Ключи ответов для проверки (для преподавателей)

Критерии оценки:

Верных ответовОценка
> 8«отлично»
7-8«хорошо»
5-6«удовлетворительно»
< 5«неудовлетворительно»

Примечание

В бланке ответов необходимо не только верно указать нормальную форму, но и обосновать по каким критериям вы выбрали именно эту. При проверке ответы без объяснения не засчитываются.

Список заданий:

  • 1. Ферма: учёт надоя и рациона по периодам
  • 2. Учёт посетителей в фитнес-клубе
  • 3. Учёт приёмов в ветеринарной клинике
  • 4. Учёт обращений в мастерскую
  • 5. Переговорные в коворкинге
  • 6. Книжные издания: язык, формат и издательство
  • 7. Фонд библиотеки: филиалы и языки
  • 8. Онлайн-магазин одежды
  • 9. Учёт лабораторных анализов
  • 10. Заказы в кафе

Инфо

Здесь и далее в примерах будут использованы следующие обозначения:

  • 🔑 - Первичный ключ
  • 🔗 - Внешний ключ
  • ⚠️ - Набор значений ограничен

1. Ферма: учёт надоя и рациона по периодам

В хозяйстве ведётся помесячный учёт по каждой корове. Данные разбиты на отдельные факты: сам список коров, надой и тип рациона за период.

Доменные ограничения на уровне СУБД:

  • avg_daily_liters — число от 0 до 60;
  • feed_type — значение из допустимого перечня значений.

Таблица коров

🔑 🔗 cow_idcow_name
1Зорька
2Ночка
3Белянка

Таблица надоя

🔑 🔗 cow_id🔑 milk_period⚠️ avg_daily_liters
1[2025-01-01:2025-01-31]18
1[2025-02-01:2025-02-28]16
2[2025-01-01:2025-01-31]14
3[2025-01-15:2025-02-14]17

Таблица рациона

🔑 🔗 cow_id🔑 milk_period⚠️ feed_type
1[2025-01-01:2025-01-31]силос + комбикорм
1[2025-02-01:2025-02-28]сено + комбикорм
2[2025-01-01:2025-01-31]сено
3[2025-01-15:2025-02-14]силос

Вопрос: В какой нормальной форме находятся эти данные?

2. Учёт посетителей в фитнес-клубе

Перед вами таблица регистрации клиентов фитнес-клуба.

Таблица посещений

🔑 visitor_idfull_namevisitsservices_usedtrainer
1Иванов Иван2024-08-01, 2024-08-03кардио, силовая тренировкаСмирнов А.
2Петрова Мария2024-08-02йога, пилатесСидорова Е.
3John Smith2024-08-01, 2024-08-04, 2024-08-05плавание, массажBrown T.
4Ким Алексей2024-08-01кардиоСмирнов А.

Вопрос: В какой нормальной форме находятся эти данные?

3. Учёт приёмов в ветеринарной клинике

Это таблица учёта приёмов животных у ветеринаров. Каждый приём уникален по сочетанию ветврача и животного.

Таблица приёмов

🔑 🔗 vet_id🔑 🔗 appointment_idvet_namespecializationclient_namepet_nameservice
1101Иванова А.А.терапевтПетров С.БарсикВакцинация
1102Иванова А.А.терапевтСмирнова Н.РексОсмотр
2201Кузнецов Д.Д.хирургИванова Т.ШарикЛечение уха
2202Кузнецов Д.Д.хирургИванова Т.БимВакцинация

Вопрос: В какой нормальной форме находятся эти данные?

4. Учёт обращений в мастерскую

Перед вами фрагменты данных, собранных в столярной мастерской из разных источников: сообщений мессенджеров, заметок мастеров и фотографий заказов. Формат записей, порядок и формат данных различаются.

ABCD
1client=Иванов И.И., заказ: стул×4, цвет=«ясень»; дата=2024/08/01фото=chair_1.jpg
2заказ №102, клиент: Петров С.А., изделие: шкаф (3 секции)контакт: +7-900-555-22-11срок: 10 дней
3id:103CUSTOMER: «John Smith»items: [table×1, shelf×2]; payment=card
4запись устная: Мария просила «полку как в прошлый раз»
5заказ=104; client="Сергей"; details={material: oak, finish: matte}total=17 500₽

Вопрос: В какой нормальной форме находятся эти данные?

5. Переговорные в коворкинге

Система бронирования переговорных комнат. Каждая запись брони уникальна по сочетанию комнаты и времени начала слота. Подразумевается что каждый временной слот бронирования комнаты равен 1 часу.

Таблица бронирований

🔑 🔗 room_id🔑 slot_start🔗 customer_id
112024-10-01 10:00:00301
112024-10-01 11:00:00302
122024-10-01 10:00:00303

Таблица комнат

🔑 room_idroom_name
11Альфа
12Браво

Таблица клиентов

🔑 customer_idcustomer_name
301Иван Иванов
302Мария Петрова
303John Smith

Вопрос: В какой нормальной форме находятся эти данные?

6. Книжные издания: язык, формат и издательство

У книги существуют конкретные издания — тройки «язык-формат-издательство». Не все пары совместимы между собой: одно издательство печатает книгу на русском только в твёрдом переплёте, а на английском — у другого издательства и только в мягком.

Таблица изданий

🔑 🔗 book_id🔑 language_code🔑 🔗 format_id🔑 🔗 publisher_id
1ru1201
1en2202
2en2201

Таблица книг

🔑 book_idtitle
1Алгоритмы и структуры
2Базы данных

Таблица форматов

🔑 format_idformat_name
1Твёрдый переплёт
2Мягкий переплёт

Таблица издательств

🔑 publisher_idpublisher_name
201Издательство А
202Издательство B

Вопрос: В какой нормальной форме находятся эти данные?

7. Фонд библиотеки: филиалы и языки

Книга может находиться в нескольких филиалах и одновременно существовать на нескольких языках. Наличие книги в филиале не зависит от того, на каких языках есть издания, и наоборот.

Таблица наличия

🔑 🔗 book_id🔑 🔗 branch_id🔑 language_code
1101ru
1102en
1103ru
2101en

Таблица книг

🔑 book_idtitle
1Алгоритмы и структуры
2Базы данных

Таблица филиалов

🔑 branch_idbranch_name
101Центральный
102Северный
103Южный

Вопрос: В какой нормальной форме находятся эти данные?

8. Онлайн-магазин одежды

Система хранит заказы и клиентов. Данные разделены так, чтобы избежать транзитивных зависимостей.

Таблица заказов

🔑 order_id🔗 customer_idorder_date
11012024-09-01
21022024-09-02
31012024-09-03
41032024-09-04

Таблица клиентов

🔑 customer_idcustomer_namecity
101Анна СмирноваМосква
102Иван ПетровСанкт-Петербург
103Ольга ИвановаКазань

Вопрос: В какой нормальной форме находятся эти данные?

9. Учёт лабораторных анализов

В медицинской лаборатории ведётся учёт результатов анализов.
Каждая таблица имеет только допустимые значения в своих доменах, а все ограничения реализованы на уровне СУБД. Каждый анализ должен соответствовать конкретному типу и иметь значение, которое допустимо только в рамках этого типа анализа (например, "группа крови" может быть только A, B, AB, O, а "гемоглобин" и "холестерин" — только числовое значение в определенном диапазона).

Таблица типов анализов

🔑 analysis_type_idanalysis_type_name⚠️ allowed_values
1Группа кровиТолько 'A', 'B', 'AB' или 'O'
2ГемоглобинТолько число в диапазоне от 80 до 180
3ХолестеринТолько число в диапазоне от 100 до 300

Таблица пациентов

🔑 patient_idpatient_name
101Иванов И.И.
102Петров П.П.
103Смирнов С.С.
104Кузнецов К.К.

Таблица анализов

🔑 analysis_id🔗 patient_id🔗 analysis_type_id⚠️ value
11011'A'
21021'AB'
31032136
41042145
51023220

Вопрос: В какой нормальной форме находятся эти данные?

10. Заказы в кафе

В кафе ведётся журнал заказов, где все блюда и напитки записываются в одну ячейку, если их заказал один клиент.

Таблица заказов (сырые данные)

КлиентДатаЗаказанные блюда и напиткиСумма
Иванов И.И.2025-10-01Борщ, Котлета, Чай450
Петрова А.А.2025-10-01Салат, Суп, Компот390
Смирнов С.С.2025-10-02Пицца, Кофе520

Вопрос: В какой нормальной форме находятся эти данные?

Последнее обновление: 06.10.2025, 23:20
Предыдущая
МДК.11.01 - QUIZ. Задания для самопроверки
© Кафедра информационных технологий ЧУВО «ВШП», 2025. Версия: 0.11.13
Материалы доступны в соответствии с лицензией: