【问题标题】:Which schema does this associative table belong to?这个关联表属于哪个模式?
【发布时间】:2009-09-13 03:59:55
【问题描述】:

我正在查看 AdventureWorks2008 数据库,并想创建一个新表,将产品与销售人员相关联。

这些表之间存在多对多关系。

问题是, 在SalesProduction 这两个模式中,ProductSalesPerson 表属于吗? ProductSalesPerson 不一定属于任一架构。

我应该为这个关联表创建一个新架构吗?

【问题讨论】:

    标签: sql sql-server database database-design associative-table


    【解决方案1】:

    为什么生产和销售处于不同的架构中?

    假设它们只是,并且您无法更改它 - 将其放在任何负责更大视角份额的架构中。意思是,如果您的问题通常是“谁负责销售产品 x?” - 它应该投入生产。如果更多的是“销售人员 x 销售什么产品?” -- 它应该进入销售。

    恕我直言,这是一种古怪的设计,因为跨模式关系没有明显的归宿(但如果有充分的理由以这种方式进行设置,我将不胜感激)。

    【讨论】:

    • (1) 我猜它属于销售,因为它似乎更像是销售人员的属性/描述而不是产品。
    • (2) Adventureworks 是一个示例数据库,旨在展示 SQL Server 2005 的众多功能。因此,我不得不猜测“适当的设计”排在第二位。
    • @SquareCog:“销售员 x 卖什么产品?” -- 它应该进入销售阶段
    【解决方案2】:

    在现实生活中,会有用户要问。但是如果我们不得不猜测,销售人员被分配产品作为他们的节拍是正常的,并且该决定的责任由销售而不是产品开发承担。所以我想说你的交叉点应该属于 SALES 而不是 PRODUCTION。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      相关资源
      最近更新 更多