分享

BBS论坛项目业务及表结构

 狂人隐士 2012-07-16

第一部分:BBS伦理业务介绍:

.1. 业务背景

BBS是英文Bulletin Board System的缩写,翻译为中文的含义是“电子公告版”,习惯也称为“论坛”。论坛,顾名思义是对某个话题展开的深入讨论、辩论,例如:关于对某个学术或技术问题的论坛、关于对某个金融或政治问题的论坛。现实生活中可以通过开会等方式进行,它要求参会者在同一时间都有空出席会议,所以一般召集比较困难。随着Internet网络的出现,这个问题得到了解决,论坛开始在网络盛行。在Google中键入“论坛”关键字,将搜索出各类论坛,很多论坛也发展为社区形式,常见的论坛举例如下。

CSDN论坛(http://communiti.csdn.net):属于技术类论坛,讨论的主题涉及软件开发语言、平台工具和相关开发技术等;

水木清华BBShttp://www./guest-frames.html):讨论的主题涉及学术、校园、娱乐、电脑、体育等;

天眼社区(http://www.tianya.cn/travel):属于综合类论坛,讨论的主题涉及社会、人文、汽车、生活、经济等;

百度贴吧(http://tieba.baidu.com):属于综合类论坛,讨论的主题涉及娱乐明星、体育、游戏、校园文化等;

淘宝网社区(http://forum.taobao.com/forum-16/list_forum-.htm):属于网上购物类论坛,讨论的主题涉及商品介绍、促销、评论、购物经验交流等。

2. 业务功能

论坛因其讨论的主题或规模不同,而形式有所不同。但从业务功能的角度看,一般都具有如下典型功能,下面以CSDN论坛为例具体介绍如下。

1)用户注册

如希望有权利在论坛中发言,你需要先注册为论坛的用户,即会员。单击CSDN主页中的“注册”超链接,填写如图1.1所示注册信息,注册为论坛用户。

BBS论坛项目业务及表结构

1.1 CSDN用户注册

用户登录

注册为论坛的用户后,单击CSDN主页中的“登录”超链接,输入用户账号登录到论坛,如图1.2所示。登录成功后,论坛的主页将显示你的登录名和头像。如图1.3所示,左上角显示登录名为love_program_2009,下方的图片为代表用户的头像。这表明你具有发言并参与讨论的权利了。

BBS论坛项目业务及表结构

1.2 CSDN用户登录

BBS论坛项目业务及表结构

1.3  用户登录后的CSDN主页

查看贴子

如图1.3 CSDN主页所示,论坛左侧为讨论的主题目录,你可以选择感兴趣的话题参与讨论。论坛右侧为某主题下其他用户的发言列表,单击某个发言主题将看到具体的内容(如图1.4所示)。这些发言的内容也称为贴子,类似学校报栏中张贴的一张张海报或通知一样,方便查看。

 

BBS论坛项目业务及表结构

1.4 查看贴子

发表贴子

在论坛中除了查看其他人的发言外,和现实中的讨论一样,你可以发言,也称为发贴。

根据发贴的场合,又分为跟贴和主贴两种。

跟贴:当你看了某个贴子后有认同或希望补充的想法,可以回复,称为跟贴或回贴。如图1.5所示,你可以单击贴子下方的“回复”超连接,输入你回复的内容,然后提交即可。

主贴:当你希望发表一个新的讨论话题,希望大家围绕此话题展开讨论时,你发布的贴子就称为主贴,而其他后续跟随回复的贴子就称为跟贴或回贴。如图1.5所示,你可以单击贴子下方的“我要提问”超链接,发表新的话题,发表后的内容如图1.6所示,你发表的话题将位于所有贴子的最上方,表示主贴。

BBS论坛项目业务及表结构

1.5  跟贴(回贴)

BBS论坛项目业务及表结构

1.6 主贴

 

版块管理

类似每个讨论会有个会议的组织者或主持人一样,需要对会议秩序和内容进行控制。BBS论坛中也有一个类似的角色就是版主(也称“斑竹”,刚好是版主的谐音)。一个大的论坛一般涉及多方面的主题(也称版块)。为了方便管理,整个论坛有个总版主,每个版块再配一位版主(也称管理员),负责本版块贴子内容的管理。例如:如发现贴子内容不健康,则警告发贴人并给予扣分等处罚。如图1.7上方所示,显示了MS-SQL Server版块的版主信息。

BBS论坛项目业务及表结构

1.7 版块管理

 

 

第二部分 上机任务 ?

创建bbsDB数据库及相关的数据表,为各表添加相关约束。

 

BBS论坛项目业务及表结构阶段1:指导——创建bbsDB数据库

 

需求说明

1)创建BBS系统的物理数据库,将数据库命名为bbsDB

2)物理文件保存在D:\project下。

3)数据文件的初始大小为10MB,允许自动增长,数据文件大小不受限制;日志文件初始大小为3MB,但最大为20MB

 

BBS论坛项目业务及表结构阶段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

用户的积分(点数)

 


 

 

BBS论坛项目业务及表结构阶段3:指导——添加约束。

 

训练要点

为数据表添加约束。

需求说明

用户表bbsUsers创建后,根据表2-2“描述”栏的要求,我们还需要给该表添加相关约束。常用的约束可以分为以下几种。

1)非空约束某列是否允许为空,该约束已在创建表时指定(NULL)。

2)主键约束UID列为主键

3)默认约束

 初始密码:默认为6个“8”,即888888

 性别:默认为1(男)

 注册日期:默认为当前日期

 用户状态:默认为0(离线)

 用户级别:默认为1(星级)

 用户积分:默认为20

4)检查约束

 密码:至少6

 电子邮件:必须包含“@”字符

5)外键约束。本表无外键。

 

BBS论坛项目业务及表结构阶段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,外键,引用用户表bbsUsersUID

Sprofile

varchar

20

允许

 

版面简介

SclickCount

int

4

允许

0

点击率

StopicCount

int

4

允许

0

发贴数

 

使用INSERT语句插入测试数据,如图2.5所示。

BBS论坛项目业务及表结构

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号(心酸果冻)。

BBS论坛项目业务及表结构

2.6 bbsTopic主贴表的测试数据

使用INSERT语句插入测试数据,如图2.7所示。注意表中各种ID编号表示的含义。例如表中第一条记录表示:1号回贴,跟随1号主贴(还是jsp中的问题),在1号版块(Java技术)中发表,发帖人为5号(Super)。

BBS论坛项目业务及表结构

2.7 bbsReply跟贴表的测试数据

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多