![]() |
1
1
是的,使用多个键引用一个唯一的记录称为复合键。这种做法是好是坏取决于您的数据库模式。
假设我们有4张桌子:
我们需要一个列来存储每个表的引用。这意味着对于未使用的列,我们将得到空值。将来,如果我们引入
我们从两列开始构建对其他表的引用。但是,当我们介绍
因此,我们可以通过使用复合外键实现某种程度的规范化。如果两列都被索引,查询应该非常快。虽然它必须比使用单个外键慢,但差别是微不足道的。 通常情况下,每当您有看起来相同的数据(例如:Address)时,就很容易使用Rails的多态关联。在将多个模型耦合在一起时,应始终保持谨慎。一个很好的指标是,当你注意到自己在根据关联类型进行切换时,你已经走得太远了。一个潜在的解决方案是将公共代码重构成一个模块,并将其混合到您关心的模型中。 |
![]() |
2
1
|
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
![]() |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
![]() |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
![]() |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
![]() |
Max J. · 用整数作为键将dict写入csv 2 年前 |