个人博客开发之数据库设计

前言#

分享完需求,我们就按照需求去设计数据库就可以了,这里我数据库选用
Mysql 原因呢Mysql相对于其他数据库如ORACLE轻巧,方便,开源,免费,好用,而且效率也够用

数据库设计#

这里数据库设计我推荐大家一款数据库设计工具,我一直在使用觉得还不错叫PDMan

多平台版本,Mac Windows,Linux 系统都有 。总之功能非常强大 ,PDMan官网

分表设计#

用户表#

CREATE TABLE users(
    user_Id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '用户ID' ,
    user_name VARCHAR(128)    COMMENT '用户名' ,
    user_nickname VARCHAR(128)    COMMENT '用户昵称' ,
    pwd VARCHAR(64)    COMMENT '用户密码' ,
    email VARCHAR(64)    COMMENT '用户邮箱' ,
    avatar VARCHAR(128)    COMMENT '用户头像' ,
    create_time DATETIME    COMMENT '注册时间' ,
    birthday DATE    COMMENT '用户生日' ,
    age INT    COMMENT '用户年龄' ,
    moble_phone VARCHAR(32)    COMMENT '用户手机号' ,
    PRIMARY KEY (user_Id)
) COMMENT = '用户 ';;

文章表#

CREATE TABLE article(
    article_id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '博文ID' ,
    push_data DATETIME    COMMENT '发布日期' ,
    article_user VARCHAR(32)    COMMENT '发表用户' ,
    title VARCHAR(1024)    COMMENT '博文标题' ,
    like_count INT    COMMENT '点赞数' ,
    comment_count INT    COMMENT '评论数' ,
    read_count INT    COMMENT '浏览量' ,
    top_flag VARCHAR(1)    COMMENT '是否置顶' ,
    create_time DATETIME    COMMENT '创建时间' ,
    article_summary VARCHAR(1024)    COMMENT '文章摘要' ,
    PRIMARY KEY (article_id)
) COMMENT = '文章 ';;

文章详情#

CREATE TABLE article_detail(
    article_detail_id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '文章详情id' ,
    content_md TEXT    COMMENT '文章markdown内容' ,
    content_html TEXT    COMMENT '文章html内容' ,
    article_id BIGINT    COMMENT '文章id' ,
    PRIMARY KEY (article_detail_id)
) COMMENT = '文章详情 ';;

文章标签#

CREATE TABLE article_tag_referenced(
    atr_Id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '引用id' ,
    article_id BIGINT    COMMENT '文章id' ,
    tag_id BIGINT    COMMENT '标签id' ,
    PRIMARY KEY (atr_Id)
) COMMENT = '文章标签 ';;

文章分类#

CREATE TABLE article_category_referenced(
    acr_id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '引用id' ,
    article_id BIGINT    COMMENT '文章id' ,
    category_id BIGINT    COMMENT '类目id' ,
    PRIMARY KEY (acr_id)
) COMMENT = '文章分类 ';;

分类表#

CREATE TABLE category(
    category_id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '分类ID' ,
    category_name VARCHAR(64)    COMMENT '分类名称' ,
    alias_name VARCHAR(64)    COMMENT '分类别名' ,
    description VARCHAR(128)    COMMENT '分类描述' ,
    parennt_id BIGINT    COMMENT '父分类ID' ,
    create_time DATETIME    COMMENT '创建时间' ,
    PRIMARY KEY (category_id)
) COMMENT = '分类 ';;

标签表#

CREATE TABLE tag(
    tag_id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '标签ID' ,
    tag_name VARCHAR(64)    COMMENT '标签名称' ,
    alias_name VARCHAR(64)    COMMENT '标签别名' ,
    description VARCHAR(128)    COMMENT '标签描述' ,
    create_time DATETIME    COMMENT '创建时间' ,
    PRIMARY KEY (tag_id)
) COMMENT = '标签 ';;

评论表#

CREATE TABLE discuss(
    discuss_id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '评论ID' ,
    create_time DATETIME    COMMENT '评论日期' ,
    like_count INT    COMMENT '点赞数' ,
    discuss_user BIGINT    COMMENT '发表用户' ,
    article_id BIGINT    COMMENT '评论文章ID' ,
    content VARCHAR(3072)    COMMENT '评论内容' ,
    parent_id BIGINT    COMMENT '父评论ID' ,
    PRIMARY KEY (discuss_id)
) COMMENT = '评论 ';;

关注公众号猿小叔领取sql

posted @   程序员三时  阅读(1046)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示
主题色彩