Домашнее задание - Практическое занятие №2: нормализация реляционной БД

Выполняйте только если преподаватель назначил это задание. Срок сдачи сообщит преподаватель.

Резервный учебно-методический комплект для дистанционной отработки пропущенного занятия по дисциплине «ОП.08 Основы проектирования баз данных» (СПО 09.02.07 / 09.02.06).

1. Описание предметной области универсального отношения

В автоматизированную систему учета сервисного центра компьютерной техники поступает денормализованная первичная ведомость выполнения ремонтных работ и установки запасных частей. Все факты фиксируются оператором в виде единого универсального отношения Универсальный_журнал_ремонтов:

Схема универсального отношения:
Универсальный_журнал_ремонтов { Номер_заказа, Артикул_запчасти, Дата_приема, ФИО_клиента, Телефон_клиента, Название_запчасти, Цена_запчасти, Количество_запчастей, Итоговая_стоимость_позиции }

Фрагмент исходной таблицы (1НФ — значения атомарны):

Номер заказа Артикул Дата приема ФИО клиента Телефон Название детали Цена (руб.) Кол-во Сумма (руб.)
ЗАК-501 ZAP-11 2026-10-01 Соколов А.В. +7 (922) 111-00-11 Вентилятор кулера 120mm 850.00 2 1700.00
ЗАК-501 ZAP-34 2026-10-01 Соколов А.В. +7 (922) 111-00-11 Термопаста MX-4 4g 600.00 1 600.00
ЗАК-502 ZAP-11 2026-10-02 Кузнецова Е.Н. +7 (922) 222-33-44 Вентилятор кулера 120mm 850.00 1 850.00

2. Пошаговое задание на приведение отношения к 2НФ

Обучающийся выполняет пошаговую нормализацию в письменном или электронном отчете по следующим шагам:

Шаг 1. Определение составного первичного ключа и выявление аномалий 1НФ

  1. Обоснуйте, почему атрибут Номер_заказа сам по себе не может служить первичным ключом исходной таблицы (продемонстрируйте факт дублирования заказов при нескольких позициях деталей).
  2. Обоснуйте, почему атрибут Артикул_запчасти также не может быть первичным ключом.
  3. Сформулируйте минимальный составной первичный ключ отношения: {Номер_заказа, Артикул_запчасти}.
  4. Приведите конкретные примеры проявления трех видов аномалий в данной таблице:
    • Аномалия вставки: почему невозможно занести на склад новую запчасть без оформления ремонта?
    • Аномалия удаления: что произойдет с карточкой детали ZAP-34 при аннулировании заказа ЗАК-501?
    • Аномалия модификации: что потребуется сделать при изменении номера телефона клиента Соколова?

Шаг 2. Анализ и формальная запись функциональных зависимостей (FD)

Выпишите все нетривиальные функциональные зависимости предметной области и классифицируйте их на полные и частичные:

1. {Номер_заказа} → {Дата_приема, ФИО_клиента, Телефон_клиента}
   [Классификация: ЧАСТИЧНАЯ зависимость от левой части составного ключа]

2. {Артикул_запчасти} → {Название_запчасти, Цена_запчасти}
   [Классификация: ЧАСТИЧНАЯ зависимость от правой части составного ключа]

3. {Номер_заказа, Артикул_запчасти} → {Количество_запчастей, Итоговая_стоимость_позиции}
   [Классификация: ПОЛНАЯ функциональная зависимость от составного ключа]
      

Шаг 3. Декомпозиция универсального отношения в схемы 2НФ (Lossless-Join)

Выполните проекционную декомпозицию без потерь данных. Сформируйте три нормализованных отношения, укажите первичные (PK) и внешние (FK) ключи:

1. Таблица «Заказы_на_ремонт» (Orders):
Заказы (Номер_заказа, Дата_приема, ФИО_клиента, Телефон_клиента)
Первичный ключ (PK): Номер_заказа. Ключ простой → отношение находится во 2НФ!
2. Таблица «Номенклатура_запчастей» (Parts):
Запчасти (Артикул_запчасти, Название_запчасти, Цена_запчасти)
Первичный ключ (PK): Артикул_запчасти. Ключ простой → отношение находится во 2НФ!
3. Таблица «Детали_в_заказе» (Order_Parts):
Детали_в_заказе (Номер_заказа, Артикул_запчасти, Количество_запчастей, Итоговая_стоимость_позиции)
Первичный ключ (PK): Составной {Номер_заказа, Артикул_запчасти}.
Внешние ключи (FK):
- Номер_заказа REFERENCES Заказы(Номер_заказа)
- Артикул_запчасти REFERENCES Запчасти(Артикул_запчасти).
Свойство: Все неключевые атрибуты функционально полно зависят от составного ключа → отношение находится во 2НФ!

Шаг 4. Доказательство декомпозиции без потерь и отсутствия аномалий

Оформите строгое инженерное обоснование:

3. Критерии оценивания домашней работы (Шкала 4 балла)

Оценка: 4 балла — «5» (отлично); 3 балла — «4» (хорошо); 2 балла — «3» (удовлетворительно); 0–1 балл — «2» (неудовлетворительно).