Можно ли применить ограничение RI к столбцу не первичного ключа?
У нас есть ситуация, когда нам нужно иметь ограничение RI для столбца без первичного ключа таблицы.
Сценарий:
**TABLE_2**
**Unique_Key Expression_Key Data**
132 ASDF123 qweqwr
458 PQRS789 abcd
**TABLE_1**
**Unique_Key Expression_Key Expression_Rule**
XYZ123 ASDF123 Fname = Simon
ABC123 ASDF123 Lname = Kelso
QWE123 ASDF123 Age = 89
FRU123 ASDF123 Gender = M
RTY3435 PQRS789 Fname = Michael
TYR134 PQRS789 Lname = John
Требование - если я получу значение 132 - тогда мне нужно оценить правило expression_id ASDF123. Этот идентификатор выражения не является первичным ключом таблицы Table_1, но он уникален для всех строк, связанных с этим выражением.
Можем ли мы реализовать ограничение RI в приведенном выше сценарии, где Table_1.Expression_Key = Table_2.Expression_Key, если это условие не выполняется при вставке данных, должно выдать ошибку.
1 ответ
Ограничение внешнего ключа может ссылаться на unique
ограничение (это не обязательно должен быть первичный ключ).