加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库设计 – 将一个表中的多个外键定义到多个表

发布时间:2020-12-12 16:46:54 所属栏目:MsSql教程 来源:网络整理
导读:我有3个型号: 帖子: id 标题 身体 照片: id 文件路径 评论: id post_id 身体 和DB中的对应表.现在,如果我想为我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY(post_id)REFERENCES post(id).但是我想对其他模型(照片,个
我有3个型号:

帖子:

> id
>标题
>身体

照片:

> id
>文件路径

评论:

> id
> post_id
>身体

和DB中的对应表.现在,如果我想为我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY(post_id)REFERENCES post(id).但是我想对其他模型(照片,个人资料,视频等)发表评论,并将所有评论保留在一个表格中.在这种情况下,我如何定义外键(我绝对需要FK的ORM)

解决方法

你可以这样做:
post:
  * post_id (PK)
  * title
  * body

 photo:
  * photo_id (PK)
  * filepath

 comment:
  * comment_id (PK)
  * body

 comment_to_post
  * comment_id (PK) -> FK to comment.comment_id
  * post_id (PK) -> FK to post.post_id

 comment_to_photo
  * comment_id (PK) -> FK to comment.comment_id
  * photo_id (PK) -> FK to photo.photo_id

还有可能发表一个属于两个不同项目的评论.如果您认为这是一个问题,我可以尝试改进设计.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读