版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生论坛的设计与实现学生论坛的设计与实现 摘要 论坛也称为 BBS,BBS 是 Bulletin Board System 的缩写,意思是电子公告 版,一种在 Internet 上常见的用于信息服务的 Web 系统,它的主要服务是用来 帮助浏览者相互沟通、吸引用户、服务用户的。他起源于 20 世纪 80 年代初, 最初只是用于发布公告信息和讨论问题的在线交流平台,后来随技术的发展与 网络的普及功能越来越强大。由于得到了广大网友的欢迎,越来越多的商业网 站开始重视论坛,把论坛作为与用户交流的平台和在线技术支持与服务的平台。 论坛的功能是多种多样的,现在流行的各种论坛插件让这些功能更加的多元化,
2、但论坛的基本功能依然是信息的发布与讨论,在实现基本功能的同时也要丰富 论坛的其他功能,如建立网友的荣誉系统,美化论坛的界面。按照论坛的基本 功能,论坛的开发可以归结为 Web 开发技术和数据库应用技术。目前主要的开 发技术有 ASP、ASP.NET、PHP、JSP 等,本文主要采取 ASP 为开发技术,并 使用了一些 VBScript 语言来实现论坛基本功能。目前常用的数据库有 MYSQL、Oracal 等,在数据库的选取上,为了简化架设的实现,采取 Microsoft 公司的 Access 作为数据库平台,这样在单机上架设一个简单的论坛几 乎不需要安装任何程序。本文设计的流程是从系统的需求分
3、析开始,确定系统 的流程与设计,到模块的划分,再到数据加结构的设计,最后开始每个模块的 编程与开发。 关键字:论坛;Internet;JavaScript;ASP;数据库 DESIGN AND IMPLEMENT OF STUDENTS FORUM Abstract Forum, also called BBS, is short for Bulletin Board System. BBS is a web system that often seen on Internet for information service. Its main purpose is to help the v
4、iewer to communicate with each other, attract user and serve them. BBS was originating in the 1980s. At first its only an online flat roof that is used for delivers announcements and discusses problems. With technical developments and the popularity of Internet, its function becomes more and more po
5、werful. Welcomed by large amount of net friends, more and more business websites pay regard to the BBS and make BBS an online communicate flat roof for delivers announcements and discusses problems. Forum combines many functions in one. Many kinds of plug-ins in the fashion help these functions to b
6、e more disparate, however, the mainfunction of BBS is to deliver announcements and discuss problems. Based on that, other functions of BBS could be extended, for example, honor system of the net friends and sugar up the interface of the forum. Due to the main function of the BBS, developments of for
7、um come down to developments in technology and application technology in database. Now we have ASP, ASP.NET, PHP, JSP and so on. This paper use ASP and some VBScript computer language to carry out the mainly function of the BBS. Databases like MYSQL and Oracal is popular now days. We choose Access p
8、roduced by Microsoft Company. It is easy to span a simple forum, hardly any programs to install. The design flow of this paper starts with analyzing the needs of the system, by confirming the processes and designs of the system, dividing modules, then designs of date and structures, finally developm
9、ents and programming of every module. Key words:Forum;Internet;JavaScript;ASP;Database 目录 第一章系统功能的设计. .1 1.1 引言. .1 1.2 需求分析. .1 1.3 功能设计. .3 1.4 扩展功能设计. .5 第二章系统架构与数据库设计. .7 2.1 功能模块的划分. .7 2.2 数据库设计. .10 2.2.1 需要建立的数据表. .10 2.2.2 数据库表结构的详细设计. .11 第三章基本设计. .23 3.1 论坛首页设计. .23 3.2 数据库连接函数. .24 第四章模块
10、的实现. .26 4.1 用户模块. .26 4.1.1 用户的登陆. .26 4.1.2 用户的注册. .28 4.1.2 浏览其他用户信息. .31 4.2 版面与公共信息模块. .32 4.2.1 版面的浏览. .32 4.2.2 公共信息模块. .33 4.3 帖子模块. .33 4.3.1 发布、修改、删除帖子. .33 4.3.2 帖子的浏览. .36 4.3.3 帖子搜索. .39 4.4 管理人员模块. .41 4.4.1 系统参数设置. .41 4.4.2 用户授权. .42 4.4.3 数据库的备份与还原. .42 第五章论坛的架构. .44 5.1 安装环境和参数设置.
11、.44 5.2 运行论坛. .45 第六章结论. .47 参考文献. .48 致谢. .4 9 附录. .5 0 附录 A .50 附录 B .57 第一章系统功能设计 1.1 引言 随着网络的越来越普及,人们越来越关于这样一种交流平台论坛。很 多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论 坛的出现,论坛已经不光是一种交流平台,甚至是成为了实现自我价值的一个 舞台。正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的 维护则需要从设计这个层面来了解和进行。 在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题 展开讨论,也可以发表自己的观点供大家品
12、评。同时为了防止用户发布一些不 健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。而且用户 想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作 用户的信息。论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方 便整理和管理。所以论坛的基本功能就是要实现用户的数据库管理和帖子的数 据库管理,以及怎么样让这些数据库和网页的操作联系起来。 1.2 需求分析 要设计一个一个论坛,首先要分析论坛里需要那些内容,以及各种内容之 间的关系。 首先列出论坛常用的名词:用户、版面、公共信息、帖子、主题、积分、 称号、版主、注册信息、管理员、系统参数。 对于以上名词可以精简。主题是
13、帖子的一个特例、积分和称号是用户的一 个属性、版主是增加了权限的用户,注册信息是用户的具体属性。 所以具体的对象有:用户、版面、公共信息、帖子、管理员、系统参数。 具体的操作包括:管理员对用户、帖子、版块的管理;客人和用户的对版 块、帖子的浏览;客人的注册;用户的发帖、回帖、搜索等操作。 把具体的对象和具体的操作相联系,我们可以归结出论坛基本操作的流程 图,如图 1-1。 浏览帖子回帖浏览版块 搜索 客人 注册登陆用户发帖 管理用户管理帖子 管理版块管 理 员 图图 1-11-1 论坛基本功能流程图论坛基本功能流程图 图 1-1 中个将具体的对象和操作直观的表达了出来,为了更具体的细化对象 和
14、操作的关联,用来划分开发的模块,我们将对象与对象之间的关联可以建立 出一张表,对象如表 1-1。 表表 1-11-1 各对象间的关联表各对象间的关联表 用用户户版版面面公共信息公共信息帖帖子子管理人员管理人员系统参数系统参数 用户 注册 修改 浏览 联系 浏览浏览 发布 浏览 发布 修改 删除 特殊操作 版面 公共信息 帖子 管理人员 删除 授权 添加 删除 修改 添加 删除 修改 添加 删除 修改 设置 系统参数 表 1-1 中的对象是单向关联,是指左侧对象对上方对象的活动。表示没有 关联,表示存在单向关联。通过以上设计,论坛需要些什么以及所需要的对 象之间存在着怎么的关系就有了基本的概念。
15、 1.3 功能设计 表 1-1 中用户关联的对象是自身、版面、公共信息、帖子。分别根据用户与 这些对象的联系给出一个明确的菜单,如表 1-2。 表表 1-21-2 用户功能列表用户功能列表 功能名称功能名称说明说明 用户注册 用户在论坛填写必要信息后就可以注册为注册用户,并能在 登陆后对注册信息进行更改 用户登陆注册后的用户可利用用户名和密码在论坛登陆 浏览其他用户信息用户注册后可以查看其他用户的公开信息 与其他用户联系可以在论坛内给其他用户私下留言,或直接发送邮件等 浏览版面用户可以看到以列表形式展现的版面信息和版面说明 浏览发布公共信息 未登陆的用户可以浏览公共信息,登陆后可以发布允许范围
16、 内的公共信息 浏览帖子用户可以以列表形式浏览帖子主题及其全部内容 发布修改删除帖子 用户在登陆后可以发布帖子、修改自己的帖子,被给予版主 权限后还可以编辑、修改、删除权限范围内的其他用户帖子 对帖子特殊操作 主要针对版主权限用户,对帖子进行置顶、加精华等特殊操 作,是帖子主题不同于其他主题 版面、公共信息、帖子都没有和其他对象的关联,都属于被动的对象,是 被其他对象所操作的,因此针对它们的功能主要是有其他对象产生。版面和帖 子是有一定关系的,可以看作是对帖子内容的归类,类似文件夹与文件的关系, 有时候可以认为版面是帖子的一个属性。 对于管理员的功能,应该认为管理员是论坛的特殊群体,工作是设置
17、论坛 参数规则和维护论坛的正常运转。管理员可以和所有对象产生关联,所以其功 能设定也很丰富,如表 1-3。 表表 1-31-3 管理员功能列表管理员功能列表 功能名称功能名称说明说明 用户删除对于一些蓄意破坏的用户,删除其身份,不允许其存在 用户权限 对于一个具有管理能力的用户给予一些特殊的权限,让他们 在权限范围内帮助管理和维护论坛 版面管理 版面是论坛的枝干,要设定论坛需要的合适版面,让论坛的 功能更明细,分类更规范,方便大家的浏览 公共信息管理 公共信息是向用户展现论坛状态的部分,由于信息的普遍性, 其删除和修改权限需要由管理人员来完成 帖子管理 帖子是论坛的叶子,是基本数据库,反映了论
18、坛使用者和管 理者的水平,所以需要管理人员的全权管理来规范其内容 设置系统参数 系统参数包含的内容很多,直接关系到论坛的正常运行,包 括网址在内的各种参数全部要由管理人员统一设置和变更 对于管理员和用户功能关系可以细化成以下几个相关用例图。 论坛设置参数,可以把设置一组参数作为一个方法,也可以把设置一个参 数作为一个方法,如图 1-2。 管理员设置论坛参数 论坛分页参数 基本参数 用户相关参数 图图 1-21-2 论坛对象的相关用例图论坛对象的相关用例图 各个版块有浏览列表和管理两个操作,管理方法又包括了创建、修改和删 除这 3 个子方法,如图 1-3。 管理员管理版块 创建版块 修改版块 删
19、除版块用户浏览列表 图图 1-31-3 版块对象的相关用例图版块对象的相关用例图 帖子有浏览、发帖、回帖、搜索和管理 5 种方法,浏览方法又可以分列表 和查看 2 个子方法,管理方法又可分编辑、删除、置顶、转移、加精华 5 个子 方法,如图 1-4。 管理员用户管理帖子 删除 转移 置顶 加精华编辑发帖 回帖 搜索 浏览 图图 1-41-4 帖子对象的相关用例图帖子对象的相关用例图 用户类有注册、登陆和管理 3 个方法,管理方法又分为添加、删除、设置 权限 3 个子方法,如图 1-5。 管理员用户管理用户 删除 添加 设置权限发帖 回帖 浏览 图图 1-51-5 用户对象的相关用例图用户对象的
20、相关用例图 这样,表 1-2 和 1-3 就分别有了各自的归属对象。 论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的, 即上级权限包含下级权限。这样论坛的基本功能就可以从各种需求中筛选出来 了,即发帖、浏览帖子、回帖。基本功能就是构成论坛系统的必要功能,具备 这些功能的 Web 系统即是论坛。 1.4 扩展功能设计 具备了发帖、浏览帖子、回帖的 Web 系统就构成论坛了,但是这样的论坛 很简单,没有吸引力,用户使用起来也不会很舒服,无论是作为商业还是个人 论坛都是没有竞争力的。所以需要为其添加一些更人性化的功能使内容更丰富。 用表格形式列出可能的扩展功能,如表 1-4。 表表
21、1-41-4 扩展功能列表扩展功能列表 功能名称功能名称说明说明 用户控制自己的信息用户可控制自己的信息是否公开 用户登陆添加验证码 登陆时需输入验证码,如登陆信息错误则重新生成验证码。 这样可以防止一些软件偷取用户名和密码 站内短信让两个用户能在论坛内更方便的交流 帖子评价给予用户对一个帖子评价好坏的功能 帖子发布添加多媒体如可在帖子内使用表情图片、插入 flash、音乐等功能 帖子类别多样化让用户可以发起投票、买卖等功能的帖子 帖子收藏 在论坛中加入搜索但效率却不一定很高,对于好的帖子为了 方便用户以后更方便找到这个帖子,可以让用户收藏帖子 用户等级 建立一个荣誉体系,对于对论坛贡献大的用
22、户给予一定的荣 誉称号或者高的论坛等级 论坛情况显示 让用户直接看到一些论坛统计数据,如主题总数、在线人员 等 数据备份 论坛最重要的就是数据库,但数据库系统的安全并不是 100% 的,所以为了论坛能持续发展,需要定期对论坛数据库进行备 份 非法言论过滤 对于一些非法言论或不良词汇可以在论坛进行过滤设置,一 旦有人使用也会被过滤掉而不至于造成不良影响 非法 IP 限制 对于一个蓄意捣蛋的用户,限制他的 IP 不能访问论坛,但这 个有很大的局限性,一般情况下用处不会很大 添加了以上功能,论坛就显得更具有亲和力了,而且也更具有实用性。 第二章系统架构与数据库设计 2.1 功能模块的划分 模块的划分
23、主要是按每一个对象的操作来归类。论坛操作的对象在第一章 里归纳为用户、版面、公共信息、帖子、管理员、系统参数这 6 个对象,所以 就要针对这 6 个对象划分功能模块。 (1) 用户:有两个模块,一个是用户注册、登陆、修改信息等功能组合,是 用户对自身的操作;另一个是管理人员对用户进行删除、授权的操作;如表 2- 1。 表表 2-12-1 用户功能模块列表用户功能模块列表 模块模块模块包含的功能模块包含的功能 用户注册 用户登陆 浏览其他用户信息 与其他用户联系 用户控制自己的信息 用户登陆添加验证码 用户模块 用户等级 用户删除 管理人员模块 用户授权 (2) 版面:有两个模块,一个是浏览模块
24、,一个是管理模块。如表 2-2。 表表 2-22-2 版块功能模块列表版块功能模块列表 模块模块模块包含的功能模块包含的功能 版面浏览模块浏览版面 版面管理模块版面管理 (3) 公共信息:将用户发布和浏览公共信息的功能划分为一个模块,对象是 用户对公共信息的操作;管理员对公共信息的操作划分为另一个模块。如表 2- 3。 表表 2-32-3 公共信息功能模块列表公共信息功能模块列表 模块模块模块包含的功能模块包含的功能 公共信息显示模块浏览、发布公共信息 公共信息管理模块公共信息管理 (4) 帖子:帖子是论坛的基本,其功能是最多最复杂的,但仍然可以分为两 个模块,根据操作对象来区分。如表 2-4
25、。 表表 2-42-4 帖子功能模块列表帖子功能模块列表 模块模块模块包含的功能模块包含的功能 浏览帖子 发布、修改、删除帖子 对帖子特殊操作 帖子评价 帖子发布增加多媒体 帖子类别多样化 帖子移动(单个) 帖子收藏 帖子模块 帖子搜索 帖子管理 帖子管理模块 帖子移动(批量) (5) 管理员:管理员主要是对其他对象进行操作,是对其他模块的操作人员, 同时系统参数设置模块的功能也可以划分进来。如表 2-5。 表表 2-52-5 管理员管理功能模块列表管理员管理功能模块列表 模块模块模块包含的功能模块包含的功能 设置系统参数 数据备份 非法言论过滤 管理员管理模块 非法 IP 限制 通过以上分析
26、,论坛的模块划分也就完成了。但如果要把整个论坛系统完 整的架构出来,还要分析模块与模块之间的关系,把零散的功能模块用一条主 线串联起来。对于论坛系统来说,联系各个模块的主线是使用者的权限,用户 能使用论坛的哪些功能是由用户的权限决定的,论坛的每个功能都与相应的权 限对应。同一类用户使用的功能模块。是以使用者为中心连接起来的。另外, 操作同一类事物的功能模块,也是相互关系的。 浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决定 的;管理版块模块与浏览模块关联,是有帖子与版块的父子关系决定的,帖子 依附与版块,先有版块后有帖子,帖子必须发表在某个版块中;管理用户模块 与注册登陆模块关
27、联,是由同一类对象用户决定的,注册后获得论坛的身份, 成为用户,所有的用户需要接受管理员的管理,用户登陆证明自己在论坛中的 身份。分析了这些关系,我们可以得到论坛系统的整体架构,如图 2-1。 图图 2-12-1 论坛整体架构图论坛整体架构图 对于用户使用的模块成为前台模块,管理员使用的模块称为后台模块。其 划分如图 2-2。 管 理 员 管理用户 管理版块 管理帖子 用户 选择版块 浏览帖子 注册登陆 发帖回帖 搜索 图图 2-22-2功能模块划分功能模块划分 2.2 数据库设计 论坛系统信息的储存一般是在文件或者数据库中,相比之下数据库要简单 高效,能对论坛进行更好的控制,也能对资料提供一
28、些严正和保护。所以目前 流行的论坛都是使用的数据库系统。使用数据库的首先就是要设计数据库的表 结构,一个设计良好的数据库结构可以提高效率、方便维护,而且对于可能的 扩充也会留有余地。 2.2.1 需要建立的数据表 为了更方便操作和维护,建立的数据表名都使用相关含义的因为单词,为 了区别于数据库中可能出现的其他非表内容,在给每个表名加上一个标识。根 据对论坛功能的分析,可以建立 16 个数据表,如表 2-6。 表表 2-62-6 论坛数据表论坛数据表 序号序号表名表名说明说明 1Admin_T管理员信息表 2Bbs1_1帖子信息表 3BbsNews_1公共信息表 4Board_T版面信息表 5B
29、ookMark_T收藏夹信息表 6Friend_T用户好友列表 7Help_T帮助信息表 论坛系统 论坛系统论坛系统 用 户 模 块 版 面 浏 览 模 块 公 共 信 息 显 示 模 块 帖 子 模 块 用 户 管 理 模 块 版 面 管 理 模 块 公 共 信 息 管 理 模 块 帖 子 管 理 模 块 管 理 人 员 管 理 模 块 8Log_T论坛日志表 9Message_T短消息信息表 10Online_T在线用户表 11Setup_T系统信息表 12Topic_T论坛主题信息表 13Upfile_T文件上传表 14User_T用户信息表 15Vote_T投票信息表 16VoteUs
30、er_T投票用户表 有些表是可以独立的,但大多数表都是存在关联的。其关联一般都是通过 主线用户相关联,或者是用户 ID,或者是用户的其他信息。所以也可以看到主 线用户的列表是相关数据项目最多的。 2.2.2 数据库表结构的详细设计 首先是用户信息表,用户信息是相关信息最多的表。如表 2-7。 表表 2-72-7 用户信息表用户信息表(User_T)(User_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 UserID COUNTER用户编号Key 2 UserName VARCHAR(50) 用户名Not null 3 UserPasswordVARCHAR(20)
31、 密码Not null 4 UserEmail VARCHAR(255) 电子邮件Not null 5 UserPost INTEGER 发帖数 6 UserTopic INTEGER 发布主题数 7 UserSign VARCHAR(255) 用户签名 8 UserSex BYTE 性别 9 UserFace VARCHAR(255) 头像 10 UserWidth INTEGER 头像宽 11 UserHeight INTEGER 头像高 12 JoinDate DATETIME 注册时间Not null 13 LastLogin DATETIME 最后登陆时间 14 UserLogins
32、 INTEGER 登陆次数Not null 15 UserViews INTEGER 信息被浏览次数 16 UserClass VARCHAR(20) 用户级别 17 UserWealth INTEGER 现金货币 18 UserEPINTEGER 经验值 19 UserCP INTEGER 魅力值 20 UserPowerINTEGER 威望值 21 UserDel INTEGER 被删主题数 22 UserIsBest INTEGER 精华帖子 23 UserTitle VARCHAR(50) 头衔 24 UserBirthday VARCHAR(50) 生日 续表 2-7 序序 号号字字
33、 段段 名名字段类型字段类型说说 明明备备 注注 25 UserQuestion VARCHAR(50) 密码问题Not null 26 UserAnswer VARCHAR(50) 密码答案Not null 27 UserLastIPVARCHAR(30) 最后登陆 IP 28 UserPhoto VARCHAR(255) 用户照片 29 UserFav VARCHAR(255) 用户好友分组 30 UserInfo LONGCHAR 用户其他信息 31 UserSetting VARCHAR(255) 用户设置 32 TitlePic VARCHAR(50) 标题图片 33 UserHid
34、den BYTE 是否隐身Not null 34 UserMsg VARCHAR(30) 用户消息 35 UserTaday VARCHAR(250) 今日信息 在用户信息表里保存的是所有在论坛注册的用户的信息,用户编号是用户 在论坛中的唯一标识。其实用户名也是不可重复的,但是使用编号作为主键可 以让查找起来更加方便,提高效率,而且编号也是与其他表关联的主要字段。 密码和密码答案是在用户忘记密码时验证身份的保证,所以设置为不能为空。 用户名和密码是登陆的唯一识别,邮件是为了方便联系和某些可能的服务需要, 所以也设置为非空。 表 2-8 是论坛中的版面信息表。 表表 2-82-8 版面信息表版面
35、信息表(Board_T)(Board_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 BoardID INTEGER版面编号Key 2 BoardType VARCHAR(50) 版面名称 3 ParentIDINTEGER 上级版面编号Default 0 4 ParentStr VARCHAR(250) 上级版面名称 5 Depth SMALLINT 版面层数 6 RootID INTEGER 主版面编号 7 Child INTEGER 子版面编号 8 Orders INTEGER 显示顺序 续表 2-8 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注
36、注 9 Readme VARCHAR(255)介绍 10 BoardMaster VARCHAR(100) 版主 11 PostNumINTEGER 发帖数量 12 TopicNum INTEGER 主题数量 13 IndexIMG VARCHAR(255) 论坛图象 14 TadayNum INTEGER 今日发帖数 15 BoardUser VARCHAR(255) 状态 16 LastPost LONGCHAR 最后一帖 17 Sid INTEGER 签名标识 18 Board_Setting LONGCHAR 版面设置 19 Board_User VARCHAR(250) 版面用户 2
37、0 BoardTopStrVARCHAR(255) 置顶主题信息 版面信息表中依然是使用了版面编号做主键,一般都会用编号作为主键, 这样效率要更高些。上级版面编号是为了方便分层次找到各级版面。发帖数量、 主题数量是指本版面的所有发帖数量和主题数量,而上级版面的数量是包括下 级版面的所有发帖数量和主题数量的,今日发帖数和最后一帖的规则也相同。 版面置顶主题信息所包含的是该版面置顶的主题的编号。与版面相关最密切的 是帖子和主题,表 2-9 是论坛的主题信息表。 表表 2-92-9 论坛主题信息表论坛主题信息表(Topic_T)(Topic_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明
38、备备 注注 1 TopicID COUNTER主题编号Key 2 Title VARCHAR(250) 标题Not null 3 BoardIDINTEGER 版面编号 4 PollID INTEGER 投票表编号 5 LockTopic INTEGER 是否锁定 6 Child INTEGER 回复数量 7 PostUserName VARCHAR(50) 发帖用户名 8 PostUserID INTEGER 发帖用户编号 续表 2-9 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 9 DateAndTime DATETIME发帖时间 10 Hits INTEGER 点击数
39、 11 ExpressionVARCHAR(20) 状态 12 VoteTotal INTEGER 投票总数 13 LastPost VARCHAR(250) 最后一帖 14 PostTable VARCHAR(8) 发帖内容表 15 Istop BYTE 是否置顶 16 LastPostTime DATETIME 最后发帖时间 17 Isbest BYTE 是否精华 18 Isvote BYTE 是否投票 19 TopicMode BYTE 主题模式 20 ModeINTEGER 模式 表 2-10 是帖子信息表。 表表 2-102-10 帖子信息表帖子信息表(Bbs1_T)(Bbs1_T)
40、 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 AnnounceID COUNTER帖子编号Key 2 ParentID INTEGER 上级帖子编号Not null 3 BoardIDINTEGER 版面编号Not null 4 UserName VARCHAR(50) 发帖用户名Not null 5 PostUserID INTEGER 用户 IDNot null 6 Topic VARCHAR(255) 标题 7 Body LONGCHAR 帖子内容 8 DateAndTime DATETIME 发帖时间 9 Lengh INTEGER 内容长度 10 RootID
41、 INTEGER 主题编号 11 Layer INTEGER 层数 12 OrderINTEGER 排序号 续表 2-10 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 13 Isbest BYTE是否精华 14 IP VARCHAR(40) 发帖用户 IP 15 ExpressionVARCHAR(255) 状态 16 LockTopic INTEGER 主题锁定状态 17 Signflag BYTE 签名标识 18 Emailflag BYTE 电子邮件标识 19 Isagree VARCHAR(250) 评价 20 Isuoload BYTE 是否有附件 21 Isau
42、dit BYTE 是否有音频 22 PostBuyUser LONGCHAR 购买此帖的人 23 Ubblist VARCHAR(250)UBB 标识使用编号 表 2-11 是投票信息表。 表表 2-112-11 投票信息表投票信息表(Vote_T)(Vote_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 VoteID COUNTER投票编号Key 2 Vote LONGCHAR 投票内容 3 VoteNumLONGCHAR 每项投票的数量 4 VoteType INTEGER 投票类型 5 LockVote INTEGER 锁定投票 6 Votes INTEGER
43、 投票人数 7 TimeOut DATETIME 截止时间 8 UArticle INTEGER 用户文章 9 UWealth INTEGER 现金货币 10 UEP INTEGER 经验值 11 UCP INTEGER 魅力值 12 UPowerINTEGER 威望值 表 2-12 是投票用户表。 表表 2-122-12 投票用户表投票用户表(VoteUser_T)(VoteUser_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID COUNTER编号Key 2 VoteID INTEGER 投票编号 3 UserIDINTEGER 用户编号 4 VoteDat
44、e DATETIME 投票日期 5 VoteOption VARCHAR(50) 投票选项 以上 4 个表是紧密关联的。为什么单独建立主题信息表而不把主题当成帖 子的特例来筛选,是因为主题会有很多回复,而在论坛帖子搜索时如果搜索要 过滤一次帖子将会速度很慢,而且用户浏览主题时也不必要看到帖子的全部内 容。表 2-9 里用到了 4 个外键,如果在其他表中该字段没有的数据,在主题信 息表中也是不能有的。发帖用户名和发帖用户编号来源于用户信息表,可以算 是数据冗余,是在查询用户发帖时具有更高的效率。 表 2-10 也包含了 4 个外键,其中主题编号是用来关联主题信息表的。层数 记录的是该帖子是主帖还
45、是从帖,排序数是对同一层次的帖子进行排序的。签 名标识和电子邮件标识是记录用户是否在此帖中开放自己的签名和电子邮件。 表 2-11 记录了投票类帖子的投票部分的内容。由于投票内容和帖子信息不 一样,所以单独建立一张表。后面几个 U 开头的字段是限制字段,可以对于投 票的用户做一些资格上的限制,防止新用户反复注册投票。 表 2-12 记载了没个投票用户的投票情况。投票编号和用户编号都是外键。 投票选项字段和表 2-11 中的投票内容字段想关联。 接着设计管理员信息表,如表 2-13,记载了管理员的信息。 表表 2-132-13 管理员信息表管理员信息表(Admin_T)(Admin_T) 序序
46、号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID COUNTER管理员编号Key 2 Username VARCHAR(50) 用户名 3 PasswordVARCHAR(50) 用户密码 4 Flag Memo 权限字段 5 LastLogin DATETIME 投最后登陆时间 续表 2-13 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 6 LastLoginIP VARCHAR(50)最后登陆 IP 地址Key 7 Adduser VARCHAR(50) 用户信息表中的用户 名 管理员信息表和用户信息表是有关联的,外键是用户信息表里的用户名, 所以论坛
47、的管理人员也是论坛的注册用户。这样可以让管理人员在修改论坛参 数后可以很直观的看到修改后的状态。 公共信息表记载的是论坛中发布的公共信息,与版面等信息是关联的。如 表 2-14。 表表 2-142-14 公共信息表公共信息表(BbsNews_T)(BbsNews_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID COUNTER编号Key 2 BoardID INTEGER 版面编号 3 TitleVARCHAR(50) 标题 4 Content LONGCHAR 内容 5 Username VARCHAR(50) 发布用户名 6 Addtime DATETIME
48、发布时间 7 Bgs VARCHAR(100) 背景音乐 表 2-14 中版面编号和发布用户名是外键,但版面编号可以为 0,表示是在 论坛首页发布的信息。背景音乐是让大家读枯燥的公告时有亲切感,不至于觉 得无聊。 收藏夹信息表是针对用户的一个信息表,如表 2-15。 表表 2-152-15 收藏夹信息表收藏夹信息表(BookMark_T)(BookMark_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID COUNTER编号Key 2 Username VARCHAR(50) 用户名 3 urlVARCHAR(100) 收藏的网页地址 4 Topic VARCHA
49、R(100) 帖子的主题 5 Addtime DATETIME 添加时间 收藏夹是为了给用户带来方便的,这里收藏的是网页的地址,其实也可以 做成收藏主题的编号,但因为可能收藏版面等容易编号混乱。 短消息信息表记录用户之间的短消息,见表 2-16。 表表 2-162-16 短消息信息表短消息信息表(Message_T)(Message_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID COUNTER编号Key 2 Sender VARCHAR(50) 发送者 3 InceptVARCHAR(50) 接受者 4 Title VARCHAR(100) 标题 5 Cont
50、ent LONGCHAR 内容 6 Flag INTEGER 阅读标记 7 SendTime DATETIME 发送时间 8 DelR INTEGER 接受者删除标识 9 DelS INTEGER 发送者删除标识 10 IsSend INTEGER 已发送标识 短消息是用户之间私下交流的内容,所以必须保留两者之间的信息。发送 和接收者都是用户信息表关联的外键。删除标识设置两个是防止一方删除操作 后另一方看不到的情况。 用户的好友信息表见表 2-17。 表表 2-172-17 用户好友列表用户好友列表(Friend_T)(Friend_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备
51、备 注注 1 F_ID COUNTER好友编号Key 2 F_username VARCHAR(50) 用户名 3 F_friendVARCHAR(50) 好友用户名 4 F_Addtime DATETIME 添加时间 5 F_mod BYTE 好友类型 6 F_userID INTEGER 用户编号 用户好友列表是用户用来相互交流的,是论坛感觉更人性化。记录好友用 户名是因为用户往往记得这个好友名字却不记得编号,所以这里用用户名做记 录而不是编号。 在线用户表是显示即时在先的用户,可以方便用户见看到在线情况而更及 时的交流。如表 2-18。 表表 2-182-18 在线用户表在线用户表(On
52、line_T)(Online_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID DOUBLE编号Key 2 Username VARCHAR(50) 用户名 3 UserclassVARCHAR(20) 用户类型 4 Stats VARCHAR(250) 用户状态 5 IP VARCHAR(40) 当前 IP 6 Actforip VARCHAR(40) IP 来源 7 Startime DATETIME 开始时间 8 Lastimebk DATETIME 最后操作时间 9 BoardID INTEGER 版面编号 10 Browser VARCHAR(250)
53、浏览器类型 11 ActCome VARCHAR(50) 来源 12 UserID INTEGER 用户编号 13 Userhidden INTEGER 是否隐身 这里的主键是 DOUBLE 类型,是因为用户的活动很多,数据量存在溢出的 可能。用户名、编号和类型都是来自用户信息表的外键。浏览器类型记录了浏 览器和操作系统的类型。 文件上传表是帖子表的一个附表,它记录了在帖子中的附件等信息,见表 2-19。 表表 2-192-19 用户信息表用户信息表(User_T)(User_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 F_ID COUNTER编号Key 2 F_
54、AnnounceID VARCHAR(50) 帖子编号 3 F_BoardIDINTEGER 版面编号 4 F_UserID INTEGER 用户编号 5 F_Username VARCHAR(50) 用户名 6 F_Filename VARCHAR(250) 文件名 7 F_FileType VARCHAR(10) 文件类型 8 F_Type SMALLINT 文件类型编号 续表 2-19 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 9 F_FileSize INTEGER文件大小 10 F_Readme VARCHAR(250) 文件说明 11 F_DownloadIN
55、TEGER 下载次数 12 F_ViewNum INTEGER 浏览次数 13 F_DownUser LONGCHAR 下载用户 14 F_Flag SMALLINT 文件标识 15 F_AddTime DATETIME 添加日期 16 F_Viewname VARCHAR(255) 显示名称 文件上传表记录了用户上传附件的内容。用户名、用户编号、版面编号等 都是外键。文件名字段由于用户上传的文件可能同名,所以采取系统自动命名 的方式,缺点是如果同一个文件分包上传,则下载后需要重新命名后才能恢复 原文件。文件类型是文件真正的类型,而类型编号是论坛文件类型,表示下载 与显示。 帮助信息表是很重要
56、的表,是用来介绍整个论坛的使用的,见表 2-20。 表表 2-202-20 帮助信息表帮助信息表(Help_T)(Help_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 H_ID COUNTER帮助编号Key 2 H_ParentID INTEGER 上级编号 3 H_TitleVARCHAR(250) 标题 4 H_Content LONGCHAR 内容 5 H_Type BYTE 类型 6 H_Stype INTEGER 后台类型 7 H_begimg VARCHAR(100) 背景图片 8 H_Addtime DATETIME 添加时间 帮助信息表是个独立的表
57、,帮助信息对于论坛是很重要的,帮助文件写得 好,用户就会上手快,论坛就会更有亲切感。虽然现在的网络用户对论坛都并 不陌生,但良好的帮助文件依然可以体现出论坛在设置上的到位。因为帮助文 件分用户和管理员的,所有添加一个后台类型来区别帮助文件的显示位置。 论坛日志表是用来记录论坛行为的,一旦论坛出现了问题,可以通过这个 表来跟踪一些活动,分析出问题的所在。见表 2-21。 表表 2-212-21 论坛日志表论坛日志表(Log_T)(Log_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 L_ID COUNTER日志编号Key 2 L_AnnounceID INTEGER
58、帖子编号 3 L_BoardIDINTEGER 版面编号 4 L_Touser VARCHAR(50) 访问页面 5 L_Username VARCHAR(50) 访问用户名 6 L_Content VARCHAR(255) 日志内容 7 L_AddTime DATETIME 添加时间 8 L_IP VARCHAR(50) 用户 IP 9 L_Type BYTE 日志类型 为了保证日志记录信息的详实,因此日志表需要设计得很全面。帖子编号 和版面编号是外键,记录了论坛中对帖子信息进行操作的信息,当非帖子操作 时,这两个字段不是必须的。 系统信息表关系到整个论坛是否可以正常运行,是核心表,见表 2
59、-22。 表表 2-222-22 系统信息表系统信息表(Setup_T)(Setup_T) 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 1 ID COUNTER编号Key 2 Forum_Setting LONGCHAR 论坛设置 3 Forum_AdsLONGCHAR 论坛广告 4 Forum_Badwords LONGCHAR 过滤词 5 Forum_rBadword LONGCHAR 注册过滤词 6 Forum_Maxonline INTEGER 最多在线人数 7 Forum_MaxonlineDate DATETIME 最多在线日期 8 Forum_TopicNum
60、 INTEGER 单页主题数 9 Forum_PostNum INTEGER 单页帖子数 10 Forum_TodayNum INTEGER 今日发帖数 续表 2-22 序序 号号字字 段段 名名字段类型字段类型说说 明明备备 注注 11 Forum_UserNum INTEGER论坛用户数 12 Forum_YesterdayNum INTEGER 昨日发帖数 13 Forum_MaxPostNumINTEGER 最大发帖数 14 Forum_MAXPostDate DATETIME 最大发帖日期 15 Forum_LastUser VARCHAR(50) 最后注册用户 16 Forum_L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版咨询服务协议提前终止条款范本版B版
- 多币种国际支付业务品牌战略与推广服务考核试卷
- 2024年艺人经纪合同及分成比例
- 玩具设计的可持续发展理念考核试卷
- 搓床机械原理课程设计
- 影视录放设备的智能追踪优化技术发展新突破考核试卷
- 玻璃行业职业健康与安全管理考核试卷
- 2024年苏州离婚协议书模板3篇
- 昆虫 实践课程设计
- 竹编船的单元课程设计
- 无人机测试与评估标准
- 2024版国开电大法学本科《国际经济法》历年期末考试总题库
- 陪诊服务培训课件模板
- 儿童食物过敏的流行病学调查与风险因素分析
- 2023南头古城项目简介招商手册
- 核心期刊投稿指南课件
- 2023-2024学年四川省成都市锦江区重点中学八年级(上)期末数学试卷(含解析)
- 严重精神障碍患者管理课件
- 杏树主要病虫害及其防治方法
- 人身安全及注意事项
- ACL导管维护三步曲临床应用
评论
0/150
提交评论