2012-04-13 86 views
-1

我在想数据库的设计。 我有一个表的列是一个外键。我希望外键可以引用三个不同表格的列。 这可能吗?我将如何为此编写创建表查询? 示例 三个表:电影,书,电视..每个都有一列称为URL。 另一个表人们有列URL可以引用三个表中的任何一个的URL 这是可能的吗?一个属性是一个外键。外键可以参考三个不同的表

回答

0

您可以使用两列用于此目的:一列包含另一个表中的行的ID,另一列包含项目的类型(例如电影,书籍,电视)。

要回答你的问题,是的,这是可能的,但只是数字不够,因为在不同的表中可能有多行具有相同的ID。

+0

这是可能的,但可能不适合我的设计 – 2012-04-13 21:38:09

1

如果你需要这样的东西,它应该是你的设计有问题的标志。

处理此类性质的最佳方法是制作URL表,并将所有URL引用指向该表。

+0

这似乎是合理的,三个表中的每一个都有url作为主键。添加另一个将在创建或删除时使用的新表。这是不好的设计,因为它需要额外的空间,只用于删除和创建 – 2012-04-13 20:17:10

+0

URL是主键?这对PK来说似乎是一个非常糟糕的选择,因为网址可以很容易地改变...... – JNK 2012-04-13 20:20:23

+0

oki我会认为abt主键别的东西,但无论如何,你可以评论我以前对额外空间的评论? – 2012-04-13 21:39:19

相关问题