基于MYSQL的新闻发布系统数据库设计项目实战

说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取。

基于MYSQL的新闻发布系统数据库设计项目实战_第1张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第2张图片

项目背景

网站上的新闻随处可见,新闻网站系统也越来越多,例如:新浪新闻、腾讯新闻、网易新闻等等。很多网站和管理系统使用MySQL数据库存储数据。本项目主要讲述新闻发布系统的数据库设计过程。

系统功能概述

本项目介绍的是一个新闻发布系统,管理员可以通过该系统发布新闻信息、管理新闻信息。一个典型的新闻发布系统网站至少应该包含新闻信息管理、新闻信息显示和新闻信息查询3种功能。

新闻发布系统所要实现的功能具体包括新闻信息添加、新闻信息修改、新闻信息删除、显示全部新闻信息、按类别显示新闻信息、按关键字查询新闻信息、按关键字进行站内查询。

本网站为一个简单的新闻信息发布系统,该系统具有以下特点。

● 实用:系统实现了一个完整的信息查询过程。

● 简单易用:为使用户尽快掌握和使用整个系统,系统结构简单但功能齐全,简洁的页面设计使操作起来非常简便。

● 代码规范:作为一个实例,文中的代码规范简洁、清晰易懂。

本系统主要用于发布新闻信息、管理用户、管理权限、管理评论等功能。这些信息的录入、查询、修改和删除等操作都是该系统重点解决的问题。

本系统的主要功能包括以下几点:

(1)具有用户注册及个人信息管理功能。

(2)管理员可以发布新闻、删除新闻。

(3)用户注册后可以对新闻进行评论、发表留言。

(4)管理员可以管理留言和对用户进行管理。

系统功能分析

新闻发布系统分为5个管理部分,即用户管理、管理员管理、权限管理、新闻管理和评论管理。本系统的功能模块如图所示:

基于MYSQL的新闻发布系统数据库设计项目实战_第3张图片

图中模块的详细介绍如下:

  1. 用户管理模块:实现新增用户、查看和修改用户信息功能。

(2)管理员管理模块:实现新增管理员,查看、修改和删除管理员信息功能。

(3)权限管理模块:实现对管理员、对管理的模块和管理的评论赋权功能。

(4)新闻管理模块:实现有相关权限的管理员对新闻的增加、查看、修改和删除功能。

(5)评论管理模块:实现有相关权限的管理员对评论的审核和删除功能。

数据库结构设计

概念设计:E-R模型

根据系统功能和数据库设计原则,共设计9张表,分别是:用户表、管理员表、权限表、新闻表、栏目表、评论表、管理员_权限表、新闻_评论表、用户_评论表。

用户表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第4张图片

管理员表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第5张图片 权限表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第6张图片

新闻表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第7张图片栏目表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第8张图片 评论表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第9张图片

管理员_权限表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第10张图片新闻_评论表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第11张图片 用户_评论表(橙色属性为主码,蓝色属性为外码)

基于MYSQL的新闻发布系统数据库设计项目实战_第12张图片

数据库表设计

用户表user:

基于MYSQL的新闻发布系统数据库设计项目实战_第13张图片

 管理员表admin:

基于MYSQL的新闻发布系统数据库设计项目实战_第14张图片

权限表roles:

新闻表news:

基于MYSQL的新闻发布系统数据库设计项目实战_第15张图片 栏目表categroy:

基于MYSQL的新闻发布系统数据库设计项目实战_第16张图片

评论表comment:

基于MYSQL的新闻发布系统数据库设计项目实战_第17张图片 管理员_权限表admin_Roles:

基于MYSQL的新闻发布系统数据库设计项目实战_第18张图片

新闻_评论表news_Comment:

基于MYSQL的新闻发布系统数据库设计项目实战_第19张图片 用户_评论表users_Comment:

基于MYSQL的新闻发布系统数据库设计项目实战_第20张图片

数据库程序设计与编码实现

数据库创建

 

基于MYSQL的新闻发布系统数据库设计项目实战_第21张图片

数据表创建

创建用户表user:

 基于MYSQL的新闻发布系统数据库设计项目实战_第22张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第23张图片

创建管理员表admin:

基于MYSQL的新闻发布系统数据库设计项目实战_第24张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第25张图片

创建权限表roles:

基于MYSQL的新闻发布系统数据库设计项目实战_第26张图片

 基于MYSQL的新闻发布系统数据库设计项目实战_第27张图片

创建新闻表news:

基于MYSQL的新闻发布系统数据库设计项目实战_第28张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第29张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第30张图片

创建栏目表categroy:

基于MYSQL的新闻发布系统数据库设计项目实战_第31张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第32张图片

创建评论表comment:

基于MYSQL的新闻发布系统数据库设计项目实战_第33张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第34张图片

创建管理员_权限表admin_Roles:

基于MYSQL的新闻发布系统数据库设计项目实战_第35张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第36张图片

创建新闻_评论表news_Comment:

基于MYSQL的新闻发布系统数据库设计项目实战_第37张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第38张图片

创建用户_评论表users_Comment:

基于MYSQL的新闻发布系统数据库设计项目实战_第39张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第40张图片

索引创建

索引是创建在表上的,是对数据库中一列或者多列的值进行排序的一种结构。索引可以提高查询的速度。论坛系统需要查询论坛的信息,这就需要在某些特定字段上建立索引,以便提高查询速度。

在news表上建立索引

新闻发布系统中需要按照newsTitle字段、newsDate字段和newsRate字段查询新闻信息。

 

基于MYSQL的新闻发布系统数据库设计项目实战_第41张图片

在categroy表上建立索引

在新闻发布系统中,需要通过栏目名称查询该栏目下的新闻,因此需要在这个字段上创建索引。

 

基于MYSQL的新闻发布系统数据库设计项目实战_第42张图片

在comment表上建立索引

新闻发布系统需要通过commentTitle字段和commentDate字段查询评论内容,因此可以在这两个字段上创建索引。

 基于MYSQL的新闻发布系统数据库设计项目实战_第43张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第44张图片

视图创建

视图是由数据库中一个表或者多个表导出的虚拟表,作用是方便用户对数据的操作。在这个新闻发布系统中,也设计了一个视图改善查询操作。

在新闻发布系统中,如果直接查询news_Comment表,显示信息时会显示新闻编号和评论编号。这种显示不直观,为了以后查询方便,可以建立一个视图news_view。这个视图显示评论编号、新闻编号、新闻级别、新闻标题、新闻内容和新闻发布时间。创建视图news_view的SQL代码如下:

 基于MYSQL的新闻发布系统数据库设计项目实战_第45张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第46张图片 

触发器创建

触发器由INSERT、UPDATE和DELETE等事件来触发某种特定的操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作之间的一致性。为了使论坛系统的数据更新更加快速和合理,可以在数据库中设计几个触发器。

创建UPDATE触发器

在设计表时,news表和news_Comment表的newsID字段的值是一样的。如果news表中的newsID字段的值更新了,那么news_Comment表中的newsID字段的值也必须同时更新。这可以通过一个UPDATE触发器来实现。创建UPDATE触发器update_newsID的SQL代码如下:

 基于MYSQL的新闻发布系统数据库设计项目实战_第47张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第48张图片 其中,NEW.newsID表示news表中更新的记录的newsID值。

创建DELETE触发器

如果从user表中删除一个用户的信息,那么这个用户在users_comment表中的信息也必须同时删除。这也可以通过触发器来实现。在user表上创建delete_user触发器,只要执行DELETE操作,就删除users_comment表中相应的记录。创建delete_user触发器的SQL语句如下:

 基于MYSQL的新闻发布系统数据库设计项目实战_第49张图片

基于MYSQL的新闻发布系统数据库设计项目实战_第50张图片 其中,OLD.userID表示新删除的记录的userID值。

 本次机器学习项目实战所需的资料,项目资源如下:

项目说明:
链接:https://pan.baidu.com/s/1c6mQ_1YaDINFEttQymp2UQ 
提取码:thgk

网盘如果失效,可以添加博主微信:zy10178083

你可能感兴趣的:(数据库课程设计项目实战,数据库课程设计,mysql,作业设计,毕业设计,新闻发布系统)