Можем ли мы установить внешний ключ для уникального столбца, который содержит ноль? - PullRequest
0 голосов
/ 15 марта 2019

Я узнал, что мы можем установить внешний ключ для уникального ограниченного столбца, а уникальное ограничение позволит получить один ноль (исправьте меня, если я ошибаюсь).

Мой вопрос заключается в том, что в oracle мы можем создать внешний ключ для столбца, указанного в столбце уникальных ограничений, который находится в другой таблице и имеет значение null?

Если да, то как это возможно?

1 Ответ

2 голосов
/ 15 марта 2019

можем ли мы создать внешний ключ, основанный на уникальном ограничении со значением null?

Синтаксис позволяет нам создавать внешний ключ, который ссылается на уникальный ключ. Тем не менее, я думаю, что это будет если не совсем плохая практика, то, по крайней мере, своеобразная практика делать это. Первичные ключи являются нормой.

Если да, то как это возможно?

Это возможно, поскольку столбец внешнего ключа может быть необязательным. Внешний ключ ограничивает нас для ввода значения в дочернем столбце, который присутствует в указанном столбце первичного ключа. Однако, если мы поместим ноль в дочерний столбец, внешний ключ не будет применен. Это верно, независимо от того, ссылается ли внешний ключ на первичный или уникальный ключ.

Очевидно, что если дочерний столбец является обязательным (определяется как NOT NULL), тогда мы не можем поместить в него нуль, и действительно не имеет значения, является ли указанный столбец уникальным ключом или первичным ключом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...