论坛管理系统.docx
- 文档编号:13445068
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:16
- 大小:453.34KB
论坛管理系统.docx
《论坛管理系统.docx》由会员分享,可在线阅读,更多相关《论坛管理系统.docx(16页珍藏版)》请在冰点文库上搜索。
论坛管理系统
论坛管理系统
1概述
当今社会,网络已经渗透到各个领域,网络论坛成为了大家对各类事件谈论和交流的地方,随着信息量的加大,对论坛信息的管理越发的显得重要,所以应该用处理信息功能强大的数据库管理方法去管理这日渐繁杂的信息。
此数据库的设计与研究的目的在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力。
研究范围限为网上普通文字论坛信息,涉及领域为网络论坛基本功能的行使要求及规范与守则。
理论基础为本学期的SQLServer数据库的学习与练习,书本上对学校学生课程方面管理的数据库设计很全面的展示了数据库的理论与方法,相比较相类比可以得出论坛管理信息系统的设计方案。
运用数据库管理的方法,研究论坛中多种信息的作用、重要性及联系。
通过本系统软件,实验中运用MicrosoftSQLServer2005作为本系统的数据库,它是一个支持多用户的新型数据库,能满足本实验的数据量需求。
预期此系统能帮助论坛管理人员利用计算机,快速方便的对论坛信息进行管理、输入、输出、查找的所需操作,使散乱的论坛信息能够具体化、直观化、合理化。
2需求分析
需求分析是数据库设计的起点,为以后的具体设计做准备。
需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
经验证明,由于设计要求的不正确或误解,直到系统测试阶段才发现许多错误,则纠正起来要付出很大代价。
因此必须高度重视需求分析。
2.1数据流图
数据流图以系统的科学性、管理的合理性、技术的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,它简单明了地将系统进行说明。
下面就是根据本系统的功能绘制出来的数据流图。
如图2.1所示。
图2.1论坛管理信息数据流图
2.2数据字典
数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果,是关于数据库中数据的描述,即对元素的描述。
数据字典是在系统分析阶段建立,在数据库设计过程中不段修改、充实和完善的。
以上数据流图,已对数据处理和彼此之间的联系进行了说明,为了进一步明确数据的详细内容和加工过程,现将其组成部分的数据流,数据存储和加工通过数据字典来描述清楚。
输入流
主要有:
查询要求,添加人员
输出流
主要有:
查询结果,帖子信息,作者信息
数据字典说明
查询要求=作者信息查询要求+帖子信息查询要求。
查询结果=作者信息+帖子信息+回帖信息。
作者信息=作者ID+作者昵称+性别+年龄+职业+爱好。
帖子信息=帖子编号+帖子主题+帖子作者ID+发帖时间+修改时间+回帖次数+查看次数。
回帖信息=回复作者ID+帖子编号+回帖时间。
3概念结构设计
数据库的概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。
概念模型作为概念结构设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。
概念模型的种类很多,其中最著名、最实用的一种是E-R(实体-联系)模型,它将现实世界的信息结构统一用属性、实体以及他们之间的联系来描述。
如图3.1所示。
图3.1论坛管理系统E-R图
4逻辑结构设计
逻辑结构是以概念结构的各种数据为基础,但为了能用某一DBMS实现用户的需求,还必须将概念模型进一步转化为特定DBMS所支持的数据模型,这正是数据逻辑结构设计所要完成的任务。
数据库的逻辑设计即把得到的关系转化为特定的数据库管理系统下的数据表。
author(作者信息)表:
作者ID,作者昵称,性别,年龄,职业,爱好。
post(帖子信息)表:
帖子编号,帖子主题,作者ID,发帖时间,修改时间,回帖次数,查看次数。
content(回帖信息)表:
作者ID,帖子编号,回帖时间。
5物理结构设计
论坛信息管理系统的核心是数据库。
完成数据库的逻辑设计后,接下来就是对数据库的物理设计。
本例采用MicrosoftSQLServer2005系统来设计日常事务管理系统的数据库。
建立数据库前,应先对数据进行分析,包括类型、约束等,然后开始着手建立数据库。
本系统数据库中用到的3个数据表。
如表5.1~5.3所示。
5.1表author表
字段名
字段类型
约束控制
字段含义说明
id
int
主键约束
作者ID
name
varchar(20)
非空约束
作者昵称
sex
char
(2)
“男”或“女”
性别
age
int
非空约束
年龄
prof
varchar(20)
非空约束
职业
hobby
varchar(20)
非空约束
爱好
5.2表post表
字段名
字段类型
约束控制
字段含义说明
no
char(20)
主键约束
帖子编号
theme
varchar(200)
非空约束
帖子主题
id
int
外键约束
作者ID
createtime
datetime
发帖时间
updatetime
datetime
修改时间
answerNum
int
非空约束
回帖次数
visitNum
int
非空约束
查看次数
5.3表content表
字段名
字段类型
约束控制
字段含义说明
id
int
主键约束、外键约束
作者ID
no
char(20)
非空约束
帖子编号
answertime
datetime
回帖时间
该设计还需运用索引、视图、存储过程、触发器,而使系统更完美一些。
运用索引的作用就像书的目录一样,通过索引可以大大提高查询速度。
方便数据量大的时候,查找和查询数据更快捷。
一般论坛信息查询的最多的是什么样ID的作者发了什么主题的帖子,回复情况如何,所以我们针对这一需求创建一视图,让其显示一帖子的发布作者、发布作者ID、帖子主题、查看次数、回帖次数。
存储过程也是一样,建立一个任意输入一个帖子的编号的时候,将显示该帖子的主题、作者昵称、回帖次数、查看次数。
而考虑到各表之间数据有一定的联系,所以创建一触发器即当在回帖表中插入一条记录时,帖子表里的回帖次数数值加1。
这样就省去些信息录入的麻烦。
6数据库实施
数据库实施是指在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。
6.1数据库的创建
启动SQLServer2005,打开“对象资源管理器”,右键单击“数据库”,在菜单中单击“新建数据库”,在弹出的数据库属性对话框中输入新数据库的名字:
bbs,如图6.1所示。
在该窗口中我们可以配置数据库的参数,比如数据文件和日志文件的位置,此处我们都选择了默认参数。
图6.1新建数据库窗口
相应代码如下:
CREATEDATABASE[bbs]ONPRIMARY
(NAME=N'bbs',FILENAME=N'C:
\bbs\bbs.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOGON
(NAME=N'bbs_log',FILENAME=N'C:
\bbs\bbs_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)
COLLATEChinese_PRC_CI_AS
6.2数据表的创建
打开SQL的“对象资源管理器”→打开“bbs”数据库→右击“表”→在菜单中单击“新建表”,在弹出的数据表窗口中,输入表名及表的列名、数据类型、长度、允许空等内容,依次建立author(作者信息)表,post(帖子信息)表,content(回帖信息)表。
如图6.2所示。
图6.2数据表的创建
相应代码如下:
1.创建author表:
CREATETABLE[dbo].[author](
[id][int]NOTNULL,
[name][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[sex][char]
(2)COLLATEChinese_PRC_CI_ASNOTNULL,
[age][int]NOTNULL,
[prof][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[hobby][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
)
2.创建content表:
CREATETABLE[dbo].[content](
[id][int]NOTNULL,
[no][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[anwerNum][datetime]NOTNULL,
)
3.创建post表:
CREATETABLE[dbo].[post](
[no][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[theme][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,
[id][int]NOTNULL,
[createtime][datetime]NOTNULL,
[updatetime][datetime]NOTNULL,
[anwerNum][int]NOTNULL,
[visitNum][int]NOTNULL,
)
6.3外键约束的设置
多表之间相互连接可以设置主键和外键,便于查询。
6.3.1author表和content表设置外键约束:
打开SQL的“对象资源管理器”→打开“bbs”数据库→打开“表”→右击“dbo.content”
→在菜单中单击“修改”,在弹出的数据表窗口中,右击“id”→在菜单中单击“关系”,如图6.3所示。
图6.3
在弹出的“外键关系”窗口中,单击“表和列规范”后面的按钮,可以设置外键约束关系,如图6.4、6.5所示。
图6.4
图6.5
相应代码如下:
ALTERTABLE[dbo].[content]WITHCHECKADDCONSTRAINT[FK_content_author]FOREIGNKEY([id])
REFERENCES[dbo].[author]([id])
6.3.2author表和post表设置外键约束方法同上,不赘述。
6.4索引的创建
表的索引就像书的目录一样,通过索引可以大大提高查询速度。
打开SQL的“对象资源管理器”→打开“bbs”数据库→打开“表”→单击“dbo.author”→右击“索引”,菜单中单击“新建索引”。
如图6.6所示。
图6.6
在弹出的数据表窗口中,设置相应的条件,即可以创建一个索引。
如图6.7所示。
图6.7
相应代码如下:
CREATENONCLUSTEREDINDEX[author_id]ON[dbo].[author]
(
[id]ASC,
[name]ASC
)
6.5视图的创建
视图的创建使我们的查询更加方便,能够更兼有针对性的显示出我们需要的信息。
一般论坛信息查询的最多的是某ID的作者发了什么主题的帖子,回复情况如何,所以我们就这一需求创建一视图,让其显示一帖子的发布作者、发布作者ID、帖子主题、查看次数、回帖次数。
打开SQL的“对象资源管理器”→打开“bbs”数据库→右击“视图”→单击“新建视图”。
如图6.8所示。
图6.9
在“添加表”中添加“author”,“post”,而后在显示的视图中选中需要的信息,后保存即可。
如图6.10。
图6.10
相应代码如下:
CREATEVIEW[dbo].[View_1]
AS
SELECTdbo.author.name,dbo.author.idASExpr1,dbo.post.visitNum,dbo.post.answerNum,dbo.post.theme
FROMdbo.authorINNERJOIN
dbo.postONdbo.author.id=dbo.post.id
6.6存储结构的创建
存储结构是存储在SQLServer数据库中的一种编译对象。
存储结构能模块化程序设计,高效率的执行,减少网络流量,还可以作为安全机制使用。
在本设计中要创建一个叫做post_inf的存储结构,当任意输入一个帖子的编号的时候,将显示该帖子的主题、作者昵称、回帖次数、查看次数。
创建代码如下:
createprocedurepost_inf
(
@nochar(20),
@themechar(200)output,
@namevarchar(20)output,
@answerNumintoutput,
@visitNumintoutput
)
as
select@no=no,@theme=theme,@name=name,@answerNum=answerNum,@visitNum=visitNum
fromauthor,post
whereauthor.id=post.idandpost.no=@no
6.7触发器的创建
触发器是一种特殊的存储结构,它不同于我们前面介绍过的存储结构。
触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。
触发器除能够实现主键和外键所不能保证的复杂的参照完整性和数据的一致性外,还有强化约束,跟踪变化,级联运行,调用存储过程的功能。
而且触发器的性能通常很低。
现就本设计,创建一个触发器content_add,行使功能为:
当在表content中插入一条记录时,表post里回帖次数数值加1。
创建代码如下:
createtriggercontent_addoncontent
forinsert
as
updatepost
setanswerNum=answerNum+1
wherepost.id=(selectidfrominserted)
7总结
本文在学习和研究了课本主要数据库课程知识的基础上,查阅了网上不少有关信息管理系统的文献资料,了解并掌握了信息管理系统设计的概念、原理及研究的目的,认真学习了数据流图、E-R图的画法和数据字典的创建,并在此基础上实现了这样一个论坛信息管理系统。
本次的设计总体来说是比较简单的,没有很深入的考虑,使系统的更好的地方没有考虑进去。
但也有些地方时可圈可点的。
首先,附件系统没有考虑进去,这样论坛只能是一个枯燥的文字论坛,吸引人之处并不多。
其次,没有分出管理员和用户的级别,这样信息的管理没有权限。
合理之处有:
信息管理系统简单,查询方便,不出现或者少出现繁杂无用信息。
学习感受方面,在本次课程设计中,我收获很大,很多类似自己已经会了的,真正着手,还会遇到很多问题。
有的在课本上有的知识介绍的很不详细,像数据流图的设计,具体怎么办根本没有讲明白,这样就只能到网上去查资料,也从中学到了很多知识。
有的设计已经设计完了,后来又发现问题,像设置外键约束表的选择问题上,就需要改掉以前好多步骤。
还有的本来是可以通的,但是系统死活不通过,像外键约束的后期添加,就需要一步步试验,查资料,和同学讨论,问老师。
最后总算做完了设计,兴奋感时难以言喻的。
本次设计的论坛信息管理系统仍然有待于完善,还有很多方面有待于开展,归纳起来有以下几点:
(1)需要为该系统添加一个用户注册和修改系统。
(2)需要为该系统添加一个附件管理系统。
(3)需要设置管理员,需要设置权限,以便各权限用户对信息进行操作。
(4)需要对管理系统信息更加详细化,而处理上更加简略化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论坛 管理 系统