您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页网站新闻发布系统数据库课程设计

网站新闻发布系统数据库课程设计

来源:宝玛科技网


课程设计Ⅳ 设计说明书

网站新闻发布与管理系统 的数据库设计和数据操作

学生姓名 学 号 班 级 成 绩 指导教师

周 朝 ********** 网络1101班

杨 刚

数学与计算机科学学院 2014年 6 月 27 日

课程设计任务书

2013—2014学年 第二学期

课程设计名称: 课程设计IV 课程设计题目: 网站新闻发布与管理系统的数据库设计和数据操作 完 成 期 限: 设计内容: 1. 任务说明

本系统的主要功能如下: 1) 具有用户注册及个人信息管理功能。

自 2014年6月16日 至 2014年6月28日 共2周

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

3) 用户注册后可以对新闻进行评论、发表留言。 4) 管理员可以管理留言和对用户进行管理。 2. 要求

1) 在调查或了解的基础上,进行系统分析。

2) 根据逻辑设计方案,进行系统设计。 3) 课程设计的重点:系统的分析、数据库设计、用SQL语句进行数据操作。 3. 参考资料

[1] 苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)[M].北京:机械工业出版社,2006. [2] 向阳.信息系统分析与设计(第1版)[M].北京:清华大学出版社,2009. [3] 卫红春.信息系统分析与设计[M].西安:西安电子科技大学出版社,2003. 指导教师:杨刚 教研室负责人:陈波

课程设计评阅

评语: 指导教师签名: 年 月 日

摘 要

设计了一个新闻发布和管理系统,主要完成了系统分析、数据库设计和实现、数据操作等内容。该系统具体功能有:添加并删除用户,管理员发表新闻删除新闻,注册用户对新闻进行评论发表留言,管理员对用户进行管理。数据库实现采用SQL Server 2008数据库管理系统。 关键词:新闻发布;管理系统;系统分析;SQL Server

目 录

1 课题描述 ..................................................................................................................................... 1 1.1课程设计的内容 .................................................................................................................. 1 1.2 课程设计的目的 .................................................................................................................. 1 2 需求分析 ..................................................................................................................................... 2 2.1 功能分析 ............................................................................................................................... 2 2.2数据流程分析 ...................................................................................................................... 2 2.2.3 系统数据字典 .................................................................................................................. 3 3 系统总体设计 ............................................................................................................................. 5 3.1 模块划分 .............................................................................................................................. 5 3.2 系统功能模块图 ................................................................................................................... 5 4 数据库的设计 ............................................................................................................................. 6 4.1 概念结构设计 ...................................................................................................................... 6 4.2 数据库逻辑结构设计 .......................................................................................................... 8 4.3 数据库物理结构设计 .......................................................................................................... 8 5 数据库的数据操作 ................................................................................................................... 11 5.1 数据库的创建 ..................................................................................................................... 11 5.2 数据操作 ............................................................................................................................ 12 6 总结 ........................................................................................................................................... 15 参考文献 ....................................................................................................................................... 16

1 课题描述 1.1课程设计的内容

本次课程设计是要设计一个网站新闻发布与管理系统,完成对网站新闻发布与管理系统数据库的设计并进行数据操作。网站新闻发布与管理系统可以发布和管理新闻信息,主要实现用户浏览与评论新闻和管理员发布与管理新闻以及管理评论。具体实现一些功能,为用户提供用户管理,为管理员提供新闻管理、权限管理、管理员管理和评论管理。 1.2 课程设计的目的

本次课程设计重在对学习过的理论知识进行实际应用。在了解相关信息的基础上,进行系统分析。根据逻辑设计方案,进行系统设计,重在系统的分析与数据库设计方面。加强掌握数据库设计流程,为系统实现奠定重要基础。

1

2 需求分析 2.1 功能分析

设计管理系统对于用户和管理员,应实现以下功能:

1)用户管理:提供用户注册,注册后查看和修改个人信息和对新闻发表评论的功能。 2)管理员管理:高权限管理员(超级管理员)可新增、查看、修改和删除低权限管理员信息。 3)权限管理:给管理员赋权,设定某一权限可操作的模块和是否可管理新闻评论。 3)新闻管理:有相关权限的管理员可发布和管理新闻信息。 3)评论管理:有相关权限的管理员可审核新闻评论。 2.2数据流程分析

2.2.1数据流程分析的工具

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理元素,它只是描绘信息在系统中流动和被处理的情况。

数据流图的四种基本符号和具体描述如图2.1所示

加工外部实体数据存储数据流图2.1 数据流图的基本符号

数据流图在系统分析中的主要作用体现在以下几点:

(1)数据流图是系统逻辑功能的图形表示,即使不是专业的计算机人员也容易理解它,所以它是分析员和用户之间极好的通信工具。

(2) 数据流图能清楚地描绘数据在系统中的流动和被处理的逻辑过程。 (3)数据流图是系统逻辑功能的图形表示,容易理解。 2.2.2系统数据流图

通过对系统的分析,顶层数据流图如图2.2所示,系统数据流图如2.3所示

用户 浏览、评论新闻网站新闻发布与管理系统

图2.2 顶层数据流图

2

管理员

用户数据用户信息权限信息管理管理员信息用户用户管理用户权限管理权限管理员管理管理员管理员新闻信息新闻管理新闻评论信息评论管理评论 图2.3 系统数据流图

2.2.3 系统数据字典

数据字典(DD,Data Dictionary)是以特定格式记录下来的、对系统的数据流程图中各个基本要素(数据流、加工、存储和外部项)的内容和特征所作的完整的定义和说明。数据字典是对数据流程图的重要补充和说明。数据字典中有五种类型的条目:外部实体,数据流,数据存储,数据项和加工。

数据字典中包括数据定义,但除了它之外,还包含其它一些信息。一般信息,包括名字,别名和描述。针对以上数据流图,给出部分项的说明。

(1)管理员信息

数据流名: 别名: 描述: 组成: 备注:

管理员信息

管理员信息

管理员信息 = 管理员编号+管理员名称+管理员密码

(2)权限信息

数据流名: 别名: 描述: 组成: 备注:

权限信息 权限信息

权限信息 = 权限编号+权限名称

(3)评论信息

数据流名: 别名: 描述: 组成: 备注:

权评论信息 评论信息

评论信息 = 评论编号+评论标题+评论内容+评论时间

3

(4)栏目信息

数据流名: 别名: 描述: 组成: 备注:

栏目信息 栏目信息

栏目信息 = 栏目编号+栏目名称+栏目描述

栏目是说明新闻所属的类别,如国内新闻,国际新闻。

(5)处理过程

处理过程名: 别名: 描述: 处理说明: 备注:

新闻信息管理

对新闻信息进行管理

建立新闻表,对新闻进行编号;实现对新闻的增删和维护功能 新闻编号唯一不可空

(6)用户数据存储

数据存储名: 别名: 描述: 数据结构: 备注:

用户数据

新用户存储

用户信息 = 用户编号+用户名称+用户密码+用户性别+用户Email

4

3 系统总体设计

3.1 模块划分

设计一个备忘录管理系统,具体分为四大模块,如下:

(1)用户管理模块:实现新增用户,查看和修改用户信息功能;

(2)管理员管理模块:实现新增管理员,查看、修改和删除管理员信息功能; (3)权限管理模块:实现对管理员、对管理的模块和管理的评论赋权功能;

(4)新闻管理模块:实现有相关权限的管理员对新闻的增加、查看、修改和删除功能; (5)评论管理模块:实现有相关权限的管理员对评论的审核和删除功能; 3.2 系统功能模块图

系统结构图是用树形结构的一系列多层次的矩形框来描绘系统的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个模块的子集,最底层的各个框代表组成这个系统的功能模块。

本系统的总体结构图如图3.1所示。

网站新闻发布与管理系统

新权 管

闻限理

管管员

理 理 管

管新管评管栏

增理理论理目

新新管赋员赋

闻闻理赋权 权

信信员 权

息 息 信

图3.1 系统功能模块图

用户管理

评论管理

注册新用户

查看用户信息 修改用户信息 注册新管理员

审核评论 删除评论

5

4 数据库的设计 4.1 概念结构设计

概念结构设计是将系统需求分析得到的用户需求抽象为反映用户观点的信息结构的过程。概念结构设计的结果是数据库的概念模型,即E-R模型。由于它是从现实世界的角度进行抽象和描述,所以它与计算机硬件、数据库逻辑结构和支持数据库的DBMS无关。在数据库设计中应重视概念结构设计,它是整个数据库设计的关键,是为计算机存储数据做准备工作。

根据需求分析结果,主要有用户实体、管理员实体、新闻实体和评论实体4个实体。各实体属性图如图4.1-4.6所示,系统总体E-R图如图4.7所示。

编号 名称 密码 用户Email 性别

图4.1 用户信息的实体属性图

编号管理员 名称 密码

图4.2 管理员信息的实体属性图

编号

权限 名称

图4.3 权限信息的实体属性图

6

描述 编号 新闻 内容 标题

图4.4 新闻信息的实体属性图

编号栏目 描述名称

图4.5 栏目信息的实体属性图

时间 编号 评论标题 内容 图4.6 评论信息的实体属性图

7

管理员1 1时间时间管理管理时间时间n新闻属于n评论nn属于发表时间时间nn栏目浏览用户

图4.7 系统总体E-R图

4.2 数据库逻辑结构设计

E-R图表示的概念模型是用户数据要求的形式化。E-R图是于任何一种数据模型的概念信息结构,也不为任何一个DBMS所支持。逻辑结构设计的任务就是把概念结构设计好的基本E-R图转换为与选用的某个具体的DBMS所支持的数据模型相符合的逻辑结构,设计的结果是一组关系模式。

将图4.7中系统E-R图转换成关系模型如下: 用户(编号,名称,密码,性别, Email); 管理员(编号,名称,密码); 权限(编号,名称);

新闻(编号,标题,内容,发布时间,新闻描述); 栏目(编号,名称,描述);

评论(评论编号,评论标题,评论内容,评论时间); 4.3 数据库物理结构设计

数据库的物理结构主要指数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。设计的任务是选择合适的存储结构和存取路径,也就是设计数据库的内模式。

内模式和逻辑模式不一样,不直接面向用户,一般的用户不一定、也不需要了解内模式的设计细节。内模式的设计可以不考虑用户理解的方便,其主要的设计目标有两个:其一提高数据库的性能,特别是满足主要应用的性能要求;其二能够有效地利用存储空间。

8

根据数据库物理结构设计理论,将该系统逻辑结构转换为物理结构,如下所示: (1)用户信息表

用户信息表(Users)主要用来存放用户账号信息,如表4.1所示。

表4.1用户信息表

列名 UserID UserName UserPassword

Sex UserEmail

数据类型 int

nvarchar(20) nvarchar(20) nvarchar(10) nvarchar(20)

允许NULL值

否 否 否 否 否

说明 用户编号 用户名称 用户密码 用户性别 用户Email

(2)管理员信息表

管理员信息表(Admin)主要用来存放用户账号信息,如表4.2所示。

列名 AdminID AdminName AdminPassword

表4.2管理员信息表

数据类型 允许NULL值 int 否 invarchar(20) 否 nvarchar(20) 否

说明

管理员编号 管理员名称 管理员密码

(3)权限信息表

权限信息表(Roles)主要用来存放权限信息,如表4.3所示。

列名 RoleID RoleName

表4.3权限信息表

数据类型 允许NULL值 int 否 Nvarchar(20) 否

说明

权限编号 权限名称

(4)新闻信息表

新闻信息表(News)主要用来存放新闻信息,如图4.4所示。

表4.4新闻信息表

列名 NewsID NewsTitle NewsContent NewsDate NewsDesc

数据类型 int

nvarchar(50)

ntext datetime nvarchar(50)

允许NULL值

否 否 否 是 否

说明 新闻编号 新闻标题 新闻内容 发布时间 新闻描述

(5)栏目信息表

栏目信息表(Categroy)主要用来存放新闻栏目信息,如图4.5所示。

列名 CategroyID CategroyName CategroyDesc

表4.5栏目信息表

数据类型 允许NULL值 int 否 nvarchar(50) 否 nvarchar(50) 否

说明

栏目编号 栏目名称 栏目描述

(6)评论信息表

评论信息表(Comment)主要用来存放新闻评论信息,如图4.6所示。

列名 CommentID CommentTitle

表4.6评论信息表

数据类型 允许NULL值 int 否 nvarchar(50) 否

9

说明

评论编号 评论标题

CommentContent CommentDate

ntext datetime

否 是

评论内容 评论时间

(7)管理员_权限表

管理员_权限表(Admin_Roles)主要用来存放管理员和权限的关系,如图4.7所示。

列名 ARID AdminID RoleID

表4.7管理员_权限表

数据类型 允许NULL值 int 否 int 否 int 否

说明

管理员_权限编号 管理员编号 权限编号

(8)新闻_评论表

新闻_评论表(News_Comment)主要用来存放新闻和评论的关系,如图4.8所示。

列名 NCommentID NewsID CommentID

表4.8新闻_评论表

数据类型 允许NULL值 int 否 int 否 int 否

说明

新闻_评论编号 新闻编号 评论编号

10

5 数据库的数据操作

5.1 数据库的创建

根据数据库设计结果,利用SQL Server Management 工具,用SQL语句创建数据库。创建数据库语句如下所示:

create database 新闻管理系统

use 新闻管理系统

1)管理员表

create table Admin(

AdminID int primary key identity(1,1), AdminName nvarchar(20) not null, AdminPassword nvarchar(20) not null )

2)权限表

create table Roles(

RoleID int primary key identity(1,1), RoleName nvarchar(20) not null )

3)管理员权限表

create table Admin_Roles( ARID int identity(1,1), AdminID int, RoleID int,

constraint ARPK primary key(ARID,AdminID,RoleID),

constraint ARFK foreign key(AdminID) references Admin(AdminID), constraint ARFK2 foreign key(RoleID) references Roles(RoleID) )

4)评论表

create table Comment(

CommentID int primary key identity(1,1), CommentTitle nvarchar(50) not null, CommentContent ntext not null, Commentsex ntext not null,

CommentDate datetime default getdate() )

5)用户表

create table Users(

UserID int primary key identity(1,1), UserName nvarchar(20) not null, UserPassword nvarchar(20) not null, UserEmail nvarchar(20) not null )

6)用户评论表

create table Users_Comment( UCID int identity(1,1), UserID int,

CommentID int,

constraint UCPK primary key(UCID,UserID,CommentID),

constraint UCFK foreign key(UserID) references Users(UserID),

constraint UCFK2 foreign key(CommentID) references Comment(CommentID)

11

)

7)新闻表

create table News(

NewsID int primary key identity(1,1), NewsTitle nvarchar(50) not null, NewsContent ntext not null,

NewsDate datetime default getdate(), NewsDesc nvarchar(50) not null, NewsImagePath nvarchar(50), NewsRate int, NewsIsCheck bit, NewsIsTop bit )

8)新闻评论表

create table News_Comment( NCommentID int identity(1,1), NewsID int, CommentID int,

constraint NCommentPK primary key(NCommentID,NewsID,CommentID), constraint NCommentFK foreign key(NewsID) references News(NewsID),

constraint NCommentFK2 foreign key(CommentID) references Comment(CommentID) )

9)栏目表

create table Category(

CategoryID int primary key identity(1,1), CategoryName nvarchar(50) not null, CategoryPID int not null,

CategoryDesc nvarchar(50) not null ) 5.2 数据操作

1)数据插入操作

向用户表中添加一些新用户,SQL语句如下所示: use 新闻发布系统

insert into 前台用户表(Uid,Username,Pass,Email) values(1,'sd','sd','d') insert into 前台用户表(Uid,Username,Pass,Email) values(2,'lele','222','q') insert into 前台用户表(Uid,Username,Pass,Email) values(3,'lala','333','y') 插入结果如图5.1所示

图5.1 用户信息表添加信息结果

向新闻内容表中插入一条新闻,SQL语句如下: use 新闻发布系统

insert into 新闻内容表(Nid,Keyword,Content) values('1','qeq','12345678') 插入结果如图5.2所示

12

5.2新闻内容表添加新闻结果

2)简单数据查询

向新建表中插入新数据后,查询新用户信息,SQL语句如下所示: use 新闻发布系统

select Uid,Username,Pass,Email From 前台用户表

数据查询结果如图5.3所示

图5.3 查询新用户信息结果

3)为数据库表中列创建CHECK约束

在创建的用户表,为列sex创建CHECK约束,使其值只能为男、女,SQL语句如下所示: use 新闻发布系统

alter table 用户表 with check

add constraint s check(sex in('男','女')) 创建CHECK约束结果如图5.4所示:

图5.4 为sex创建s约束结果

4)为数据库表中列创建DEFAULT约束

新建用户后,为用户创建初始密码,即对用户表中列PassWord创建DEFAULT约束,创建SQL语句如下所示:

use 新闻发布系统 ALTER table tb_User

ADD CONSTRAINT PassWord_Default DEFAULT '123' For PASSWORD

13

创建DEAFULT约束结果如图5.5所示

图5.5 为用户表列PassWord创建DEFAULT约束结果

5)模糊查询

根据密码备忘表中已插入信息,利用模糊查询带有关键字2的所有信息,SQL语句如下所示: use 新闻发布系统

select Nid,Keyword,Content From 新闻内容表 Where Nid like '%2%' 查询结果如图5.6所示

图5.6 带有关键字2的所有新闻信息

6)创建触发器

在tb_User表中创建触发器,当删除tb_User表中用户信息时,检查该用户名是否为Admin(即超级用户),如果是则不能删除该条用户信息。

create trigger Admin on tb_User after delete as

if(select UserName from tb_User where UserName='Admin')=1 begin

print '超级管理员不能删除!' rollback transaction end

14

6 总结

经过了两个星期的学习,完成对网站新闻发布系统的分析和数据库的实现。在此过程中,我们重点

分析系统并设计数据库。根据对网站新闻发布系统地了解,初步分析系统需求,在需求分析基础上,对网站新闻发布系统进行总体设计。通过画E-R图,完成对数据库的概念结构设计;将E-R图转化为关系模式,完成数据库的逻辑结构设计;将关系模式转化为数据库中的表,完成数据库的物理结构设计。并利用SQL语句完成数据库中对象的创建、插入数据记录、查询记录、创建数据存储等。

新闻发布与管理系统的设计过程,是对软件工程与数据库课程相关内容的温习。整个完成过程严格按照软件开发流程与数据库设计步骤进行,为后期的系统实现打下了坚实的基础。由于我们缺乏对项目的开发经验,我们走了许多的弯路,不过在指导老师的辅导下,我们还是克服了重重困难,在预定的时间内完成了老师所分配的任务。我们虽然遇到了很多的困难,但是只有自己真正的在实践中得到的才是你所需要的。本次数据库课程设计我们都收获很大!

15

参考文献

[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2002 [2] 林小玲.数据库原理及应用[M]. 北京:机械工业出版社,2011

[3] 苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)[M].北京:机械工业出版社,2006 [4] 向阳.信息系统分析与设计(第1版)[M].北京:清华大学出版社,2009 [5] 卫红春.信息系统分析与设计[M].西安:西安电子科技大学出版社,2003 [6] 郑炜.朱怡安.软件工程[M].西安:西北工业大学出版社,2010

16

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务