开发者社区 问答 正文

如何构建表以建模互斥的1:n关系?

在下表结构中:

Fruits ( fruit_id, fruitName )

Vegetables ( vegetable_id, vegetableName )

favoriteFoods ( food_id, foodName, type_id (References either a fruit or a vegetable) ) 我意识到我可以放弃在favouriteFoods表上使用外键约束,然后简单地将类型字段添加到favouriteFoods表中以区分水果和蔬菜。但是如何构造表,以便实际上可以创建必要的外键约束?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 17:11:54 411 分享 版权
1 条回答
写回答
取消 提交回答
  • 我只会使用2个表。与其拥有单独的水果和蔬菜表,不如拥有食物表。然后对fkfood_id到food_id具有外键约束。然后,如果由于某种原因您不得不添加肉,那么维护使用此功能的应用程序会容易得多。

    Food ( food_id, foodName, foodType )

    favoriteFoods ( favoritefood_id, fkfood_id )

    2019-11-18 17:12:01
    赞同 展开评论
问答地址: