Данное задание является резервным дистанционным материалом. Оно направлено на закрепление понятий реляционной модели данных, практический аудит аномалий, выявление нарушений ссылочной целостности и формулирование ограничений CHECK.
Ниже представлены фрагменты содержимого двух таблиц информационной системы университета: родительской таблицы Группы и дочерней таблицы Студенты. Столбец group_code в таблице «Студенты» объявлен как внешний ключ (FOREIGN KEY), ссылающийся на столбец group_code таблицы «Группы».
| group_code (PK) | specialty | course_num | max_students |
|---|---|---|---|
| ИС-21 | 09.02.07 ИСиП | 2 | 25 |
| СА-22 | 09.02.06 СиСА | 2 | 28 |
| ВД-23 | 09.02.07 Веб-разработка | 2 | 25 |
| student_id (PK) | full_name | group_code (FK) | enrollment_year | gpa |
|---|---|---|---|---|
| 101 | Алексеев Данил Сергеевич | ИС-21 | 2024 | 4.5 |
| 102 | Белова Екатерина Игоревна | ПМ-20 | 2024 | 4.8 |
| 103 | Воронов Артем Михайлович | СА-22 | 2024 | 3.9 |
| 104 | Григорьев Максим Андреевич | NULL | 2024 | 4.1 |
| 105 | Дмитриева Анна Павловна | ЭК-25 | 2024 | 4.7 |
| 106 | NULL | ИС-21 | 2024 | 3.6 |
Администратор базы данных выполняет команду удаления группы:
DELETE FROM groups WHERE group_code = 'СА-22';
Сформулируйте декларативные ограничения целостности (предикаты CHECK) для защиты информационной системы колледжа от логических ошибок: