温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
BBS
论坛
项目
业务
结构
BBS论坛项目业务及表结构
第一部分:BBS伦理业务介绍:
.1. 业务背景
BBS是英文Bulletin Board System的缩写,翻译为中文的含义是“电子公告版”,习惯也称为“论坛”。论坛,顾名思义是对某个话题展开的深入讨论、辩论,例如:关于对某个学术或技术问题的论坛、关于对某个金融或政治问题的论坛。现实生活中可以通过开会等方式进行,它要求参会者在同一时间都有空出席会议,所以一般召集比较困难。随着Internet网络的出现,这个问题得到了解决,论坛开始在网络盛行。在Google中键入“论坛”关键字,将搜索出各类论坛,很多论坛也发展为社区形式,常见的论坛举例如下。
CSDN论坛():属于技术类论坛,讨论的主题涉及软件开发语言、平台工具和相关开发技术等;
水木清华BBS(
天眼社区(
百度贴吧():属于综合类论坛,讨论的主题涉及娱乐明星、体育、游戏、校园文化等;
淘宝网社区(
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-1 bbsDB数据库中的表
表
表 名
作 用
备 注
用户表
bbsUsers
存储注册的用户信息
用户注册后才能发贴和回贴
主贴表
bbsTopic
存储主贴的内容
因主贴和跟贴有些内容不同,因此分为两张表
跟贴表
bbsReply
存储跟贴的内容
版块表
bbsSection
存储版块的信息
包括版块名、版主等信息
用户表bbsUsers的表结构见表2-2。为了避免多表中出现重复的列名,同时也为了标识该列属于表bbsUsers,所以表中的每列,都以“U”打头。
表2-2 用户表的结构
列 名
数据类型
长度
是否允许为空
默 认 值
描 述
UID
int
4
不允许
用户编号,标识列,自动增长,主键
Uname
varchar
15
不允许
用户名,呢称
Upassword
varchar
10
不允许
888888
密码,必须大于6位
Uemail
varchar
20
允许
必须包含“@”符号
Usex
bit
1
不允许
1(男)
性别
Uclass
int
4
允许
1
用户的等级(几星级)
Uremark
varchar
20
允许
备注信息
UregDate
datetime
不允许
当天日期
注册日期
Ustate
int
4
允许
0(离线)
状态,例如是否被禁言,是否在线
Upoint
int
4
允许
20
用户的积分(点数)
阶段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-3 bbsDB数据库的其他3张表
表
表 名
作 用
备 注
版块表
bbsSection
存放版块的信息
包括版块名、版主等信息
主贴表
bbsTopic
存放主贴的内容
因主贴和跟贴有些内容不同,因此分为两张表
跟贴表
bbsReply
存放跟贴的内容
表2-4 版块表的结构
表 名
bbsSection (版块表)
主 键
SID
列 名
数据类型
长 度
是否允许为空
默认值
描 述
SID
int
4
不允许
版块编号,自动增长
Sname
varchar
32
不允许
版块名称
SmasterID
int
4
不允许
版主的用户ID,外键,引用用户表bbsUsers的UID
Sprofile
varchar
20
允许
版面简介
SclickCount
int
4
允许
0
点击率
StopicCount
int
4
允许
0
发贴数
使用INSERT语句插入测试数据,如图2.5所示。
图2.5 bbsSection版块表的测试数据
表2-5 主贴表的结构
表 名
bbsTopic(主贴表)
主 键
TID
列 名
数据类型
长 度
是否允许为空
默认值
描 述
TID
int
4
不允许
贴子编号,自动增长
TsID
int
4
不允许
版块编号,外键,引用bbsSection表的主键SID
TuID
int
4
不允许
发贴人ID;外键,引用bbsUsers表的主键UID
TreplyCount
int
4
允许
0
回复数量
Tface
int
4
允许
发贴表情
Ttopic
varchar
20
不允许
标题
Tcontents
varchar
30
不允许
正文,必须大于6个字符
Ttime
datetime
8
允许
当天
发贴时间
TclickCount
int
4
允许
0
点击数
Tstate
int
4
不允许
1
状态,例如是否被锁,是否为精华贴
TlastReply
datetime
8
允许
最后回复时间,必须晚于发贴时间
表2-6 跟贴表的结构
表 名
bbsReply(回贴表)
主 键
RID
列 名
数据类型
长度
是否允许为空
默认值
描 述
RID
int
4
不允许
自动编号, 贴子编号
RtID
int
4
不允许
主贴ID,外键,引用bbsTopic表的主键TID
RsID
int
4
不允许
版块ID,外键,引用bbsSection表的主键SID
RuID
int
4
不允许
回贴人ID, 外键,引用bbsUsers表的主键UID
Rface
int
4
允许
回贴表情
Rcontents
varchar
30
不允许
正文,必须大于6个字符
Rtime
datetime
8
允许
当天
回贴时间
RclickCount
int
4
允许
点击数
使用INSERT语句插入测试数据,如图2.6所示。注意表中各种ID编号表示的含义。例如表中第一条记录表示:1号主贴,在1号版块(Java技术)中发表,发帖人为3号(心酸果冻)。
图2.6 bbsTopic主贴表的测试数据
使用INSERT语句插入测试数据,如图2.7所示。注意表中各种ID编号表示的含义。例如表中第一条记录表示:1号回贴,跟随1号主贴(还是jsp中的问题),在1号版块(Java技术)中发表,发帖人为5号(Super)。
图2.7 bbsReply跟贴表的测试数据