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

前言

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

数据库设计

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

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

分表设计

用户表

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

文章表

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

文章详情

1CREATE TABLE article_detail( 2 article_detail_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '文章详情id' , 3 content_md TEXT COMMENT '文章markdown内容' , 4 content_html TEXT COMMENT '文章html内容' , 5 article_id BIGINT COMMENT '文章id' , 6 PRIMARY KEY (article_detail_id) 7) COMMENT = '文章详情 ';; 8

文章标签

1CREATE TABLE article_tag_referenced( 2 atr_Id BIGINT NOT NULL AUTO_INCREMENT COMMENT '引用id' , 3 article_id BIGINT COMMENT '文章id' , 4 tag_id BIGINT COMMENT '标签id' , 5 PRIMARY KEY (atr_Id) 6) COMMENT = '文章标签 ';; 7

文章分类

1CREATE TABLE article_category_referenced( 2 acr_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '引用id' , 3 article_id BIGINT COMMENT '文章id' , 4 category_id BIGINT COMMENT '类目id' , 5 PRIMARY KEY (acr_id) 6) COMMENT = '文章分类 ';; 7

分类表

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

标签表

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

评论表

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

关注公众号猿小叔获取更多干货分享

wechart-gongzhonghao

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

sql注入

反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''