【发布时间】:2014-01-03 11:00:02
【问题描述】:
假设我有两个表,FirstTable 和 SecondTable。它们具有一对多的关系,因此 SecondTable 有一个外键:FirstTableID。我必须重新设计数据库,因为在(非常)罕见的情况下,SecondTable 实体也可以属于更多(通常是 2-3)FirstTable 实体,所以这显然是很多- 多关系。
我的问题是:多对多关系很少发生(我们出售更多的系统副本,并且在大多数副本中,它们始终具有一对多的关系,这是有保证的)。保留外键并在系统中检查其值为0是否是明智之举,然后系统将在多对多表中搜索关系?在大多数情况下,我们可以通过这种方式避免拥有整个冗余表。但这会违反一些数据库设计原则吗?
【问题讨论】:
标签: database many-to-many many-to-one mixing