假设我有两张桌子,FirstTable和SecondTable。他们有一对多的关系,所以SecondTable有一个外键:FirstTableID.我必须重新设计数据库,因为在非常罕见的情况下,SecondTable实体也可以属于更多(通常为2-3) FirstTable实体,因此这显然是一种多-多的关系。
我的问题是:这种多对多的关系可能很少发生(我们出售更多的系统副本,而且在大多数副本中,它们总是有一对多的关系,这是有保证的)。保留外键,如果它的值为0,系统会在多个表中搜索一个关系,这是明智的做法吗?在大多数情况下,我们可以避免以这种方式拥有整个冗余表。但它是否违反了某些数据库设计原则?
发布于 2014-01-03 11:07:32
您可能会避免使用多馀的表,但最终可能会得到一堆冗余代码,每个版本都有两个版本。我将保持设计的一致性,并避免每次需要更改时都要考虑这两种情况。
https://stackoverflow.com/questions/20902073
复制相似问题