Можно ли применить ограничение 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 ограничение (это не обязательно должен быть первичный ключ).

Другие вопросы по тегам