多对多关系 bridge table dilemma

多对多关系 bridge table dilemma,第1张

多对多关系 bridge table dilemma

该工具只是告诉您,一个uId-groupId组合可以有多个条目。例子:

uId  groupId  performacesScore 1    1        101    2        202    1        302    1        302    1        402    2        20

现在,假设向您显示此数据,您将第一个2/1/30设为2/1/50。
该工具可以将哪些更新语句发送到dbms?

update salesGrouplinked set performacesScore = 50where uId = 2 and groupId = 1;

This would update three records instead of one.

update salesGrouplinked set performacesScore = 50where uId = 2 and groupId = 1 and performacesScore = 30;

这仍将更新两个记录,而不是一个。

因此,为了正确更新和删除,必须告诉dbms是什么使
记录唯一。有四种可能性:

  • 如果您永远不想更新或删除单个记录,请保持原样。
  • 如果您希望能够更新,并且uId-groupId组合只有一个条目,则告诉dbms,然后将uId加groupId用作表的主键。

  • 如果您希望能够更新并且uId-groupId组合可以重复,但是uId-groupId-performacesScore组合将始终是唯一的,则将这三个作为表的主键。

  • 如果您希望能够进行更新,并且任何组合都可以重复,那么请在表格的另一列中输入技术ID,并将其作为主键。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存