我对数据库设计比较新,但我理解其基本原理。我正在创建一个关系型数据库,并且想要类似于创建可重用类型或类。例如,假设我有一个“客户”表和一个“项目”表。客户和项目之间通过标准的一对多关系相关联,因此项目具有名为“CustomerId”的列。
我还想为每个客户和每个项目创建多个“注释”。在普通OOP模型中,我只需创建一个“Note”类,并在需要时创建该类的实例。当然,关系型数据库是不同的。我考虑过创建一个“Note”表,并希望客户和注释以及项目和注释之间存在一对多的关系。然后问题就是,Note表将必须为希望使用此“类型”的所有其他表添加一列。(请参见下面的示例)
我也认为,相反地,我可以在Note和Customer / Item(或其他)之间创建一个中间表。这将允许我避免在参照它的每个表中为Note添加额外的列,因此Note可以随着我添加需要注释的更多表而保持不变。我认为这是更好的解决方案。(请参见下面的示例)
这种情况通常如何处理?我接近正确吗?我很感激任何关于如何设计我的数据库以具有上述功能的建议。
我还想为每个客户和每个项目创建多个“注释”。在普通OOP模型中,我只需创建一个“Note”类,并在需要时创建该类的实例。当然,关系型数据库是不同的。我考虑过创建一个“Note”表,并希望客户和注释以及项目和注释之间存在一对多的关系。然后问题就是,Note表将必须为希望使用此“类型”的所有其他表添加一列。(请参见下面的示例)
我也认为,相反地,我可以在Note和Customer / Item(或其他)之间创建一个中间表。这将允许我避免在参照它的每个表中为Note添加额外的列,因此Note可以随着我添加需要注释的更多表而保持不变。我认为这是更好的解决方案。(请参见下面的示例)
这种情况通常如何处理?我接近正确吗?我很感激任何关于如何设计我的数据库以具有上述功能的建议。