BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx

上传人:b****6 文档编号:17316879 上传时间:2022-12-01 格式:DOCX 页数:14 大小:341.07KB
下载 相关 举报
BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx_第1页
第1页 / 共14页
BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx_第2页
第2页 / 共14页
BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx_第3页
第3页 / 共14页
BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx_第4页
第4页 / 共14页
BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx

《BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

BBS数据库系统的设计与实现数据库系统的设计与实现Word文件下载.docx

各种论坛随着网络迅速发展,几乎充实这生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。

互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以互相交流的空间,网络论坛正是一个供人们进行交流的网络空间,影响和改变着我们的生活.

目前BBS的主要功能有以下几点:

(1)供用户自我选择阅读若干感兴趣的专业组和讨论组内的信息.

(2)可随意检查是否有新消息发布并选择阅读。

(3)用户可在站点内发布信息或文章供他人查阅。

(4)用户可就站点内其他人的信息或文章进行阅读.

(5)同一站点内的用户互通电子邮件,设定好友名单

1.2开发背景

1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早的一套BBS系统。

之后随着苹果机的问世,开发出基于苹果机的BulletinBoardSystem和大众信息系统2种BBS系统。

1981年IBM个人计算机诞生时,并没有自己的BBS系统,直到1982年,BussLane才用Basic语言为IBM个人计算机编写了一个原型程序.其后经过几番增修,终于在1983年通过CapitalPCUserGroup的CommunicationSpecialInterestGroup会员的努力,改写出了个人计算机系统的BBS.经ThomasMach整理后,终于完成了个人计算机的第1版系统——RBBS—PC。

这套BBS系统的最大特色是其源程序全部公开,有利于日后的整改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。

大约是从1991年开始,国内开始了第一个BBS站,经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识.1996年更是以惊人的速度发展起来。

国美的BBS站,按其性质划分,可以分为2中:

一种是商业BBS站,如新华龙讯网;

另一种是业余BBS站,如天堂资源站。

由于使用商业BBS站要缴纳一笔费用,而商业站所能提供的服务与业余相比,并没有什么优势,所以其用户量不多。

多数业余BBS站的站长,基于个人关系,每天都互相交互电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet。

于是各地的用户都可以通过本地的业余BBS站与远地异地的朋友互通信息。

这样跨领域电子邮件交流正是商业站无法与业余站相抗衡的根本因素,由于BBS站拥有这种优势,所以使用者都更乐意加入,这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质,一般BBS站都是由自愿者开发的.他们付出的不仅是金钱,更多的是精力。

其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平.

国内的BBS站,大多数还是大型综合性BBS站。

随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨,但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。

尽管BBS站台的数量不断增长,但BBS发展过程,也出现了一些问题.由于国内使用BBS架站软件,都是从国外引进的,因此没有必要的中文说明.虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。

另外,有些站台的设立是相互抄袭,所以结构上难免有雷同之处。

1。

3开发目的

为了做成交互式的网页,方面客户端和浏览端之间的交流。

通过论坛,人们能够相互交流沟通,把疑惑在论坛里发布,大家献计献策,共同学习,共同进步。

二、系统需求分析

2.1总体需求分析:

1)用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息;

2)用户发贴,后台数据库需要存放贴子相关信息,发帖和回帖,如贴子内容、标题等;

3)论坛版块管理:

后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等;

2。

2实体及属性:

回贴回复编号回复主贴编号回复版编号发帖人编号回贴时间回帖内容

主贴贴子编号内容作者点击时间主体提问论坛名字

论坛用户姓名密码邮箱性别等级用户个人说明注册日期

版块版块编号版块名称版主编号板块创建时间

3实体间的关系:

1)回贴和主贴有主从关系:

我们需要在回贴实体中表明它是谁的回贴;

2)版块和用户有关系:

从用户实体中可以根据版块对象查出对应的版主用户的情况;

3)主贴和版块有主从关系:

需要表明发贴是属于哪个版块的;

4)主贴和用户有主从关系:

需要表明主贴是由哪个用户发表的;

5)回贴和用户有主从关系:

需要表明回贴是由哪个用户发表的;

2.4开发语言选用:

本系统所用的是JAVA语言,它的特点有:

1.分布式

Java建立在扩展TCP/IP网络平台上,库函数提供了用HTTP和FTP协议传送和接受信息的方法,使得程序员使用网络上的文件和使用本机文件一样容易。

2.安全性

Java的变成类似C++,学习过C++的读者将很快掌握Java的精髓.Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统.Java对程序提供了安全管理,防止程序的非法访问。

3.面向对象

Java吸取了C++面向对象的概念,将数据封装与类中,使用类的有点,实现了程序的简洁性和便于维护性。

累的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复使用。

程序员只需把主要精力用在类和接口的设计和应用上。

Java提供了众多的一般对象的类,通过继承即可使用父类的方法。

在JAVA中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。

JAVA提供的Object类及其子类的继承关系如同一颗倒立的树形,根类Object类,Object类功能强大,经常会使用到其他派生的子类.

4.健壮性

JAVA致力于检查程序在编译和运行时的错误。

类型检查帮助检查出许多开发早起出现的错误。

Java自己操纵内存减少了内存出错的可能性。

JAVA还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发java应用程序的周期。

并且java还提供了null指针检测。

数组边界检测、异常出口、Bytecode校验等功能。

5.平台无关性

平台无关性是指java能运行于不同的平台.Java引进虚拟机原理,并且运行于虚拟机,实现不同平台的java接口之间.使用java编写的程序能在世界范围内共享.Java的数据类型与机器无关,java虚拟机是建立在硬件和操作系统之上,实现java二进制代码的解释执行功能,提供于不同平台的接口的。

2.1.2MySQL数据库的选用:

MySQL是一个小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,故企业为降低网站成本选用该数据库,具体特性如下:

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

2.支持AIX/FreeBSD、HP—UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Windows等多种操作系统。

3。

为多种编程语言提供了API。

这些编程语言包括C、C++、Java、PHP等。

4.支持多线程,充分利用CPU资源。

5.优化SQL查询算法,有效的提高查询速度。

6。

既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他软件中提供多语言支持,常见的编码如中文的GB2312、BIG5、日文的Shift_JIS等都可以用作数据表名和数据列名

7。

提供TCP/IP、ODBC和JDBC等多种数据库操作的管理工具

8.提供用于管理、检查、优化数据库操作的管理工具

9.可以处理拥有上千万条记录的大型数据库

此外,该系统还使用了SSH框架,这些成熟的技术条件为该系统的建立提供了基础。

3系统的开发运行环境:

开发语言:

Java

数据库:

MySQL

开发工具:

MyEclipse8.0

预期效果:

一个可扩展的基于MVC模式的BBS论坛

4数据流程图的建立:

数据流程图是对数据和对数据的加工两方面来表达数据处理系统工资过程的一种图形表示方法,具有直观,易于被用户和软件人员双方理解的一种表达系统功能的描述方式。

图2-1BBS论坛主体

管理员操作板块,即后台管理板块主要是:

图2-2操作员界面主体

版主有课访问界面,即系统前台模块主要流程图:

图2—3前台模块主体

三、概念结构设计

3.1概念结构设计概述

概念结构设计就是将用户需求抽象为概念模型的过程,它以用户易于理解的形式表达信息,这种表达与数据库的具体细节无关,它所设计的数据独立于具体的DBMS和计算机硬件,概念模型是实现世界到机器时间的一个中间层次.

概念模型的主要特点如下所示:

1.能够真是充分的反应显示世界忠事务与事务之间的联系,有丰富的语义表达能力,能满足用户对数据的各种处理要求.

2。

易于理解和交流,便于数据库设计人员和用户之间的沟通和交流。

易于改进,应用环境和应用需求改变时,容易对概念模型修改和扩充。

4。

易于想关系,网状,层次等各种数据模型转换。

3。

2基于E-R(实体—联系)模型的概念结构设计:

E—R图提供了实体型、属性和联系的方法:

实体:

指客观存在且相互区别的东西;

属性:

实体的每一个特性;

联系:

现实世界中事务间的关系.有一对一,一对多和多对多的联系。

该系统的E-R图如下所示:

用户E-R图:

主贴E-R图:

板块E—R图:

回帖E-R图:

实体总图E—R图如下所示:

3逻辑设计

逻辑设计是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,通常包括数据项、数据结构、数据流、数据存储和处理过程五部分,它通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。

BBS用户信息表:

3-3—1主贴信息表

列表名

数据类型

可否为空

说明

Uname

char

Notnull

姓名

Upassword

密码

Uemail

邮箱

Usex

bit

性别

Ugrade

Varchar

Defaultnull

等级

Ustatement

用户个人说明

URegdate

datetime

注册日期

QQ

用户QQ

lxdz

用户博客

realname

用户真实名

用户注册日期

3-3-2附件

TID

Int

帖子编号

Content

内容

Author

作者

Submittime

点击时间

Title

Varchar(300)

主题

xq

Varchar(30)

提问

foruname

Varchar(20)

论坛名字

3-3—3板块信息表

SID

板块编号

SName

Char

板块名称

ManagerID

版主编号

Createtime

板块创建时间

3—3—4回帖信息表

RId

回复编号

RTid

回复主贴编号

RSid

回复版编号

RUid

发帖人编号

Rtime

Datetime

回帖时间

Rcontent

回帖内容

4程序设计:

4。

1创建数据库:

createdatabasedb_bbs;

use_db_bbs;

2创建用户表:

createtabletb_user(

Idint(11)auto_incrementprimarykeynotnull,

usernamevarchar(20)notnull,

passwordvarchar(20)notnull,

sexvarchar

(2)notnull,

emailvarchar(50)notnull,

oicqvarchat(20)defaultnull,

signaturevarchar(300)defaultnull,

gradevarchar(20)defaultnull,

lxdzvarchar(50),

txvarchar(30),

grzyvarchar(50),

realnamevarchar(30)

);

4.3创建论坛板块表:

createtabletb_form(

idint(11)auto_incrementprimarykeynotnull,

forumnamevarchar(20)notnull,

managervarchar(100)defaultnull,

createtimetimestampdefaultcurrent_timestamp

Insertintotb_forum(forumname,manager)values(‘ASP’,‘fish);

Insertintotb_forum(forumname,manager)values(‘PHP’,‘fish);

Insertintotb_forum(forumname,manager)values(‘C#'

,‘fish);

Insertintotb_forum(forumname,manager)values(‘JSP’,‘fish);

Insertintotb_forum(forumname,manager)values(‘VB’,‘fish);

4创建主贴表:

Createtabletb_topic(

idint(4)auto_incrementprimarykeynotnull,

contenttext,

authorvarchar(20)notnull,

submittimetimestamp(8)defaultcurrent_timestamp,

forumidint(4)default0,

titlevarchar(30)notnull,

rqint(4)default0,

forumnamevarchar(20)

3.4.5创建回帖表:

createtabletb_response(

idint(11)notnullauto_incrementprimarykey,

titlevarchar(300)notnull,

contenttext,

authorvarchar(20)notnull,

submittimetimestampdefaultcurrent_timestamp,

topicidint(4)notnull,

topicnamevarchar(100),

xqvarchar(20)notnull

);

6环境配置好后,启动服务器,在浏览器的地址栏中输入程序的访问路径,如:

“http:

//localhose:

8080/bbs”,就可以访问网站内容.

首先单击“注册用户”导航按钮,注册用户名和密码,成为本站会员,访问界面如下:

成为本论坛会员后,输入用户名及密码,进行登录到普通用户操作页面,如下图所示,在该页面中用户可以发表主体,查看主题及回复信息。

若为管理员,点击“管理员登录”导航按钮,进入到管理员操作界面,如下图,在该页面中,管理员可以管理用户信息、栏目、主题及主题信息。

四、系统总结

在数据库的运行阶段,由于系统还不稳定,硬、软件故障随时都可能发生。

而且系统的操作人员对系统孩不是熟悉,误操作也不可避免,因此必须做好数据库的转存和回复工作,尽量减少对数据库的破坏,对数据库经常性的维护工作主要由DBA完成的,包括以下内容:

(1)数据库转存和回复:

转存和回复是系统正式运行后最重要的维护工作之一,DBA要针对不同的应用要求制定不同的转存计划,定期对数据库和日志文件进行备份,以保障一单发生故障,能利用数据库备份及日志文件尽快将数据恢复到某一种状态。

(2)数据库性能的监督、分析和改进:

在系统运行中,将用监测系统性能的工具得到一系列的系统参数值,通过分析这些数据来判断当前系统是否处于最佳状态.

五、个人小结与体会

在选择这个课题设计提目前,觉得应该蛮简单的,结构在实际设计的过程中遇到了很多问题,觉得自己学的东西太少太少,通过不断的翻书和请教其他同学,才算是基本上已经可以把几个基本实体表建立起来,基本完成了BBS系统的开发和设计,完成了用户模块,帖子模块和后台管理模块的开发,并且基本实现了前几所制定的功能。

在这个过程中当在插入数据的时候,出现无法插入的情况,检查发现,然后定义属性变量的时候给内存空间不够,修改后正常插入,在这个摸索和学习的过程中,BBS系统不断的设计和更改,逐渐的趋于成熟。

当然,该系统在很多方面孩存在缺点,希望通过更多的学习,在今后可以进行更好的改进,使系统性能更好更安全。

通过此次的课程设计,加深了对数据库设计的理解与记忆,以及对JAVA语言的进一步熟悉,这次课程设计让我懂得了只有不断的实践,理论联系实际,才可以从中收获更多。

我会在以后的学习中更加认真,更加深入,希望可以有进步和更大的提高.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1