我不确定我是否正确地命名了这个问题。
假设有两张表:一张代表用户,另一张代表地址。一个用户只能有一个地址:
CREATE TABLE User (
id INT NOT NULL,
full_name VARCHAR(255),
PRIMARY KEY(id)
);
CREATE TABLE Address (
id INT AUTO_INCREMENT NOT NULL,
address_line_1 VARCHAR(255),
address_line_2 VARCHAR(255),
PRIMARY KEY(id)
);
问题是:放置外键引用的正确位置在哪里?我是否应该通过创建引用 Address.id 的“address_id”列将引用列放入用户表中?还是应该将 user_id 列放入引用 User.id 的地址表中?