日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

个人博客数据库设计

發(fā)布時間:2023/12/9 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 个人博客数据库设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

最近要做數(shù)據(jù)庫大作業(yè),在思考了很久之后,還是設(shè)計一個簡單的個人博客數(shù)據(jù)庫,數(shù)據(jù)庫采用的時MySQL5.7。

數(shù)據(jù)庫下載(提取碼: s2f9)

一、 概述及分析

1.1 項目背景

隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的人擁有了自己的個人博客。但是大多數(shù)采用的是網(wǎng)上別人做好的博客模板,眾所周知,網(wǎng)上的模板并不是單獨為個人而定制,而是面向大多數(shù)人的,獨立設(shè)計一個博客,滿足自己的需求。

1.2 分析

  • 系統(tǒng)主要完成以下幾方面的功能:
  • 用戶管理:用戶的注冊和登錄,發(fā)表博文和評論。
  • 博文管理:用戶可以在網(wǎng)站中發(fā)表和設(shè)置博文。
  • 評論管理:用戶可以評論博文和回復(fù)其他用戶的評論。
  • 分類管理:添加和刪除分類,給文章設(shè)置分類。
  • 標(biāo)簽管理:添加和刪除標(biāo)簽,給文章設(shè)置標(biāo)簽。

1.3 系統(tǒng)功能

1.3.1 用戶管理

用戶的相關(guān)信息如下:用戶ID、用戶IP、用戶名、用戶昵稱、用戶密碼、用戶郵箱、用戶頭像、注冊時間、用戶生日、用戶年齡、用戶手機(jī)號。

用戶注冊時需提供用戶名、用戶密碼、用戶郵箱或用戶手機(jī)號。

用戶登錄時可以采用用戶名或郵箱或手機(jī)號進(jìn)行登錄。

用戶可以發(fā)布博文、發(fā)表評論、回復(fù),還可以添加其他用戶為好友。

1.3.2 博文管理

博文的相關(guān)信息如下:博文ID、發(fā)布日期、發(fā)表用戶、博文標(biāo)題、博文內(nèi)容、點贊數(shù)、回復(fù)數(shù)、游覽量。

博文可以被普通用戶發(fā)布、修改、刪除和評論,但修改和刪除僅限于自己發(fā)表的動態(tài)。

博文發(fā)布時需要設(shè)置分類、標(biāo)簽。

1.3.3 評論管理

評論的相關(guān)信息如下:評論ID、評論日期、點贊數(shù)、發(fā)表用戶、評論文章ID、評論內(nèi)容、父評論ID。

評論可以被用戶發(fā)表和刪除以及被其他用戶回復(fù)。

1.3.4 分類管理

分類的相關(guān)信息如下:分類ID、分類名稱、分類別名、分類描述、父分類ID。

只有管理員可以添加、刪除、修改分類。

分類的作用不僅可以將文章分類,還可以作為博客的菜單。

1.3.5 標(biāo)簽管理

標(biāo)簽的相關(guān)信息如下:標(biāo)簽ID、標(biāo)簽名稱、標(biāo)簽別名、標(biāo)簽描述。

用戶發(fā)表文章時可以設(shè)置標(biāo)簽,標(biāo)簽不僅可以將文章分類,還可以作為博客的菜單。

二、數(shù)據(jù)庫概念模型設(shè)計—基本ER圖

三、數(shù)據(jù)庫邏輯模型設(shè)計


四、數(shù)據(jù)庫語句

4.1 建立數(shù)據(jù)表語句(部分)

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 '用戶手機(jī)號',`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 '發(fā)表用戶ID',`article_title` text NOT NULL COMMENT '博文標(biāo)題',`article_content` longtext NOT NULL COMMENT '博文內(nèi)容',`article_views` bigint(20) NOT NULL COMMENT '瀏覽量',`article_comment_count` bigint(20) NOT NULL COMMENT '評論總數(shù)',`article_date` datetime DEFAULT NULL COMMENT '發(fā)表時間',`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 '發(fā)表用戶ID',`article_id` bigint(20) NOT NULL COMMENT '評論博文ID',`comment_like_count` bigint(20) NOT NULL COMMENT '點贊數(shù)',`comment_date` datetime DEFAULT NULL COMMENT '評論日期',`comment_content` text NOT NULL COMMENT '評論內(nèi)容',`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 '標(biāo)簽ID',`label_name` varchar(20) NOT NULL COMMENT '標(biāo)簽名稱',`label_alias` varchar(15) NOT NULL COMMENT '標(biāo)簽別名',`label_description` text NOT NULL COMMENT '標(biāo)簽描述',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;CREATE TABLE `zj_sorts` (`sort_id` bigint(20) NOT NULL COMMENT '分類ID',`sort_name` varchar(50) NOT NULL COMMENT '分類名稱',`sort_alias` varchar(15) NOT NULL COMMENT '分類別名',`sort_description` text NOT NULL COMMENT '分類描述',`parent_sort_id` bigint(20) NOT NULL COMMENT '父分類ID',PRIMARY KEY (`sort_id`),KEY `sort_name` (`sort_name`),KEY `sort_alias` (`sort_alias`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE `zj_user_friends` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '標(biāo)識ID',`user_id` bigint(20) NOT NULL COMMENT '用戶ID',`user_friends_id` bigint(20) NOT NULL COMMENT '好友ID',`user_note` varchar(20) NOT NULL COMMENT '好友備注',`user_status` varchar(20) NOT NULL COMMENT '好友狀態(tài)',PRIMARY KEY (`id`),KEY `user_id` (`user_id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

4.2 建立視圖(部分)

某用戶的所有好友視圖:

CREATE VIEW Friends AS SELECT zj_user_friends.user_id AS user_id, zj_users.user_name AS user_name, zj_user_friends.user_friends_id AS user_friends_id, zj_user_friends.user_note AS user_note FROM ( zj_users JOIN zj_user_friends ) WHERE ( zj_users.user_id = zj_user_friends.user_id ) ;

五、 小結(jié)&參考資料

小結(jié)

數(shù)據(jù)庫的設(shè)計不是很簡單,一個產(chǎn)品除了滿足用戶需求,數(shù)據(jù)庫的架構(gòu)是非常重要的,之前做的一個志愿網(wǎng)站,雖然功能不是很好,基本需求能滿足,但是數(shù)據(jù)庫完全沒有設(shè)計,沒有處理,導(dǎo)致數(shù)據(jù)處理很糟糕。

現(xiàn)在這個數(shù)據(jù)爆炸的網(wǎng)絡(luò)時代,數(shù)據(jù)的處理及數(shù)據(jù)庫的設(shè)計顯得尤其重要,數(shù)據(jù)庫設(shè)計師工作量也不亞于前后端工程師。

參考資料

  • 個人博客數(shù)據(jù)庫設(shè)計
  • 《數(shù)據(jù)庫系統(tǒng)概論》高等教育出版社

總結(jié)

以上是生活随笔為你收集整理的个人博客数据库设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。