У меня есть таблица с именем Student
, и в этой таблице есть 2 столбца Student_Id
и Is_Honor_Student
(это флаговый столбец либо 0
, либо 1
для представления true / false)
У меня есть еще одна таблица с именем Honor_Student
, в которой есть 2 столбца Student_Id
и Class_Id
, а также некоторые дополнительные столбцы, не относящиеся к этому вопросу.
Конечно, третья таблица Class
, которая имеет Class_Id
column.
И, наконец, таблица с именем Enrollment
, в которой Student_Id
и Class_Id
ссылаются на таблицы Student
и Class
.
Хорошо, так что я хочу, чтобыограничение для проверки того, что если студент является студентом с отличием, то в таблице Honor_Student
должна существовать запись ДО того, как мне разрешат вставить запись в таблицу Enrollment
. Если студент не является студентом чести, то это ограничение не применяется. Как я могу это сделать?
Кстати, я использую jdbc liquibase, поэтому я был бы очень признателен за любой пример использования liquibase: https://www.liquibase.org/documentation/changes/add_check_constraint.html
Но для начала я был бы очень признателенв правильном направлении, даже используя Alter Table
или какой-то другой подход, который может сделать это возможным ... ТЕХНИЧЕСКИ Я думаю, что я ищу "условное" внешнее ограничение ключа с Student_Id
и Class_Id
, ссылающимися на таблицу Honor_Student
, нотолько если это студент чести ... это немного странно.