欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个简单的个人博客数据库

程序员文章站 2022-03-04 19:14:34
...

个人博客数据库分析

功能模块简介

  1. 用户管理:用户登陆,找回密码

  2. 博文管理:编写、修改、删除博客

  3. 评论管理:其他人可以评论和回复其他用户的评论

  4. 分类管理:添加和删除分类,给文章设置分类

  5. 标签管理:添加和删除标签,给文章设置标签

用户管理

  • 用户表信息:用户id,用户昵称,用户密码,用户邮箱,用户头像

  • 用户只有我自己,设置初始用户昵称和用户密码以及用户邮箱

  • 用户登陆使用用户名和密码登陆,使用邮箱修改密码

  • 登陆之后 可以修改用户头像用户昵称等个人信息、可以编辑,修改发表博客。

博文管理

  • 博文信息:博文id,发布日期,博文标题,博文内容,点赞数,回复数,游览量,分类,标签

评论系统

  • 评论信息:评论ID,评论日期,点赞数,评论博客id,评论内容,父评论id

分类管理

  • 分类信息:分类id,分类名称,分类描述,父分类id

  • 可以添加,删除,修改分类

  • 分类可作为博客菜单

标签管理

  • 标签信息:标签id,标签名称,标签描述
  • 发表博客的时候可以设置标签,标签可将博客分类,也可以作为博客的菜单

思维导图

一个简单的个人博客数据库

mysql代码

CREATE DATABASE myBlog
USE myBlog
-- 创建用户表
CREATE TABLE Blog_user(user_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户id',
user_name VARCHAR(50) COMMENT '用户名称',
user_psd VARCHAR(20) COMMENT '用户密码',
user_email VARCHAR(20) COMMENT '用户邮箱',
user_avatar VARCHAR(1000) COMMENT '用户头像')
-- 用户邮箱字段太短,更改字段
ALTER TABLE Blog_user MODIFY user_email VARCHAR(30)

-- 向用户表中写入初始数据
INSERT INTO Blog_user(user_name,user_psd,user_email,user_avatar) 
VALUES('xxx','xxxx','aaa@qq.com','xxx.img')

-- 查询用户表数据
SELECT * FROM Blog_user

-- 创建分类表
CREATE TABLE Blog_classify(
classify_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '分类id',
classify_name VARCHAR(30) COMMENT '分类名称',
classify_desc VARCHAR(500) COMMENT '分类描述',
classify_upId INT COMMENT '父分类ID')

-- 创建标签表
CREATE TABLE Blog_label(label_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '标签id',
label_name VARCHAR(20) COMMENT '标签名称',
label_desc VARCHAR(500) COMMENT '标签描述')

-- 创建博客表
CREATE TABLE Blog_artc(artc_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '博文id',
artc_title VARCHAR(500)NOT NULL COMMENT '博文标题',
artc_content LONGTEXT NOT NULL COMMENT '博文内容',
artc_praise SMALLINT DEFAULT 0 COMMENT '点赞数',
artc_reply SMALLINT DEFAULT 0 COMMENT '回复数',
artc_browse SMALLINT DEFAULT 0 COMMENT '浏览量',
artc_classify INT NOT NULL COMMENT '博文分类',
artc_label INT NOT NULL COMMENT '博文标签',
artc_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)

-- 给博客表设置外键
ALTER TABLE Blog_artc ADD CONSTRAINT artic_classify 
FOREIGN KEY(artc_classify) REFERENCES Blog_classify(classify_id)
ALTER TABLE Blog_artc ADD CONSTRAINT artic_label 
FOREIGN KEY(artc_label) REFERENCES Blog_label(label_id)
DESC Blog_artc

-- 创建评论表
CREATE TABLE Blog_comment(comment_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '评论id',
comment_artcId INT COMMENT '评论的博客的id',
comment_content TEXT COMMENT '评论的内容',
comment_fatherId INT COMMENT '父评论id',
comment_praise SMALLINT COMMENT '点赞数',
comment_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT comment_artc FOREIGN KEY(comment_artcId) REFERENCES  Blog_artc(artc_id),
CONSTRAINT comment_com FOREIGN KEY(comment_fatherId) REFERENCES 
Blog_comment(comment_id)
)

参考:个人博客数据库设计

相关标签: 笔记 mysql