Логотип коледжу
Оптико-механічний фаховий коледж

Практична робота №12. Нормалізація реляційних таблиць до 3НФ і BCNF

Мета

Навчитися визначати функціональні залежності, приводити відношення до 3НФ і BCNF та обґрунтовувати декомпозицію.

Підготовка

Перед виконанням опрацюйте пов'язані лекції:

Завдання

  1. Візьміть відношення з практичної №7/№8 (наприклад enrollments) або запропоноване викладачем не нормалізоване відношення.
  2. Запишіть усі функціональні залежності предметної області та визначте кандидатні ключі.
  3. Перевірте відношення на відповідність 1НФ, 2НФ, 3НФ і BCNF. Для кожного етапу фіксуйте, які залежності порушують норм форму.
  4. Виконайте декомпозицію до 3НФ, а потім до BCNF. Для кожного кроку:
    • назвіть усунуту залежність;
    • запишіть отримані відношення з ключами;
    • поясніть, чи зберігаються всі факти (безвтратність) та залежності.
  5. Побудуйте SQL-скрипт, який створює нормалізовану схему із зовнішніми ключами, що з'єднують розкладені таблиці.
  6. На прикладі покажіть, як одна з аномалій зникає після нормалізації.

Вимоги до результату

  • Карта функціональних залежностей.
  • Кроки декомпозиції 1НФ → 2НФ → 3НФ → BCNF із поясненнями.
  • SQL-скрипт нормалізованої схеми.
  • Приклад зникнення аномалії.

Питання для захисту

  • У чому різниця між 3НФ і BCNF?
  • Що таке неключовий детермінант?
  • Коли декомпозиція може втратити залежність?
  • Як перевірити, що декомпозиція безвтратна?

Пов'язані лекції

Ресурси

Здати роботу