BBS数据库系统的设计与实现——数据库系统的设计与实现.doc

上传人:豆**** 文档编号:23953875 上传时间:2022-07-02 格式:DOC 页数:20 大小:572.50KB
返回 下载 相关 举报
BBS数据库系统的设计与实现——数据库系统的设计与实现.doc_第1页
第1页 / 共20页
BBS数据库系统的设计与实现——数据库系统的设计与实现.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《BBS数据库系统的设计与实现——数据库系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《BBS数据库系统的设计与实现——数据库系统的设计与实现.doc(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateBBS数据库系统的设计与实现数据库系统的设计与实现模板 网络教育学院数据库课程设计 题 目:BBS数据库系统的设计与实现 学习中心: 辽宁省奥鹏学习中心 专 业: 网络工程 年 级: 2014年 春季 学 号: 141130305372 学 生: 孙 雨 指导教师: -摘要在网络信息时代到来之前,主要的主流媒体是报刊,杂志,电视,广播等,人民通过这些信息交流平台了解各

2、方面的资讯。可是更多的是接受,真正使得百姓们可以参与进来发表自己意见和看法的时代就是21世纪网络的广泛应用,在结合JAVA和SSH技术之下开发了这样一个快捷、界面友好的论坛交流系统,实现了一个功能相对齐全的论坛系统,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的只是。本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及对网站的测试与维护都又详细的论述和实现过程。随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。随着我国改革的深入和社会主义市场经济的日

3、趋繁荣,导致竞争日益激烈,迫使我们采取先进的计算机硬件设备以及高质量的辅助软件来管理运行,以提高效率。动态网页也是一样,人们在其上面发表个人的观点的平台,它是一个交互式的互动平台,它是用户相互交流的重要途径,用户提出的要求、意见、看法,可以得到及时的回复和解决,可以有效的解决用户的需要,目前计算机网络这么发达,我们就很有必要去开发一个这样的软件动态留言系统,只要有一台与外界相连的计算机,你可以不用出家门,只要系统留言就可以和广大的用户进行交流,沟通。一、系统概述1.1 总体概述 随着Internet技术的不断发展,以及用户群爆炸性的增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨问题,交

4、换观点的场所,其中,网络上论坛扮演了极其重要的角色。论坛又名BBS,全称为Bulletin Board System或者Bulletin Board Service。它是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面写书,可以发布信息或提出看法,它是一种交互性强、内容丰富而及时的电子信息服务系统。用户在BBS站点上可以获得各种信息服务、发布信息、进行讨论、聊天等等。像日常生活中的黑板报一样,论坛按不同的主题分为许多板块,版面的设计依据大多数拥护的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地粘贴到论坛中。随着计算机网络技术的

5、不断发展,BBS论坛的功能越来越强大,论坛站点中积存了丰富的信息资源,不但又各种技术资源和新闻文档,还包含着用户的判断和评论,论坛站点已成为Web信息库的重要完成部分,自网上论坛诞生几十年以来,随着Web技术的发展,已经由原来简单的电子公告板系发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实这生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以互相交流的空间,网络论坛正是一个供人们进行交流的网络空间,影响和改变着我们的生活。目前BBS的主要功能有以下几点:(1) 供用户自

6、我选择阅读若干感兴趣的专业组和讨论组内的信息。(2) 可随意检查是否有新消息发布并选择阅读。(3) 用户可在站点内发布信息或文章供他人查阅。(4) 用户可就站点内其他人的信息或文章进行阅读。(5) 同一站点内的用户互通电子邮件,设定好友名单1.2 开发背景 1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统,直到1982年,Buss Lane才用Basic语言为IBM个人计算机

7、编写了一个原型程序。其后经过几番增修,终于在1983年通过Capital PC User Group 的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版系统RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的整改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。 大约是从1991年开始,国内开始了第一个BBS站,经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1

8、996年更是以惊人的速度发展起来。国美的BBS站,按其性质划分,可以分为2中:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资源站。由于使用商业BBS站要缴纳一笔费用,而商业站所能提供的服务与业余相比,并没有什么优势,所以其用户量不多。多数业余BBS站的站长,基于个人关系,每天都互相交互电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet。于是各地的用户都可以通过本地的业余BBS站与远地异地的朋友互通信息。这样跨领域电子邮件交流正是商业站无法与业余站相抗衡的根本因素,由于BBS站拥有这种优势,所以使用者都更乐意加入,这里“业余”2字,并不是代表这种类型的BB

9、S站的服务和技术水平是业余的,而是指这类BBS站的性质,一般BBS站都是由自愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。国内的BBS站,大多数还是大型综合性BBS站。随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨,但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。尽管BBS站台的数量不断增长,但BBS发展过程,也出现了一些问题。由于国内使用BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以结构上

10、难免有雷同之处。1.3 开发目的 为了做成交互式的网页,方面客户端和浏览端之间的交流。通过论坛,人们能够相互交流沟通,把疑惑在论坛里发布,大家献计献策,共同学习,共同进步。二、系统需求分析2.1总体需求分析: 1)用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息; 2)用户发贴,后台数据库需要存放贴子相关信息,发帖和回帖,如贴子内容、标题等; 3)论坛版块管理:后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等;2.2实体及属性:回贴回复编号回复主贴编号回复版编号发帖人编号回贴时间回帖内容主贴贴子编号内容作者点击时间主体提问论坛名字论坛用户姓名密码邮箱性别等级用户个人说明

11、注册日期版块版块编号版块名称版主编号板块创建时间2.3实体间的关系: 1)回贴和主贴有主从关系:我们需要在回贴实体中表明它是谁的回贴; 2)版块和用户有关系:从用户实体中可以根据版块对象查出对应的版主用户的情况; 3)主贴和版块有主从关系:需要表明发贴是属于哪个版块的; 4)主贴和用户有主从关系:需要表明主贴是由哪个用户发表的; 5)回贴和用户有主从关系:需要表明回贴是由哪个用户发表的;2.4开发语言选用:本系统所用的是JAVA语言,它的特点有:1. 分布式Java建立在扩展TCP/IP网络平台上,库函数提供了用HTTP和FTP协议传送和接受信息的方法,使得程序员使用网络上的文件和使用本机文件

12、一样容易。2. 安全性Java的变成类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理,防止程序的非法访问。3. 面向对象Java吸取了C+面向对象的概念,将数据封装与类中,使用类的有点,实现了程序的简洁性和便于维护性。累的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复使用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在JAVA中,类的继承关系是单一的非多重

13、的,一个子类只有一个父类,子类的父类又有一个父类。JAVA提供的Object类及其子类的继承关系如同一颗倒立的树形,根类Object类,Object类功能强大,经常会使用到其他派生的子类。4.健壮性JAVA致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早起出现的错误。Java自己操纵内存减少了内存出错的可能性。JAVA还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发java应用程序的周期。并且java还提供了null指针检测。数组边界检测、异常出口、Byte code校验等功能。5. 平台无关性平台无关性是指java能运行于不同的平台。Java引进虚拟机原理,并

14、且运行于虚拟机,实现 不同平台的java接口之间。使用java编写的程序能在世界范围内共享。Java的数据类型与机器无关,java虚拟机是建立在硬件和操作系统之上,实现java二进制代码的解释执行功能,提供于不同平台的接口的。2.1.2MySQL数据库的选用:MySQL是一个小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,故企业为降低网站成本选用该数据库,具体特性如下: 1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX/FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、O

15、S/2 Wrap、Windows等多种操作系统。 3.为多种编程语言提供了API.这些编程语言包括C、C+、Java、PHP等。 4.支持多线程,充分利用CPU资源。 5.优化SQL查询算法,有效的提高查询速度。 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他软件中提供多语言支持,常见的编码如中文的GB2312、BIG5、日文的Shift_JIS等都可以用作数据表名和数据列名 7.提供TCP/IP、ODBC和JDBC等多种数据库操作的管理工具 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库此外,该系统还使用

16、了SSH框架,这些成熟的技术条件为该系统的建立提供了基础。2.3 系统的开发运行环境: 开发语言: Java 数据库: MySQL 开发工具: MyEclipse8.0 预期效果:一个可扩展的基于MVC模式的BBS论坛2.4数据流程图的建立: 数据流程图是对数据和对数据的加工两方面来表达数据处理系统工资过程的一种图形表示方法,具有直观,易于被用户和软件人员双方理解的一种表达系统功能的描述方式。 图2-1 BBS论坛主体管理员操作板块,即后台管理板块主要是: 图2-2 操作员界面主体版主有课访问界面,即系统前台模块主要流程图: 图2-3 前台模块主体三、 概念结构设计3.1 概念结构设计概述 概

17、念结构设计就是将用户需求抽象为概念模型的过程,它以用户易于理解的形式表达信息,这种表达与数据库的具体细节无关,它所设计的数据独立于具体的DBMS和计算机硬件,概念模型是实现世界到机器时间的一个中间层次。概念模型的主要特点如下所示: 1.能够真是充分的反应显示世界忠事务与事务之间的联系,有丰富的语义表达能力,能满足用户对数据的各种处理要求。 2.易于理解和交流,便于数据库设计人员和用户之间的沟通和交流。 3.易于改进,应用环境和应用需求改变时,容易对概念模型修改和扩充。 4.易于想关系,网状,层次等各种数据模型转换。3.2基于E-R(实体-联系)模型的概念结构设计: E-R图提供了实体型、属性和

18、联系的方法:实体:指客观存在且相互区别的东西;属性:实体的每一个特性;联系:现实世界中事务间的关系。有一对一,一对多和多对多的联系。该系统的E-R图如下所示:用户E-R图:主贴E-R图:板块E-R图:回帖E-R图:实体总图E-R图如下所示:3.3逻辑设计 逻辑设计是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,通常包括数据项、数据结构、数据流、数据存储和处理过程五部分,它通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。BBS用户信息表: 3-3-1 主贴信息表列表名数据类型可否为空说明UnamecharNot null姓名UpasswordcharNo

19、t null密码UemailcharNot null邮箱UsexbitNot null性别UgradeVarcharDefault null等级UstatementVarcharNot null用户个人说明URegdatedatetimeNot null注册日期QQVarcharNot null用户QQlxdzVarchar用户博客realnameVarchar用户真实名URegdatedatetimeNot null用户注册日期 3-3-2附件列表名数据类型可否为空说明TIDIntNot null帖子编号ContentIntNot null内容AuthorIntNot null作者Submi

20、ttimeIntNot null点击时间TitleVarchar(300)Not null主题xqVarchar(30)Not null提问forunameVarchar(20)论坛名字 3-3-3板块信息表列表名数据类型可否为空说明SIDIntNot null板块编号SNameCharNot null板块名称ManagerIDIntNot null版主编号CreatetimeIntNot null板块创建时间 3-3-4 回帖信息表列表名数据类型可否为空说明RIdIntNot null回复编号RTidIntNot null回复主贴编号RSidIntNot null回复版编号RUidVarch

21、arNot null发帖人编号RtimeDatetimeNot null回帖时间RcontentVarcharNot null回帖内容3.4程序设计: 3.4.1创建数据库:create database db_bbs; use_db_bbs;3.4.2创建用户表:create table tb_user(Id int(11)auto_increment primary key not null,username varchar(20) not null,password varchar(20) not null,sex varchar(2) not null,email varchar(50

22、) not null,oicq varchat(20) default null,signature varchar(300) default null,grade varchar(20) default null,lxdz varchar(50), tx varchar(30), grzy varchar(50), realname varchar(30);3.4.3创建论坛板块表:create table tb_form( id int(11) auto_increment primary key not null, forumname varchar(20)not null, manag

23、er varchar(100) default null, createtime timestamp default current_timestamp);Insert into tb_forum(forumname,manager)values(ASP,fish);Insert into tb_forum(forumname,manager)values(PHP,fish);Insert into tb_forum(forumname,manager)values(C#,fish);Insert into tb_forum(forumname,manager)values(JSP,fish)

24、;Insert into tb_forum(forumname,manager)values(VB,fish);3.4.4创建主贴表:Create table tb_topic(id int(4) auto_increment primary key not null,content text,author varchar(20)not null,submittime timestamp(8)default current_timestamp,forumid int(4) default 0,title varchar(30) not null,rq int(4) default 0,foru

25、mname varchar(20);3.4.5创建回帖表:create table tb_response(id int(11) not null auto_increment primary key,title varchar(300) not null,content text,author varchar(20) not null,submittime timestamp default current_timestamp,topicid int(4) not null,topicname varchar(100),xq varchar(20)not null);3.4.6 环境配置好后

26、,启动服务器,在浏览器的地址栏中输入程序的访问路径,如:“http:/localhose:8080/bbs”,就可以访问网站内容。首先单击“注册用户”导航按钮,注册用户名和密码,成为本站会员,访问界面如下: 成为本论坛会员后,输入用户名及密码,进行登录到普通用户操作页面,如下图所示,在该页面中用户可以发表主体,查看主题及回复信息。 若为管理员,点击“管理员登录”导航按钮,进入到管理员操作界面,如下图,在该页面中,管理员可以管理用户信息、栏目、主题及主题信息。四、系统总结 在数据库的运行阶段,由于系统还不稳定,硬、软件故障随时都可能发生。而且系统的操作人员对系统孩不是熟悉,误操作也不可避免,因此

27、必须做好数据库的转存和回复工作,尽量减少对数据库的破坏,对数据库经常性的维护工作主要由DBA完成的,包括以下内容:(1) 数据库转存和回复:转存和回复是系统正式运行后最重要的维护工作之一,DBA要针对不同的应用要求制定不同的转存计划,定期对数据库和日志文件进行备份,以保障一单发生故障,能利用数据库备份及日志文件尽快将数据恢复到某一种状态。(2) 数据库性能的监督、分析和改进:在系统运行中,将用监测系统性能的工具得到一系列的系统参数值,通过分析这些数据来判断当前系统是否处于最佳状态。五、 个人小结与体会 在选择这个课题设计提目前,觉得应该蛮简单的,结构在实际设计的过程中遇到了很多问题,觉得自己学

28、的东西太少太少,通过不断的翻书和请教其他同学,才算是基本上已经可以把几个基本实体表建立起来,基本完成了BBS系统的开发和设计,完成了用户模块,帖子模块和后台管理模块的开发,并且基本实现了前几所制定的功能。在这个过程中当在插入数据的时候,出现无法插入的情况,检查发现,然后定义属性变量的时候给内存空间不够,修改后正常插入,在这个摸索和学习的过程中,BBS系统不断的设计和更改,逐渐的趋于成熟。当然,该系统在很多方面孩存在缺点,希望通过更多的学习,在今后可以进行更好的改进,使系统性能更好更安全。 通过此次的课程设计,加深了对数据库设计的理解与记忆,以及对JAVA语言的进一步熟悉,这次课程设计让我懂得了只有不断的实践,理论联系实际,才可以从中收获更多。 我会在以后的学习中更加认真,更加深入,希望可以有进步和更大的提高。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com