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

项目背景

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

系统功能概述

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

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

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

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

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

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

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

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

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

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

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

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

系统功能分析

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

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

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

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

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

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

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

数据库结构设计

概念设计:E-R模型

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

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

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

 权限表(橙色属性为主码,蓝色属性为外码)

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

栏目表(橙色属性为主码,蓝色属性为外码)

 评论表(橙色属性为主码,蓝色属性为外码)

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

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

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

数据库表设计

用户表user:

管理员表admin:

权限表roles:

新闻表news:

 栏目表categroy:

评论表comment:

 管理员_权限表admin_Roles:

新闻_评论表news_Comment:

 用户_评论表users_Comment:

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

数据库创建

数据表创建

创建用户表user:

创建管理员表admin:

创建权限表roles:

创建新闻表news:

创建栏目表categroy:

创建评论表comment:

创建管理员_权限表admin_Roles:

创建新闻_评论表news_Comment:

创建用户_评论表users_Comment:

索引创建

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

在news表上建立索引

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

在categroy表上建立索引

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

在comment表上建立索引

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

视图创建

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

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

 

触发器创建

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

创建UPDATE触发器

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

 其中,NEW.newsID表示news表中更新的记录的newsID值。

创建DELETE触发器

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

 其中,OLD.userID表示新删除的记录的userID值。

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

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

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

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

  1. 基于MYSQL的互联网药品交易系统数据库设计项目实战

    说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取. 项目背景 疫情期间实体经济收到打击,实体药店经营困难,医院也面临着疫情患者的压力运转 ...

  2. mysql创建新闻发布时间_基于PHP+mysql实现新闻发布系统的开发

    新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...

  3. php+mysql新闻系统的开发一_基于PHP+mysql实现新闻发布系统的开发

    新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...

  4. mysql新闻发布_基于PHP+mysql实现新闻发布系统的开发

    新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...

  5. 基于javaweb的新闻发布系统(java+springboot+ssm+mysql)

    基于javaweb的新闻发布系统(java+springboot+ssm+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可 ...

  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的新闻发布系统

    项目功能: 基于SSM的新闻浏览系统,使用idea的maven项目开发的基于SSM的新闻发布系统,整合了spring,springMVC,mybatis.还使用了bootstrap,ueditor等工 ...

  7. 基于Java的新闻发布系统

    基于Java的新闻发布系统 开发环境与技术: Eclipse.TomCat, Servlet.JSP,Mysql 本信息发布平台提供了不同类型信息和新闻的发布功能,能够满足各种不同用户的需求,如企业信 ...

  8. 基于PHP和MySQL的新闻发布系统

    关于世界杯⚽️ 国际足联世界杯(FIFA World Cup),简称"世界杯",是由全世界国家级别球队参与,象征足球界最高荣誉,并具有最大知名度和影响力的足球赛事.世界杯全球电视转 ...

  9. 基于Javaweb的新闻发布系统

    摘 要 随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用 户提供了更加周到和人性化的服务.个性化已逐渐成为当今Web应用的潮流.利用JSP技 术开发的网站新闻管理系统 ...

  10. 基于jsp的新闻发布系统(论文)

    Internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视.广播.报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻.由于互联网所容纳的信息量大.内容丰富. ...

最新文章

  1. pandas筛选dataframe列名称中包含特定字符串的数据列(select columns contains specifiec substring in dataframe)
  2. UITableView中发现的小技巧(不断更新)
  3. [2019HDU多校第一场][HDU 6590][M. Code]
  4. 第九篇:Spring Boot整合Spring Data JPA_入门试炼04
  5. 终于有人把正态分布和二八法则讲明白了
  6. MySQL建表(那些字段必须)命令详解
  7. COM 组件设计与应用(二)——GUID 和 接口
  8. INA226+STC89C52RC读取电流电压功率
  9. java中jdbc查询有返回值_使用JdbcTemplate查询方法的返回值 | 学步园
  10. linux 安装谷歌浏览器--Google chrome
  11. ArcGIS 30mDEM数据空洞填补
  12. 网络营销分析七大法宝介绍
  13. python里使用正则表达式来替换匹配成功的组名
  14. 搜狐狐友营销的十二个办法
  15. 服务器文件夹 删除 修改 日志,win服务器 删除文件夹
  16. 分类又叫类目或者类别
  17. 嵌入式新手学习路线,嵌入式课程学习
  18. HTML3天快速入门教程(详细整理附案例)
  19. javaScript与jQuery中Window对象
  20. 电脑温度,电脑温度多少才算正常?如何查看电脑的硬件温度?

热门文章

  1. Python数据分析实例
  2. 为什么不使能中断,中断标志位也会被置一
  3. 十分好用PDF转换成PPT转换器
  4. 域——windows服务器域详解
  5. 小波变换matlab加密,混沌和小波变换的图像加密压缩算法
  6. 2021年T电梯修理考试题及T电梯修理模拟考试题
  7. 线性表的链式存储结构
  8. matlab中的插值函数
  9. spring aop 切面执行顺序和常见问题
  10. java调用vba代码合成Excel