一个简单的个人博客数据库
程序员文章站
2022-03-04 19:14:34
...
个人博客数据库分析
功能模块简介
-
用户管理:用户登陆,找回密码
-
博文管理:编写、修改、删除博客
-
评论管理:其他人可以评论和回复其他用户的评论
-
分类管理:添加和删除分类,给文章设置分类
-
标签管理:添加和删除标签,给文章设置标签
用户管理
-
用户表信息:用户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)
)
参考:个人博客数据库设计