Добавление фразы WITH CHECK OPTION
к ограничению REFERENCES
сообщает базе данных о необходимости применения определенного ограничения RI при детализации отдельной транзакции или запроса. Система объединит дочернюю и родительскую таблицы, чтобы увидеть, есть ли несоответствие. Если обнаружено несоответствие, вся транзакция откатывается в режиме сеанса TERADATA
или запрос проблемы в режиме ANSI
.
В противном случае, если вы укажете WITH NO CHECK OPTION
, база данных не будет применять RI. Таким образом, запись в дочернем элементе может ссылаться на родителя, используя значение, отличное от NULL, если значение родительской таблицы не существует.
Правоприменение RI - это обоюдоострый меч в Teradata, и его нужно тщательно оценить, как вы в конечном итоге решите его применить. В руководствах Teradata изложены многие вещи, которые вам необходимо учитывать, чтобы принять решение. При этом за последние 15 лет, в течение которых я работал с Teradata, я еще не работал над системой, в которой RI применялся в хранилище данных. Правильно, неправильно или безразлично.
Надеюсь, это поможет.