数据库设计--个人博客

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

个人博客数据库设计

一、项目概述及分析

1.项目背景

随着互联网的发展,越来越多的人拥有了自己的个人博客。但是大多数采用的是网上别人做好的博客模板,众所周

知,网上的模板并不是单独为个人而定制,而是面向大多数人的,独立设计一个博客,满足自己的需求。

2.分析

系统主要完成以下几方面的功能:

●用户管理:用户的注册和登录,发表博文和评论。

●博文管理:用户可以在网站中发表和设置博文。

●评论管理:用户可以评论博文和回复其他用户的评论。

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

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

二、数

据库

概念

模型

设计

—基

本ER

三、数据库逻辑模型设计

四、数据库语句

1.建立数据表语句

CREATE TABLE `zj_users` (

`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',

`user_ip` varchar(20) NOT NULL COMMENT '用户IP',

`user_name` varchar(20) NOT NULL COMMENT '用户名',

`user_password` varchar(15) NOT NULL COMMENT '用户密码',

`user_email` varchar(30) NOT NULL COMMENT '用户邮箱',

`user_profile_photo` varchar(255) NOT NULL COMMENT '用户头像',

`user_registration_time` datetime DEFAULT NULL COMMENT '注册时间',

`user_birthday` date DEFAULT NULL COMMENT '用户生日',

`user_age` tinyint(4) DEFAULT NULL COMMENT '用户年龄',

`user_telephone_number` int(11) NOT NULL COMMENT '用户手机号',

`user_nickname` varchar(20) NOT NULL COMMENT '用户昵称',

PRIMARY KEY (`user_id`),

KEY `user_name` (`user_name`),

KEY `user_nickname` (`user_nickname`),

KEY `user_email` (`user_email`),

KEY `user_telephone_number` (`user_telephone_number`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

CREATE TABLE `zj_articles` (

`article_id` bigint(255) NOT NULL AUTO_INCREMENT COMMENT '博文ID',

`user_id` bigint(20) NOT NULL COMMENT '发表用户ID',

`article_title` text NOT NULL COMMENT '博文标题',

`article_content` longtext NOT NULL COMMENT '博文内容',

`article_views` bigint(20) NOT NULL COMMENT '浏览量',

`article_comment_count` bigint(20) NOT NULL COMMENT '评论总数',

`article_date` datetime DEFAULT NULL COMMENT '发表时间',

`article_like_count` bigint(20) NOT NULL,

PRIMARY KEY (`article_id`),

KEY `user_id` (`user_id`),

CONSTRAINT `zj_articles_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `zj_users` (`user_id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

CREATE TABLE `zj_comments` (

`comment_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '评论ID',

`user_id` bigint(20) NOT NULL COMMENT '发表用户ID',

`article_id` bigint(20) NOT NULL COMMENT '评论博文ID',

`comment_like_count` bigint(20) NOT NULL COMMENT '点赞数',

`comment_date` datetime DEFAULT NULL COMMENT '评论日期',

`comment_content` text NOT NULL COMMENT '评论内容',

`parent_comment_id` bigint(20) NOT NULL COMMENT '父评论ID',

PRIMARY KEY (`comment_id`),

KEY `article_id` (`article_id`),

KEY `comment_date` (`comment_date`),

KEY `parent_comment_id` (`parent_comment_id`)

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

CREATE TABLE `zj_labels` (

`label_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '标签ID',

`label_name` varchar(20) NOT NULL COMMENT '标签名称',

`label_alias` varchar(15) NOT NULL COMMENT '标签别名',

`label_description` text NOT NULL COMMENT '标签描述',

PRIMARY KEY (`label_id`),

KEY `label_name` (`label_name`),

KEY `label_alias` (`label_alias`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

CREATE TABLE `zj_set_artitle_label` (

`article_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '文章ID',

`label_id` bigint(20) NOT NULL,

PRIMARY KEY (`article_id`),

KEY `label_id` (`label_id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

CREATE TABLE `zj_set_artitle_sort` (

`article_id` bigint(20) NOT NULL COMMENT '文章ID',

`sort_id` bigint(20) NOT NULL COMMENT '分类ID',

PRIMARY KEY (`article_id`,`sort_id`),

KEY `sort_id` (`sort_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

相关文档
最新文档