前言
分享完需求,我們就按照需求去設計數據庫就可以了,這里我數據庫選用
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