论坛管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII目录1 概述 (1)2 需求分析 (1)2.1数据流图 (2)2.2数据字典 (2)3 概念结构设计 (3)4 逻辑结构设计 (4)5 物理结构设计 (4)6 数据库实施 (6)6.1数据库的创建 (6)6.2数据表的创建 (7)6.3外键约束的设置 (9)6.4索引的创建 (11)6.5视图的创建 (13)6.6存储结构的创建 (14)6.7触发器的创建 (15)7 总结 (16)1概述当今社会,网络已经渗透到各个领域,网络论坛成为了大家对各类事件谈论和交流的地方,随着信息量的加大,对论坛信息的管理越发的显得重要,所以应该用处理信息功能强大的数据库管理方法去管理这日渐繁杂的信息。
此数据库的设计与研究的目的在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力。
研究范围限为网上普通文字论坛信息,涉及领域为网络论坛基本功能的行使要求及规范与守则。
理论基础为本学期的SQL Server数据库的学习与练习,书本上对学校学生课程方面管理的数据库设计很全面的展示了数据库的理论与方法,相比较相类比可以得出论坛管理信息系统的设计方案。
运用数据库管理的方法,研究论坛中多种信息的作用、重要性及联系。
通过本系统软件,实验中运用Microsoft SQL Server2005作为本系统的数据库,它是一个支持多用户的新型数据库,能满足本实验的数据量需求。
预期此系统能帮助论坛管理人员利用计算机,快速方便的对论坛信息进行管理、输入、输出、查找的所需操作,使散乱的论坛信息能够具体化、直观化、合理化。
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物理结构设计论坛信息管理系统的核心是数据库。
完成数据库的逻辑设计后,接下来就是对数据库的物理设计。
本例采用Microsoft SQL Server 2005系统来设计日常事务管理系统的数据库。
建立数据库前,应先对数据进行分析,包括类型、约束等,然后开始着手建立数据库。
本系统数据库中用到的3个数据表。
如表5.1~5.3所示。
5.1表 author表5.2表 post表5.3表 content表该设计还需运用索引、视图、存储过程、触发器,而使系统更完美一些。
运用索引的作用就像书的目录一样,通过索引可以大大提高查询速度。
方便数据量大的时候,查找和查询数据更快捷。
一般论坛信息查询的最多的是什么样ID的作者发了什么主题的帖子,回复情况如何,所以我们针对这一需求创建一视图,让其显示一帖子的发布作者、发布作者ID、帖子主题、查看次数、回帖次数。
存储过程也是一样,建立一个任意输入一个帖子的编号的时候,将显示该帖子的主题、作者昵称、回帖次数、查看次数。
而考虑到各表之间数据有一定的联系,所以创建一触发器即当在回帖表中插入一条记录时,帖子表里的回帖次数数值加1。
这样就省去些信息录入的麻烦。
6数据库实施数据库实施是指在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。
6.1数据库的创建启动SQL Server 2005,打开“对象资源管理器”,右键单击“数据库”,在菜单中单击“新建数据库”,在弹出的数据库属性对话框中输入新数据库的名字:bbs,如图6.1所示。
在该窗口中我们可以配置数据库的参数,比如数据文件和日志文件的位置,此处我们都选择了默认参数。
图6.1 新建数据库窗口相应代码如下:CREATE DATABASE [bbs] ON PRIMARY( NAME = N'bbs', FILENAME = N'C:\bbs\bbs.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )LOG ON( NAME = N'bbs_log', FILENAME = N'C:\bbs\bbs_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)COLLATE Chinese_PRC_CI_AS6.2数据表的创建打开SQL的“对象资源管理器”→打开“bbs”数据库→右击“表”→在菜单中单击“新建表”,在弹出的数据表窗口中,输入表名及表的列名、数据类型、长度、允许空等内容,依次建立author(作者信息)表,post(帖子信息)表, content(回帖信息)表。
如图6.2所示。
图6.2 数据表的创建相应代码如下:1.创建author表:CREATE TABLE [dbo].[author]([id] [int] NOT NULL,[name] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, [sex] [char](2) COLLATE Chinese_PRC_CI_AS NOT NULL,[age] [int] NOT NULL,[prof] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,[hobby] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, )2.创建content表:CREATE TABLE [dbo].[content]([id] [int] NOT NULL,[no] [char](20) COLLATE Chinese_PRC_CI_AS NOT NULL,[anwerNum] [datetime] NOT NULL,)3.创建post表:CREATE TABLE [dbo].[post]([no] [char](20) COLLATE Chinese_PRC_CI_AS NOT NULL,[theme] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,[id] [int] NOT NULL,[create time] [datetime] NOT NULL,[update time] [datetime] NOT NULL,[anwerNum] [int] NOT NULL,[visitNum] [int] NOT NULL,)6.3外键约束的设置多表之间相互连接可以设置主键和外键,便于查询。
6.3.1 author表和content表设置外键约束:打开SQL的“对象资源管理器”→打开“bbs”数据库→打开“表”→右击“dbo.content”→在菜单中单击“修改”,在弹出的数据表窗口中,右击“id”→在菜单中单击“关系”,如图6.3所示。
图6.3在弹出的“外键关系”窗口中,单击“表和列规范”后面的按钮,可以设置外键约束关系,如图6.4、6.5所示。
图6.4图6.5相应代码如下:ALTER TABLE [dbo].[content] WITH CHECK ADD CONSTRAINT [FK_content_author] FOREIGN KEY([id])REFERENCES [dbo].[author] ([id])6.3.2 author表和post表设置外键约束方法同上,不赘述。
6.4索引的创建表的索引就像书的目录一样,通过索引可以大大提高查询速度。
打开SQL的“对象资源管理器”→打开“bbs”数据库→打开“表”→单击“dbo.author”→右击“索引”,菜单中单击“新建索引”。
如图6.6所示。
图6.6在弹出的数据表窗口中,设置相应的条件,即可以创建一个索引。
如图6.7所示。
图6.7相应代码如下:CREATE NONCLUSTERED INDEX [author_id] ON [dbo].[author]([id] ASC,[name] ASC)6.5视图的创建视图的创建使我们的查询更加方便,能够更兼有针对性的显示出我们需要的信息。
一般论坛信息查询的最多的是某ID的作者发了什么主题的帖子,回复情况如何,所以我们就这一需求创建一视图,让其显示一帖子的发布作者、发布作者ID、帖子主题、查看次数、回帖次数。