数据库设计
2024-09-25 20:34:17   13  举报             
     
         
 AI智能生成
  1
    作者其他创作
 大纲/内容
  User(用户表)         
    - id 主键
 - 管理用户名
 - 管理密码
 - 博客标题
 - 博客副标题
 - 用户昵称
 - 关于作者
 
 与文章表(Post)之间的一对多关系,通过外键 author_id 关联  
     Category(分类表)         
    - id主键
 - 类别名称
 - 创建时间
 - 关联文章(关联Post表)
 - 关联标签(关联Note表)
 
 与文章表(Post)之间的一对多关系,通过外键 category_id 关联
与笔记表(Note)之间的一对多关系,通过外键 category_id 关联
    与笔记表(Note)之间的一对多关系,通过外键 category_id 关联
 🤝关联文章:建立与文章表(Post)的一对多的关系
一个分类(Category)可以对应多篇文章(Post)
一篇文章(Post)只能属于一个分类(Category)
    
    一个分类(Category)可以对应多篇文章(Post)
一篇文章(Post)只能属于一个分类(Category)
 理解分类为大类,比如是我写的文章有前端文章或是后端文章或是数据库文章。
现在我定义了一个分类字段,叫前端类,那么就可以关联3篇我写的前端文章
这就叫 1(分类)对 多(文章)
  
    现在我定义了一个分类字段,叫前端类,那么就可以关联3篇我写的前端文章
这就叫 1(分类)对 多(文章)
 🤝关联标签:同关联文章一样,也是一对多的关系
一个分类可以对应多个标签(Note)
    一个分类可以对应多个标签(Note)
 Tag(标签表)         
    - id 主键
 - 标签名
 - 标签颜色
 - 创建时间
 - 关联文章(关联Post表)
 - 关联笔记(关联Note表)
 
 与文章表(Post)之间的多对多关系,通过中间表 post_tag 进行关联
与笔记表(Note)之间的多对多关系,通过中间表 note_tag 进行关联
    与笔记表(Note)之间的多对多关系,通过中间表 note_tag 进行关联
 Post(文章表)         
    - id 主键
 - 创建时间
 - 更新时间
 - 文章标题
 - 文章封面
 - 文章内容(Markdown源文档)
 - 文章内容(渲染后的Html文档)
 - 阅读次数
 - 是否为草稿
 - 分类 ID(关联Category表)
 - 标签列表 (关联Tage表)
 - 评论列表 (关联Comment表)
 - 附件列表 (关联Attachment表)
 - 作者 ID(关联User表)
 
 与用户表(User)之间的多对一关系,通过外键 author_id 关联
与分类表(Category)之间的多对一关系,通过外键 category_id 关联
与标签表(Tag)之间的多对多关系,通过中间表 post_tag 进行关联
与评论表(Comment)之间的一对多关系,通过反向引用 back_populates='post' 进行关联
与附件表(Attachment)之间的一对多关系,通过反向引用 back_populates='post' 进行关联
  
    与分类表(Category)之间的多对一关系,通过外键 category_id 关联
与标签表(Tag)之间的多对多关系,通过中间表 post_tag 进行关联
与评论表(Comment)之间的一对多关系,通过反向引用 back_populates='post' 进行关联
与附件表(Attachment)之间的一对多关系,通过反向引用 back_populates='post' 进行关联
 Note(笔记表)         
    - id 主键
 - 笔记标题
 - 笔记内容(Markdown源文档)
 - 笔记内容(渲染后的Html文档)
 - 创建时间
 - 分类 ID(关联Category表)
 
 与分类表(Category)之间的多对一关系,通过外键 category_id 关联
与标签表(Tag)之间的多对多关系,通过中间表 note_tag 进行关联
与附件表(Attachment)之间的一对多关系,通过反向引用 back_populates='note' 进行关联
  
    与标签表(Tag)之间的多对多关系,通过中间表 note_tag 进行关联
与附件表(Attachment)之间的一对多关系,通过反向引用 back_populates='note' 进行关联
 Comment(评论表)         
    - id 主键
 - 文章 ID(关联Post表)
 - 评论内容
 - 评论作者
 - 评论时间
 - 回复的评论 ID(关联Comment表)
 
 与文章表(Post)之间的一对多关系,通过外键 post_id 关联,表示一个文章可以有多个评论。
与评论表(Comment)之间的一对多关系,通过关系属性 replied 和 back_populates 参数进行关联,表示一个评论可以是多个评论的回复。
与评论表(Comment)之间的一对多关系,通过关系属性 replies 和 back_populates 参数进行关联,表示一个评论可以有多个回复评论,并且在删除时进行级联操作。
    与评论表(Comment)之间的一对多关系,通过关系属性 replied 和 back_populates 参数进行关联,表示一个评论可以是多个评论的回复。
与评论表(Comment)之间的一对多关系,通过关系属性 replies 和 back_populates 参数进行关联,表示一个评论可以有多个回复评论,并且在删除时进行级联操作。
 Message(留言表)
         
    - id 主键
 - 留言内容
 - 留言作者
 - 留言时间
 - 回复的消息 ID(关联Message)
 
 与留言表(Message)之间的一对多关系,通过外键 replied_id 关联,表示一个留言可以有多个回复留言。
与留言表(Message)之间的一对多关系,通过关系属性 replied 和 back_populates 参数进行关联,表示一个留言可以是多个留言的回复。
与留言表(Message)之间的一对多关系,通过关系属性 replies 和 back_populates 参数进行关联,表示一个留言可以有多个回复留言,并且在删除时进行级联操作。
    与留言表(Message)之间的一对多关系,通过关系属性 replied 和 back_populates 参数进行关联,表示一个留言可以是多个留言的回复。
与留言表(Message)之间的一对多关系,通过关系属性 replies 和 back_populates 参数进行关联,表示一个留言可以有多个回复留言,并且在删除时进行级联操作。
 Attachment(附件表)         
    - id 主键
 - 附件文件名
 - 附件文件URL
 - 附件文件大小
 - 文章 ID(关联Post)
 - 笔记 ID(关联Note)
 
 与文章表(Post)之间的一对多关系,通过外键 post_id 关联
与笔记表(Note)之间的一对多关系,通过外键 note_id 关联
    与笔记表(Note)之间的一对多关系,通过外键 note_id 关联
 
 
 
 
  0 条评论
 下一页