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

Практична робота №10. Реалізація цілісності даних: ключі та обмеження

Мета

Навчитися реалізовувати сутнісну, доменну та посилальну цілісність за допомогою обмежень і каскадних дій.

Підготовка

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

Завдання

  1. Створіть таблиці з повним набором обмежень: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT.
  2. Для зв'язку курсу з підрозділом додайте каскадну поведінку на варіанті ON DELETE RESTRICT і продемонструйте, що видалення підрозділу з курсами заборонене.
  3. Створіть окрему таблицю, де зовнішній ключ має ON DELETE CASCADE, і покажіть, що видалення батьківського запису видаляє дочірні.
  4. Для кожного обмеження спробуйте вставити дані, що порушують правило, і запишіть повідомлення PostgreSQL.
  5. Покажіть приклад із UNIQUE та NULL: перевірте, скільки рядків із NULL допускає обмеження.
  6. Додайте перевірку діапазону (CHECK) і значення за замовчуванням (DEFAULT) та поясніть, коли вони спрацьовують.

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

  • SQL-скрипт із таблицями та обмеженнями.
  • Таблиця «обмеження — команда, що його порушує — повідомлення».
  • Демонстрація RESTRICT і CASCADE на прикладі.

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

  • Як CHECK взаємодіє з NULL?
  • Коли доцільний CASCADE, а коли RESTRICT?
  • Чому UNIQUE допускає кілька NULL?
  • Що захищає FOREIGN KEY?

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

Ресурси

Здати роботу