假设我在我的数据库中有3个表格,每个表格表示根据其大小区分的特定类型的土地。首先我有一条线,代表最大的土地实体。每条线包含许多较小的土地实体项目。每个项目都包含许多最小实体的地块。如何拆分表以实现有效的数据库设计?
我为它们中的每一个创建了一个表来存储它们的信息。然而,我注意到他们有一些共同的字段,例如州,城镇和城市,而且这些字段可以包含重复的信息:许多地块可以处于同一个州和城市,因此我们将拥有许多重复的信息行。
我有三个问题:
1-如何有效地拆分表以避免冗余?我致力于创建仅用于地理信息的新表,但如何组织数据以避免此表中的冗余?
2-由于一行包含很多项目本身包含很多地块;这意味着一条线包含许多图。那么我应该在剧情与线条和项目之间创建FK关系吗?
3-如果我为地理信息创建另一个表,对于它的主键有什么好的选择? (为了在其他表中使用它作为FK)。