BBS论坛项目业务及表结构
第一部分:BBS伦理业务介绍:
.1. 业务背景
BBS是英文Bulletin Board System的缩写,翻译为中文的含义是“电子公告版”,习惯也称为“论坛”。
论坛,顾名思义是对某个话题展开的深入讨论、辩论,例如:关于对某个学术或技术问题的论坛、关于对某个金融或政治问题的论坛。
现实生活中可以通过开会等方式进行,它要求参会者在同一时间都有空出席会议,所以一般召集比较困难。
随着Internet网络的出现,这个问题得到了解决,论坛开始在网络盛行。
在Google中键入“论坛”关键字,将搜索出各类论坛,很多论坛也发展为社区形式,常见的论坛举例如下。
CSDN论坛():属于技术类论坛,讨论的主题涉及软件开发语言、平台工具和相关开发技术等;
水木清华BBS(/guest-frames.html):讨论的主题涉及学术、校园、娱乐、电脑、体育等;
天眼社区(/travel):属于综合类论坛,讨论的主题涉及社会、人文、汽车、生活、经济等;
百度贴吧():属于综合类论坛,讨论的主题涉及娱乐明星、体育、游戏、校园文化等;
淘宝网社区(/forum-16/list_forum-.htm):属于网上购物类论坛,讨论的主题涉及商品介绍、促销、评论、购物经验交流等。
2. 业务功能
论坛因其讨论的主题或规模不同,而形式有所不同。
但从业务功能的角度看,一般都具有如下典型功能,下面以CSDN论坛为例具体介绍如下。
1)用户注册
如希望有权利在论坛中发言,你需要先注册为论坛的用户,即会员。
单击CSDN主页中的“注册”超链接,填写如图1.1所示注册信息,注册为论坛用户。
图1.1 CSDN用户注册
用户登录
注册为论坛的用户后,单击CSDN主页中的“登录”超链接,输入用户账号登录到论坛,如图1.2所示。
登录成功后,论坛的主页将显示你的登录名和头像。
如图1.3所示,左上角显示登录名为love_program_2009,下方的图片为代表用户的头像。
这表明你具有发言并参
与讨论的权利了。
图1.2 CSDN用户登录
图1.3 用户登录后的CSDN主页
查看贴子
如图1.3 CSDN主页所示,论坛左侧为讨论的主题目录,你可以选择感兴趣的话题参与讨论。
论坛右侧为某主题下其他用户的发言列表,单击某个发言主题将看到具体的内容(如图1.4所示)。
这些发言的内容也称为贴子,类似学校报栏中张贴的一张张海报或通知一样,方便查看。
图1.4 查看贴子
发表贴子
在论坛中除了查看其他人的发言外,和现实中的讨论一样,你可以发言,也称为发贴。
根据发贴的场合,又分为跟贴和主贴两种。
跟贴:当你看了某个贴子后有认同或希望补充的想法,可以回复,称为跟贴或回贴。
如图1.5所示,你可以单击贴子下方的“回复”超连接,输入你回复的内容,然后提交即可。
主贴:当你希望发表一个新的讨论话题,希望大家围绕此话题展开讨论时,你发布的贴子就称为主贴,而其他后续跟随回复的贴子就称为跟贴或回贴。
如图1.5所示,你可以单击贴子下方的“我要提问”超链接,发表新的话题,发表后的内容如图1.6所示,你发表的话题将位于所有贴子的最上方,表示主贴。
图1.5 跟贴(回贴)
图1.6 主贴
版块管理
类似每个讨论会有个会议的组织者或主持人一样,需要对会议秩序和内容进行控制。
BBS 论坛中也有一个类似的角色就是版主(也称“斑竹”,刚好是版主的谐音)。
一个大的论坛一般涉及多方面的主题(也称版块)。
为了方便管理,整个论坛有个总版主,每个版块再配一位版主(也称管理员),负责本版块贴子内容的管理。
例如:如发现贴子内容不健康,则警告发贴人并给予扣分等处罚。
如图1.7上方所示,显示了MS-SQL Server版块的版主信息。
图1.7 版块管理
第二部分上机任务
创建bbsDB数据库及相关的数据表,为各表添加相关约束。
阶段1:指导——创建bbsDB数据库。
需求说明
(1)创建BBS系统的物理数据库,将数据库命名为bbsDB。
(2)物理文件保存在D:\project下。
(3)数据文件的初始大小为10MB,允许自动增长,数据文件大小不受限制;日志文件初始大小为3MB,但最大为20MB。
阶段2:练习——创建bbsDB数据库表bbsUsers。
需求说明
创建bbsDB数据库表bbsUsers,见表2-1中第一行。
表2-1bbsDB数据库中的表
用户表bbsUsers的表结构见表2-2。
为了避免多表中出现重复的列名,同时也为了标识该列属于表bbsUsers,所以表中的每列,都以“U”打头。
表2-2 用户表的结构
阶段3:指导——添加约束。
训练要点
为数据表添加约束。
需求说明
用户表bbsUsers创建后,根据表2-2“描述”栏的要求,我们还需要给该表添加相关约束。
常用的约束可以分为以下几种。
(1)非空约束。
某列是否允许为空,该约束已在创建表时指定(NULL)。
(2)主键约束。
UID列为主键。
(3)默认约束。
①初始密码:默认为6个“8”,即888888。
②性别:默认为1(男)。
③注册日期:默认为当前日期。
④用户状态:默认为0(离线)。
⑤用户级别:默认为1(星级)。
⑥用户积分:默认为20点。
(4)检查约束。
①密码:至少6位。
②电子邮件:必须包含“@”字符。
(5)外键约束。
本表无外键。
阶段4:练习——创建表并添加约束。
需求说明
创建bbsDB数据库的其他3张表的总体信息见表2-3,各个表的结构分别见表2-4~表2-6,并根据各表的“描述”栏添加相关约束,外键约束请参考第二章理论部分。
表2-3bbsDB数据库的其他3张表
表2-4版块表的结构
使用INSERT语句插入测试数据,如图2.5所示。
图2.5 bbsSection版块表的测试数据
表2-5主贴表的结构
表2-6跟贴表的结构
使用INSERT语句插入测试数据,如图2.6所示。
注意表中各种ID编号表示的含义。
例如表中第一条记录表示:1号主贴,在1号版块(Java技术)中发表,发帖人为3号(心酸果冻)。
图2.6bbsTopic主贴表的测试数据
使用INSERT语句插入测试数据,如图2.7所示。
注意表中各种ID编号表示的含义。
例如表中第一条记录表示:1号回贴,跟随1号主贴(还是jsp中的问题),在1号版块(Java 技术)中发表,发帖人为5号(Super)。
图2.7bbsReply跟贴表的测试数据。