假设我有以下内容:
表region_city
id name parent_id
==============================
1 North null
2 South null
3 Manchester 1
4 London 2
在我的用户表中,我存储用户所在城市的 ID。
现在,在我的搜索表单中,我需要能够执行顶级搜索,即查找属于给定区域(北部或南部)的所有用户。
如果我在用户表中包含一个region_id字段,会让生活变得更轻松吗?或者说这违背了标准化的概念?
最佳答案
它确实使表结构非规范化,并且可能会引入数据更新异常。考虑:用户从曼彻斯特搬到伦敦,并且 city_id 发生变化。 Region_id 仍然可以指向北方。
region_id 仅取决于城市,因此它不属于用户表。因为它可以源自城市。
关于sql - 在用户表中存储区域/城市数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4445248/