我在想数据库的设计。 我有一个表的列是一个外键。我希望外键可以引用三个不同表格的列。 这可能吗?我将如何为此编写创建表查询? 示例 三个表:电影,书,电视..每个都有一列称为URL。 另一个表人们有列URL可以引用三个表中的任何一个的URL 这是可能的吗?一个属性是一个外键。外键可以参考三个不同的表
回答
您可以使用两列用于此目的:一列包含另一个表中的行的ID,另一列包含项目的类型(例如电影,书籍,电视)。
要回答你的问题,是的,这是可能的,但只是数字不够,因为在不同的表中可能有多行具有相同的ID。
如果你需要这样的东西,它应该是你的设计有问题的标志。
处理此类性质的最佳方法是制作URL
表,并将所有URL
引用指向该表。
这似乎是合理的,三个表中的每一个都有url作为主键。添加另一个将在创建或删除时使用的新表。这是不好的设计,因为它需要额外的空间,只用于删除和创建 – 2012-04-13 20:17:10
URL是主键?这对PK来说似乎是一个非常糟糕的选择,因为网址可以很容易地改变...... – JNK 2012-04-13 20:20:23
oki我会认为abt主键别的东西,但无论如何,你可以评论我以前对额外空间的评论? – 2012-04-13 21:39:19
- 1. 两个外键请参考另一个表的同一列?
- 2. 外键参考相同表
- 3. MySQL不会将外键多于一个外键添加到同一个表
- 4. 如何为三个主表添加三个外键给同一个子表?
- 5. 针对同一个表的外键?
- 6. CakePHP的两个外键在同一表
- 7. 如何使一个表的主键,同一表的外键
- 8. MySQL的外键到另一个外键
- 9. 同一个表和外键上的两个主键
- 10. 外键可以是另一个表的复合主键的一部分吗?
- 11. Rails 5 - 多个外键属于同一个表
- 12. 联接表属性可以用作另一个表中的外键吗?
- 13. 可以使用一个外键引用两个不同的表吗?
- 14. SQL参考另一个表作为外键
- 15. 来自一个表的两个外键
- 16. 两个不同的外键
- 17. 不同表格的两个主键作为另一个表的外键
- 18. 从表中选择三个外键到一个表
- 19. 引用了一个外键是与父表的另一个关键主键
- 20. NHibernate/SQL Server多个外键到同一个表...可能吗?
- 21. 来自一个表的同一列上的两个外键
- 22. 使用两个不同的外键创建一个表
- 23. 我可以从两个表中分配一个外键吗?
- 24. Django中另一个实体的单个属性的外键
- 25. 两个外键引用一个表
- 26. FluentNHibernate多到一个参考,其中外键是不是主键和列名不同
- 27. 一个字段可以同时充当同一个表中的外键和主键吗?
- 28. JPA:一个表的主键和另一个表的主键和外键
- 29. 主键是两个不同的互斥表的外键
- 30. SQL外键,两个不同的表
这是可能的,但可能不适合我的设计 – 2012-04-13 21:38:09