开发者社区> 问答> 正文

如何建立关联表之间的关系?

A表拥有多个C表,B表拥有多个C表,一个C表只能属于A表或者B表,如何优雅地建立关系,使可以用最少的查询次数将A和B以及他们拥有的C一起查询出来
现在我有一个方案,就是C里面放两个外键,AId,BId,但是总觉得这样不够优雅。而且如果将来有了D表想要关联C表,还得改C表。

展开
收起
落地花开啦 2016-02-01 14:09:55 2504 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    虽然不知道你是什么语言,不过你的需求很像Active Record中的多态关系。
    screenshot
    上面的数据库表的关系:A可以对应为上图的employees, B对应products, C就是pictures
    pictures表里面的imageable_type就是引用这个记录的表名(例如employees),imageable_id是引用这条记录的id(例如employee的id),两个字段合起来就可以找到具体是那个表里面的哪个字段引用这条记录。

    2019-07-17 18:37:06
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《用管控策略设定多账号组织全局访问边界》 立即下载
关系网络分析(I+) 立即下载
低代码开发师(初级)实战教程 立即下载

相关实验场景

更多