Я уже пару лет пишу с БД MySQL и никогда не использовал внешний ключ. Теперь я понимаю, что внешний ключ похож на идентификатор одной таблицы, который соответствует первичному ключу другой таблицы. У меня есть пользовательская таблица на моем сайте и, вероятно, около 10 других таблиц, которые все соответствуют первичному ключу моей пользовательской таблицы - однако они не установлены как внешние ключи.
Что я упускаю из-за отсутствия у этих 10 других таблиц внешнего ключа? Я имею в виду, насколько я могу судить, они в основном являются внешним ключом, за исключением того, что у них нет значения, сохраненного / присвоенного им в БД.
Есть ли какая-то другая выгода, о которой я просто не знаю?
Я также понимаю, что первичный ключ не может быть нулевым, но внешний ключ может быть. В моем случае это никогда не будет проблемой, так как моя пользовательская таблица создается, и когда новый пользователь добавляется в мою пользовательскую таблицу, я добавляю соответствующую запись в 10 других таблиц.