我有要问的东西,希望你们可以给我一些建议。
我在[ORDER] table
和[PRODUCT] table
之间有many to many
的关系。
现在条件是我再次需要一个称为many to many
的CC_5与[PRODUCT] table
关系的表。
在这种情况下,我想将[PACKAGE] table
链接到[ORDER] table
。因为条件是人们可以在same order form
中订购item
或订购package
。
如果我只将[PACKAGE] table
链接到[ORDER] table
?
这有两个选项。
首先是引入一个名为OrderPackages
的新表,该表提供了与软件包的链接。但是,我不喜欢这种方法,因为您无法轻松查询顺序中的所有项目。订单中的项目可以在OrderItems
和OrderPackages
中。
sql在"一种一种"类型的关系方面非常糟糕。这是您真正想要的 - 链接到项目或包裹的订单,但不是两者。
我的建议是将所有项目包装在自己的包裹中,然后使用OrderPackages
表和PackageItems
表。这将使所有查询都保持一致,并且在任何数据库中都应该很容易实现。
您可以在存储过程中使用触发器或包装insert
代码来自动为新项目创建一个新项目,该过程在两个表中插入。