一个表

时间:2016-03-21 20:52:42

标签: sql sql-server database-design foreign-keys

我正在设计促销表。我可以推广三种类型的实体:文章,照片和论坛帖子。

最初我考虑过创建一个包含三个外键的表,其中只有一个被设置。

promotion: 
- id
- id_article
- id_photo
- id_thread
- promotion_type
- ... other properties

 article:
 - id
 - .. other properties

 photo:
 - id
 - .. other properties

 thread:
 - id
 - .. other properties

这是一个好方法吗?在最初的想法之后,看起来确实可以在这里做一些“更漂亮”的事情。 promotion_type表示应加入哪些外键表。

1 个答案:

答案 0 :(得分:0)

而不是有3列(id_article,id_photo,id_thread),只需添加一列..例如,将其称为PromotionID,然后您仍然可以使用PromotionType列来确定要绑定的表。

促销表如下: - 促销: - ID - PromotionID(id_article,id_photo或id_thread) - promotion_type - ......其他财产