论坛管理系统_第1页
论坛管理系统_第2页
论坛管理系统_第3页
论坛管理系统_第4页
论坛管理系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录1 概述12 需求分析12.1数据流图12.2数据字典23 概念结构设计34 逻辑结构设计35 物理结构设计46 数据库实施56.1数据库的创建56.2数据表的创建66.3外键约束的设置86.4索引的创建106.5视图的创建116.6存储结构的创建126.7触发器的创建137 总结141 概述当今社会,网络已经渗透到各个领域,网络论坛成为了大家对各类事件谈论和交流的地方,随着信息量的加大,对论坛信息的管理越发的显得重要,所以应该用处理信息功能强大的数据库管理方法去管理这日渐繁杂的信息。此数据库的设计与研究的目的在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本

2、方法,达到进一步使学生综合运用所学知识和增强实际动手能力。研究范围限为网上普通文字论坛信息,涉及领域为网络论坛基本功能的行使要求及规范与守则。理论基础为本学期的SQL Server数据库的学习与练习,书本上对学校学生课程方面管理的数据库设计很全面的展示了数据库的理论与方法,相比较相类比可以得出论坛管理信息系统的设计方案。运用数据库管理的方法,研究论坛中多种信息的作用、重要性及联系。通过本系统软件,实验中运用Microsoft SQL Server2005作为本系统的数据库,它是一个支持多用户的新型数据库,能满足本实验的数据量需求。预期此系统能帮助论坛管理人员利用计算机,快速方便的对论坛信息进行

3、管理、 输入、输出、查找的所需操作,使散乱的论坛信息能够具体化、直观化、合理化。2 需求分析需求分析是数据库设计的起点,为以后的具体设计做准备。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。经验证明,由于设计要求的不正确或误解,直到系统测试阶段才发现许多错误,则纠正起来要付出很大代价。因此必须高度重视需求分析。2.1数据流图数据流图以系统的科学性、管理的合理性、技术的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,它简单明了地将系统进行说明。下面就是根据本系统的功能绘制出来的数据流图。如图2.1所示。主帖作者信息

4、编写信息修改信息回复信息回帖图2.1 论坛管理信息数据流图2.2数据字典数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果,是关于数据库中数据的描述,即对元素的描述。数据字典是在系统分析阶段建立,在数据库设计过程中不段修改、充实和完善的。以上数据流图,已对数据处理和彼此之间的联系进行了说明,为了进一步明确数据的详细内容和加工过程,现将其组成部分的数据流,数据存储和加工通过数据字典来描述清楚。输入流主要有:查询要求,添加人员输出流主要有:查询结果,帖子信息,作者信息数据字典说明查询要求=作者信息查询要求+帖子信息查询要求。查询结果=作者信息+帖子信息+回帖信息。作者

5、信息=作者ID+作者昵称+性别+年龄+职业+爱好。帖子信息=帖子编号+帖子主题+帖子作者ID+发帖时间+修改时间+回帖次数+查看次数。回帖信息=回复作者ID+帖子编号+回帖时间。3 概念结构设计数据库的概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型作为概念结构设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。概念模型的种类很多,其中最著名、最实用的一种是ER(实体联系)模型,它将现实世界的信息结构统一用属性、实体以及他们之间的联系来描述。如图3.1所示。作者主帖回帖作者ID昵称性别年龄职业爱好编写帖子编号帖子主题发帖时间修改时间回帖

6、次数查看次数编写回复nmmnm1回帖时间图3.1 论坛管理系统E-R图4 逻辑结构设计逻辑结构是以概念结构的各种数据为基础,但为了能用某一DBMS实现用户的需求,还必须将概念模型进一步转化为特定DBMS所支持的数据模型,这正是数据逻辑结构设计所要完成的任务。数据库的逻辑设计即把得到的关系转化为特定的数据库管理系统下的数据表。author(作者信息)表:作者ID,作者昵称,性别,年龄,职业,爱好。post(帖子信息)表:帖子编号,帖子主题,作者ID,发帖时间,修改时间,回帖次数,查看次数。content(回帖信息)表:作者ID,帖子编号,回帖时间。5 物理结构设计论坛信息管理系统的核心是数据库。

7、完成数据库的逻辑设计后,接下来就是对数据库的物理设计。本例采用Microsoft SQL Server 2005系统来设计日常事务管理系统的数据库。建立数据库前,应先对数据进行分析,包括类型、约束等,然后开始着手建立数据库。本系统数据库中用到的3个数据表。如表5.15.3所示。5.1表 author表字段名字段类型约束控制字段含义说明idint主键约束作者IDnamevarchar(20)非空约束作者昵称sexchar(2)“男”或“女”性别ageint非空约束年龄profvarchar(20) 非空约束职业hobbyvarchar(20) 非空约束爱好5.2表 post表字段名字段类型约束控

8、制字段含义说明nochar(20)主键约束帖子编号themevarchar(200)非空约束帖子主题idint外键约束作者IDcreate timedatetime发帖时间update timedatetime修改时间answerNumint 非空约束回帖次数visitNumint 非空约束查看次数5.3表 content表字段名字段类型约束控制字段含义说明idint主键约束、外键约束作者IDnochar(20)非空约束帖子编号answer timedatetime回帖时间该设计还需运用索引、视图、存储过程、触发器,而使系统更完美一些。运用索引的作用就像书的目录一样,通过索引可以大大提高查询速

9、度。方便数据量大的时候,查找和查询数据更快捷。一般论坛信息查询的最多的是什么样ID的作者发了什么主题的帖子,回复情况如何,所以我们针对这一需求创建一视图,让其显示一帖子的发布作者、发布作者ID、帖子主题、查看次数、回帖次数。存储过程也是一样,建立一个任意输入一个帖子的编号的时候,将显示该帖子的主题、作者昵称、回帖次数、查看次数。而考虑到各表之间数据有一定的联系,所以创建一触发器即当在回帖表中插入一条记录时,帖子表里的回帖次数数值加1。这样就省去些信息录入的麻烦。6 数据库实施数据库实施是指在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。6.1数据库的创建启动SQL Serv

10、er 2005,打开“对象资源管理器”,右键单击“数据库”,在菜单中单击“新建数据库”,在弹出的数据库属性对话框中输入新数据库的名字:bbs,如图6.1所示。在该窗口中我们可以配置数据库的参数,比如数据文件和日志文件的位置,此处我们都选择了默认参数。图6.1 新建数据库窗口相应代码如下:CREATE DATABASE bbs ON PRIMARY ( NAME = N'bbs', FILENAME = N'C:bbsbbs.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG

11、ON ( NAME = N'bbs_log', FILENAME = N'C:bbsbbs_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_AS6.2数据表的创建打开SQL的“对象资源管理器”打开“bbs”数据库右击“表”在菜单中单击“新建表” ,在弹出的数据表窗口中,输入表名及表的列名、数据类型、长度、允许空等内容,依次建立author(作者信息)表,post(帖子信息)表, content(回帖信息)表。如图6.2所示。图6.2 数据

12、表的创建相应代码如下: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表:

13、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,upd

14、ate time datetime NOT NULL,anwerNum int NOT NULL,visitNum int NOT NULL,) 6.3外键约束的设置多表之间相互连接可以设置主键和外键,便于查询。 author表和content表设置外键约束:打开SQL的“对象资源管理器”打开“bbs”数据库打开“表”右击“dbo.content”在菜单中单击“修改”,在弹出的数据表窗口中,右击“id” 在菜单中单击“关系”,如图6.3所示。图6.3 在弹出的“外键关系”窗口中,单击“表和列规范”后面的按钮,可以设置外键约束关系,如图6.4、6.5所示。图6.4图6.5相应代码如下:ALTER

15、 TABLE dbo.content WITH CHECK ADD CONSTRAINT FK_content_author FOREIGN KEY(id)REFERENCES dbo.author (id) author表和post表设置外键约束方法同上,不赘述。6.4索引的创建表的索引就像书的目录一样,通过索引可以大大提高查询速度。打开SQL的“对象资源管理器”打开“bbs”数据库打开“表”单击“dbo.author” 右击“索引”,菜单中单击“新建索引”。如图6.6所示。图6.6在弹出的数据表窗口中,设置相应的条件,即可以创建一个索引。如图6.7所示。图6.7相应代码如下:CREATE

16、NONCLUSTERED INDEX author_id ON dbo.author (id ASC,name ASC)6.5视图的创建视图的创建使我们的查询更加方便,能够更兼有针对性的显示出我们需要的信息。一般论坛信息查询的最多的是某ID的作者发了什么主题的帖子,回复情况如何,所以我们就这一需求创建一视图,让其显示一帖子的发布作者、发布作者ID、帖子主题、查看次数、回帖次数。打开SQL的“对象资源管理器”打开“bbs”数据库右击“视图”单击“新建视图”。如图6.8所示。图6.9在“添加表”中添加“author”,“post”,而后在显示的视图中选中需要的信息,后保存即可。如图6.10。图6.

17、10相应代码如下:CREATE VIEW dbo.View_1ASFROM dbo.author INNER JOIN6.6存储结构的创建存储结构是存储在SQL Server数据库中的一种编译对象。存储结构能模块化程序设计,高效率的执行,减少网络流量,还可以作为安全机制使用。在本设计中要创建一个叫做post_inf的存储结构,当任意输入一个帖子的编号的时候,将显示该帖子的主题、作者昵称、回帖次数、查看次数。创建代码如下:create procedure post_inf(no char(20),theme char(200)output,name varchar(20)output,answe

18、rNum int output,visitNum int output)asselect no=no,theme=theme,name=name,answerNum=answerNum,visitNum=visitNumfrom author,postwhere author.id=post.id and post.no=no6.7触发器的创建触发器是一种特殊的存储结构,它不同于我们前面介绍过的存储结构。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。触发器除能够实现主键和外键所不能保证的复杂的参照完整性和数据的一致性外,还有强化约束,跟踪变化,级联运行,调用存储过程的功能。而且触发器的性能通常很低。现就本设计,创建一个触发器content_add,行使功能为:当在表content中插入一条记录时,表post里回帖次数数值加1。创建代码如下:create trigger content_add on content for insert as update post set answerNum=answerNum+1 where post.id=(select id from inserted )7 总结本文在学习和研究了课本主要数据库课程知识的基础上,查阅了网上不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论