通过构建一个brigde表,我将链接许多推销员和组合
我已经制作了三张如下表
salesman
========
uId
salesGroupLinked
================
uId
groupId
group
======
groupId
因此它应该能够允许1个销售人员可以拥有多个团队,并且许多团队可以拥有1个销售人员。但现在我想扩大关系。
我希望每位推销员都能获得每组的表现评分。我应该把列放在哪里?如果它在组表中然后被淘汰,因为groupId是唯一的,所以它可以给许多推销员一个分数。
答案 0 :(得分:1)
只需考虑问题:绩效得分的关键是什么?它是一个销售人员组的设置。因此,设置应该在它们链接的表上。它对于每对(salesman, group)
都是唯一的。
所以表格看起来像
salesGroupLinked
================
uId
groupId
PerformanceScore
答案 1 :(得分:0)
将得分放在链接表中。
该表上的pk仍应为uId
和groupId
,但它也应该有一个得分列。
已编辑以将DDL语句购买为使用主键创建表
create table salesGroupLinked
( uId integer not null,
groupId integer not null,
performanceScore integer null,
Constraint PK_salesGroupLinked Primary Key clustered (uId, groupId)
)
此表的复合PK本身保证此表中永远不会有多行与uId和groupId具有相同的值。