【发布时间】:2019-05-02 15:18:25
【问题描述】:
我有 2 个类似的数据库,包含以下表格:
表 1 - 发票
表 2 - 发票行(中间 - 初级发票 -> 初级产品)
表 3 - 产品
表 4 - 服务(或产品 2)
我正在尝试创建多对多关系。我了解一对多/一对多的中间表的需求。
问题是: 对于 Invoices 表,我不仅需要与 products 表,还需要与 services 表(或与我的其他数据库的第二组 products 表)建立多对多关系。
我假设使用服务表数据库,我可以创建第二个中间表(发票-> 服务)但这不会创建 2 个单独的子表单相关表吗?而不仅仅是 1 个相关的子表单,其中包含所有产品和所有服务的列表。
此外,如果发票只是来自 2 个不同产品表的产品列表(可能在两个产品表“prdA-xx”和“prdB-xx”上使用复合键,因此没有重复的主两个表的键?)
我希望这两个问题都有一个解决方案?
虽然我可以合并 2 个单独的产品表,但由于每个表来自不同的供应商,每个表都有数千条记录,我需要将它们分开以适应不同的需求、一些不同的字段和规范化。
预期的解决方案将有一张发票,其中包含来自一个表的多个产品和来自第二个表的多个(服务或产品),如果可能的话,希望在一个相关的子表单中,因为所需的基本字段将是相同的:“desc,价格,数量”
【问题讨论】: