许多表之一的外键?

nev*_*ame 17 mysql database postgresql polymorphic-associations

设置外键约束的常用方法是选择外键指向哪个表.

我在1个表和一组表之间有多态关系.

这意味着该表将与集合中的其中一个表有关系.

例如.

images: person_id, person_type
subordinates: id, col1, col2...col9
products: id, colA, colB...colZ
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,如果person_type是"subordinates",那么person_id应该是subordinates.id的外键,并且产品也是如此.

所以我想知道,是否有可能将一个外键用于其中一个表,或者你必须专门设置它在指定一个表时指向哪个表.

这个问题适用于MySQL和PostgreSQL.

谢谢

Bil*_*win 43

不,外键约束始终只引用一个父表.

这个问题经常出现.以下是我过去的一些答案:

有关多态关联的更多信息,请参阅我的演示文稿SQL中的实用面向对象模型或我的书,SQL Antipatterns:避免数据库编程的陷阱.

  • 按用户ID和标签搜索:`user:20860 [polymorphic-associations]` (9认同)
  • 哇...你怎么设法找到所有这些链接+1! (3认同)

归档时间:

查看次数:

20345 次

最近记录:

13 年 前