個人博客開發之數據庫設計


前言

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM