Вам не нужны ограничения длины или верхнего регистра для внешнего ключа. Они будут «неявно проверены» ограничением внешнего ключа (как вы говорите, потому что ссылочные данные не могут существовать).
Но для обнуляемости это выбор. В SQL Server, если один или несколько столбцов в ссылочной таблице внешнего ключа равны NULL
, ограничение не применяется.
Таким образом, здесь вместо этого должен быть вопрос - есть ли в другой таблице строки, которые действительно должны не ссылаться на строку в таблице Clients
?
Другие посоветовали, чтобы ПК генерировался системой. Хотя я согласен с тем, что это часто полезно, не забывайте также применять ограничения для реальных данных. Например. даже если этот столбец не является вашим ПК, возможно, ему нужно уникальное ограничение, чтобы избежать дубликатов в ваших данных.