В этом примере между записью в блоге и автором существует соотношение 1: 1. Причина, по которой они существуют в виде отдельных сущностей / таблиц, заключается в группировке информации: пользовательские материалы не принадлежат записи blog
и могут дублироваться, если кто-то пишет более одной blog
.
Причина, по которой вы хотите реализовать это ограничение внешнего ключа, заключается в том, что ограничение гарантирует, что автор для записи blog
существует в таблице user
. В противном случае это могут быть бессмысленные / плохие данные. Внешний ключ не останавливает дубликаты - для этого вам понадобится первичный или уникальный ключ - внешний ключ проверяет только данные.
Теперь, когда Нанн прояснила для меня идентифицирующую / неидентифицирующую терминологию , blog.author_id
будет идентифицирующей взаимосвязью. Потому что он определяет, кто (что user
запись) автор.
Столбец id
в обеих таблицах можно считать первичным ключом, поскольку искусственный / суррогатный ключ является наиболее распространенным первичным ключом. Что делает эти столбцы неидентифицирующими отношениями ...