【发布时间】:2015-03-26 15:54:07
【问题描述】:
假设我的数据库中有 3 个表,每个表代表一种特定类型的土地,并根据它们的大小进行区分。首先我有一条线,它代表最大的土地实体。每条线都包含许多较小的土地实体项目。每个项目都包含许多最小实体的地块。
我为他们每个人都创建了一个表格来存储他们的信息。但是,我注意到它们有一些共同的列,例如州、城镇和城市,而且这些列可能包含重复的信息:许多地块可以位于同一个州和城市,因此我们将在许多地方重复相同的信息行。
我有三个问题:
1- 如何有效地拆分表以避免冗余?我坚持只为地理信息创建一个新表,但是如何组织数据以避免该表中的冗余?
2- 由于一行包含许多项目,而项目本身包含许多地块;这意味着一条线包含许多图。然后我应该在情节与线和项目之间创建 FK 关系吗?
3- 如果我为地理信息创建另一个表,那么主键的好选择是什么? (为了在其他表中用作 FK)。
【问题讨论】: