基于MYSQL的新闻发布系统数据库设计项目实战
说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取。
项目背景
网站上的新闻随处可见,新闻网站系统也越来越多,例如:新浪新闻、腾讯新闻、网易新闻等等。很多网站和管理系统使用MySQL数据库存储数据。本项目主要讲述新闻发布系统的数据库设计过程。
系统功能概述
本项目介绍的是一个新闻发布系统,管理员可以通过该系统发布新闻信息、管理新闻信息。一个典型的新闻发布系统网站至少应该包含新闻信息管理、新闻信息显示和新闻信息查询3种功能。
新闻发布系统所要实现的功能具体包括新闻信息添加、新闻信息修改、新闻信息删除、显示全部新闻信息、按类别显示新闻信息、按关键字查询新闻信息、按关键字进行站内查询。
本网站为一个简单的新闻信息发布系统,该系统具有以下特点。
● 实用:系统实现了一个完整的信息查询过程。
● 简单易用:为使用户尽快掌握和使用整个系统,系统结构简单但功能齐全,简洁的页面设计使操作起来非常简便。
● 代码规范:作为一个实例,文中的代码规范简洁、清晰易懂。
本系统主要用于发布新闻信息、管理用户、管理权限、管理评论等功能。这些信息的录入、查询、修改和删除等操作都是该系统重点解决的问题。
本系统的主要功能包括以下几点:
(1)具有用户注册及个人信息管理功能。
(2)管理员可以发布新闻、删除新闻。
(3)用户注册后可以对新闻进行评论、发表留言。
(4)管理员可以管理留言和对用户进行管理。
系统功能分析
新闻发布系统分为5个管理部分,即用户管理、管理员管理、权限管理、新闻管理和评论管理。本系统的功能模块如图所示:
图中模块的详细介绍如下:
- 用户管理模块:实现新增用户、查看和修改用户信息功能。
(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的新闻发布系统数据库设计项目实战相关推荐
- 基于MYSQL的互联网药品交易系统数据库设计项目实战
说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取. 项目背景 疫情期间实体经济收到打击,实体药店经营困难,医院也面临着疫情患者的压力运转 ...
- mysql创建新闻发布时间_基于PHP+mysql实现新闻发布系统的开发
新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...
- php+mysql新闻系统的开发一_基于PHP+mysql实现新闻发布系统的开发
新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...
- mysql新闻发布_基于PHP+mysql实现新闻发布系统的开发
新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...
- 基于javaweb的新闻发布系统(java+springboot+ssm+mysql)
基于javaweb的新闻发布系统(java+springboot+ssm+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可 ...
- 基于JAVA+SpringMVC+Mybatis+MYSQL的新闻发布系统
项目功能: 基于SSM的新闻浏览系统,使用idea的maven项目开发的基于SSM的新闻发布系统,整合了spring,springMVC,mybatis.还使用了bootstrap,ueditor等工 ...
- 基于Java的新闻发布系统
基于Java的新闻发布系统 开发环境与技术: Eclipse.TomCat, Servlet.JSP,Mysql 本信息发布平台提供了不同类型信息和新闻的发布功能,能够满足各种不同用户的需求,如企业信 ...
- 基于PHP和MySQL的新闻发布系统
关于世界杯⚽️ 国际足联世界杯(FIFA World Cup),简称"世界杯",是由全世界国家级别球队参与,象征足球界最高荣誉,并具有最大知名度和影响力的足球赛事.世界杯全球电视转 ...
- 基于Javaweb的新闻发布系统
摘 要 随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用 户提供了更加周到和人性化的服务.个性化已逐渐成为当今Web应用的潮流.利用JSP技 术开发的网站新闻管理系统 ...
- 基于jsp的新闻发布系统(论文)
Internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视.广播.报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻.由于互联网所容纳的信息量大.内容丰富. ...
最新文章
- pandas筛选dataframe列名称中包含特定字符串的数据列(select columns contains specifiec substring in dataframe)
- UITableView中发现的小技巧(不断更新)
- [2019HDU多校第一场][HDU 6590][M. Code]
- 第九篇:Spring Boot整合Spring Data JPA_入门试炼04
- 终于有人把正态分布和二八法则讲明白了
- MySQL建表(那些字段必须)命令详解
- COM 组件设计与应用(二)——GUID 和 接口
- INA226+STC89C52RC读取电流电压功率
- java中jdbc查询有返回值_使用JdbcTemplate查询方法的返回值 | 学步园
- linux 安装谷歌浏览器--Google chrome
- ArcGIS 30mDEM数据空洞填补
- 网络营销分析七大法宝介绍
- python里使用正则表达式来替换匹配成功的组名
- 搜狐狐友营销的十二个办法
- 服务器文件夹 删除 修改 日志,win服务器 删除文件夹
- 分类又叫类目或者类别
- 嵌入式新手学习路线,嵌入式课程学习
- HTML3天快速入门教程(详细整理附案例)
- javaScript与jQuery中Window对象
- 电脑温度,电脑温度多少才算正常?如何查看电脑的硬件温度?