【发布时间】:2010-10-10 11:22:54
【问题描述】:
我正在尝试理解这个概念。例如:我有两张表 City 和 Country。
Country
-------
id
abbreviation
name
City
-----
id
name
Country (name or id, or both? - This is the question)
要引用特定城市并使其与其所属的国家保持同步,我想这将引用 country.id 作为 FK。这意味着城市表的示例将是:(200, New York, 19) - 其中 19 = 国家表中的美国。但这对查看表格的人没有帮助,因为如果不查看国家/地区表格中的 19 是什么,他不会知道 19 是什么。
所以我想将国家/地区名称也添加到城市表中,使其显示为:(200, New York, USA)。我不需要显示 19,因为 19 对读者没有用,而只是用于连接表格。
那么我的表列 / FK 应该是什么样子,我可以存储在这样的城市表行中(200,纽约,美国),但确保纽约将始终在美国查找中引用美国并保留 19 USA out of city table 的主键是否使表格看起来干净且易于理解?我假设如果引用了这些,明天如果我将 USA 更新为 20,它将在城市表中自行更新,同样,如果我将 USA 重命名为 US,它将在城市表中自行更新?
- 我的数据库在 MySQL 中
【问题讨论】: