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


    前言

    分享完需求,我们就按照需求去设计数据库就可以了,这里我数据库选用
    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

  • 相关阅读:
    如何删除日志?
    sql lock
    生成DAL
    字符串ID替换
    精典SQL:分组合并列值
    SQL Server2005 XML数据类型基础
    Buckup
    SQL试题
    SQL处理表重复记录
    Left Join 中on与where的区别
  • 原文地址:https://www.cnblogs.com/kenx/p/14989205.html
Copyright © 2020-2023  润新知