建模为一对一或一对多关系



我有一个表格foo .foo有4列:idbarTypeAbarTypeBbarTypeC。唯一的候选键是 idbarTypeABC都是非素属性。从技术上讲,这些属性不仅仅是一个列表;bar是 A、B 或 C 型的事实并非微不足道。但是,barTypeABC可以为空。

我可以把这个表分成三个表(例如foofooToBarbarType),从foofooToBar具有一对多关系,但我很好奇原始设计是否/如何违反数据库设计标准或正常形式。

通常,

如果你有多对多关系,你只需要一个连接表(fooToBar)。在一对一和一对多中,一(foo)的id由多(bar)中的条目引用。

换句话说,如果bar中的每个条目只连接到一个foo条目,那么bar应该只引用foo.id。但是,如果一个bar可以链接到多个foo,而一个foo可以链接到多个bar使用fooToBar连接表。

最新更新