我有一张foo桌子。在foo中有4列:id、barTypeA、barTypeB、barTypeC。唯一的候选键是id。barTypeA、B、C都是非主属性。从技术上讲,这些属性不仅仅是一个列表;bar属于A、B或C类型这一事实并不是微不足道的。但是,barTypeA、B和C可以为空。
我可以将这个表分为三个表(例如foo、fooToBar和barType),从foo到fooToBar是一对多的关系,但我很好奇最初的设计是否/如何违反数据库设计标准或范式。
发布于 2015-05-01 05:16:39
通常,如果您有多对多关系,则只需要连接表(fooToBar)。在一对一和一对多中,一的id (foo)由多个(bar)中的条目引用。
换句话说,如果bar中的每个条目只连接到一个foo条目,那么bar应该只引用foo.id。但是,如果一个bar可以链接到几个foo,一个foo可以链接到几个bar,那么可以使用fooToBar连接表。
https://stackoverflow.com/questions/29977225
复制相似问题