数据库设计
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 条评论
下一页