《网上论坛系统的实现》由会员分享,可在线阅读,更多相关《网上论坛系统的实现(39页珍藏版)》请在金锄头文库上搜索。
1、网上论坛系统网上论坛系统数据库期末作业数据库期末作业学 院:数学与统计学院 班 级:硕 2041 班 姓 名:王彭 学 号:3112054028 完成内容:论坛系统的实现 同 组 人:李海玥 朱妤网上论坛系统的实现网上论坛系统,即 BBS 论坛,也称为社区,是各类网站中一种常见的功能模块,它为 上网用户提供了一个自由的讨论区。用户可以根据需要在论坛上发表帖子,提出问题并表 达自己的观点。与此同时,用户还可以在论坛中看到其他人发表的文章,并对其进行恢复。1 系统设计1.1 功能描述网上论坛分为游客、注册会员、版主及管理员四种身份进行设计。游客主要是可以浏 览论坛上各个版块的信息以及版块内相关的帖
2、子;注册会员可以在相应的版块内发表帖子, 并且可以对自己感兴趣的帖子进行回复,同时会员之间可以发送短消息;作为一个版块的 版主,除了拥有会员的权限外,还可以自己版块的帖子及回复进行管理;管理员主要是对 用户管理、论坛分类管理和帖子类型管理几个模块进行管理。按照功能划分,系统可以分 为以下几个模块:注册模块、登录模块、浏览信息模块、消息管理模块、用户管理模块、 区块管理模块、版块管理模块、帖子类型管理模块、版块帖子管理模块、帖子回复管理模 块、浏览版块模块、浏览帖子模块、发表帖子模块以及回复帖子模块。1.2 功能模块划分注册模块 该模块主要完成用户的注册功能,用户需要填写用户名、密码及邮箱等基本
3、信息。 登录模块 登录模块实现管理员、版主和注册用户三种角色的分别登录,采取相同的登录页面并 根据数据库中的权限字段来区分,从而进行不同的权限分配,以便对反问进行限制。 浏览信息模块 该模块主要实现让未登录的用户可以浏览帖子列表及其详细内容。 消息管理模块 该模块使登录用户可以浏览、删除其他用户发给自己的消息,并且可以发送消息给注 册用户。 用户管理模块 该模块实现管理员对注册用户进行授权,可以授权为注册用户、贵宾、版主及区长。 区块管理模块 该模块实现管理员对已有区域的编辑功能,本系统设定了三个区。 版块管理模块 该模块实现管理员对版块的添加、修改及删除功能。 版块帖子管理模块 该模块实现版
4、主对版块帖子进行浏览和删除功能。 帖子回复管理模块 该模块实现版主对版块中回复的帖子进行浏览和删除功能。 浏览版块模块 该模块实现登录用户对论坛的版块进行浏览。浏览帖子模块 该模块实现登录用户对论坛的版块中的帖子进行浏览。 发表帖子模块 该模块实现登录用户在论坛的版块中发表帖子。 回复帖子模块 该模块实现登录用户对论坛的版块中发表的帖子进行回复。 查询帖子模块 该模块实现登录用户对论坛的版块中发表的帖子进行查询。 系统各功能模块之间的关系如图 1 所示。网上论坛系统注册模块登录模块浏览信息会员登录消息管理管理员登录版主登录版块帖子管理帖子回复管理普通会员登录浏览板块浏览帖子发表帖子回复帖子查询
5、帖子用户管理区块管理版块管理帖子类型管理图 1 系统的模块图1.3 系统流程分析本系统中用户活动图如图 2 所示,管理员活动图如图 3 所示。进入论坛登录注册显示论坛分类查阅文章主题查阅文章内容发表新文章回复主题发表回复未注册未注册登录用户管理论坛分类管理帖子分类管理身份验证失败图 2 系统中的用户活动图图 3 系统中的管理员活动图2 数据库设计数据库的建立具体分为两个部分:一是概念模型的分析,即 E-R 图;二是逻辑模型的 分析,即表和地段的分析。 根据系统模型,可以确定系统中的各种实体以及它们之间的关系。本系统根据上面的 设计规划出的实体包括:用户管理表(Users)、权限表(Bbs_Po
6、pedom)、论坛区信息表 (Bbs_MenuBig)、论坛版块信息表(Bbs_MenuSmall)、论坛帖子信息表(Bbs_Post)、论坛帖 子回复信息表(Bbs_PostBack)、论坛回复信息表(Bbs_PostType)、短消息信息表 (Bbs_Message)。2.1 数据库需求设计用户信息表(Users):包括用户 ID、登录名、用户密码、邮箱、用户头像、权限 和是否管理员等字段,其中用户 ID 为主键。 权限表(Bbs_Popedom):包括权限 ID 和权限名称字段,主键为 ID。 论坛区信息表(Bbs_MenuBig):包括区 ID、区名称、区描述、区长编号、添加时 间等字
7、段,区 ID 为主键。 论坛版块信息表(Bbs_MenuSmall):包括版块 ID、版块名称、版块描述、版块图 片地址、版主编号、版块所属区的编号、版块添加时间、版块中帖子数目以及回 复数目,并以版块 ID 为主键。 论坛帖子信息表(Bbs_Post):包括帖子 ID、帖子标题、帖子内容、发帖者编号、 发帖时间、所属版块编号、帖子类型编号、帖子浏览次数及回复次数,并以帖子ID 为主键。 论坛帖子回复信息表(Bbs_PostBack):包括回复 ID、回复内容、回复者 编号、 回复时间及帖子编号,并以回复 ID 为主键。 论坛回复信息表(Bbs_PostType):包括类型 ID、类型名称、类
8、型所属版块和添加 时间,并以类型 ID 为主键。 短消息信息表(Bbs_Message):包括消息 ID、消息标题、消息内容、发送人 ID、 接收人 ID、读写标志及发送时间,并以消息 ID 为主键。2.2 数据库逻辑结构设计2.2.1E-R 图设计数据库逻辑设计目标:一是对需求分析中的实体建立对应的表;二是设置表的主键和外键。下面建立 E-R 图。用户拥有权限权限ID权限名称1:n用户ID登录名密码邮箱是否管理员发表帖子帖子ID帖子标题内容所属版块 编号属于帖子类型类型ID类型名称所属板块编号回复回复ID回复内容回复时间回复帖子编 号管理区区ID名称描述区长编号添加时间版块版块ID名称描述图
9、片地址版主编号所属区编号添加时间帖子数目回复数目1:n 1:n1::1n:n属于1:12.2.2 数据模型用户信息表与权限表通过 User_Qx 与 Popedom_Id 对应连接。UsersP PK KU Us se er r_ _I ID DUser_NameUser_PwdUser_EmailUser_PicUser_QxUser_OnlineUser_IpUser_LoginDateIsAdminBbs_PopedomP PK K, ,F FK K2 2P Po op pe ed do om m_ _I ID DPopedom_Name帖子信息表、帖子类型表和用户信息表通过 PostT
10、ype_Id=Post_TypeId 与 Post_Sender=User_Id 连接起来。Bbs_PostTypeP PK K, ,F FK K1 1P Po os st tT Ty yp pe e_ _I Id dPostType_NamePostType_MenuSmallIdPostType_AdddateBbs_PostP PK KP Po os st t_ _I Id dPost_TitlePost_Content FK1Post_SenderPost_SendTimePost_SmallIdPost_TypeIdPost_BrowseCountPost_BackCountUser
11、sP PK KU Us se er r_ _I ID DUser_NameUser_PwdUser_EmailUser_PicUser_QxUser_OnlineUser_IpUser_LoginDateIsAdmin用户信息表与回复信息表通过 User_Id=PostBack_Sender 连接起来。Bbs_PostBackP PK KP Po os st tB Ba ac ck k_ _I Id dPostBack_ContentPostBack_SenderPostBack_SendTimePostBack_PostIdUsersP PK K, ,F FK K1 1U Us se er
12、r_ _I ID DUser_NameUser_PwdUser_EmailUser_PicUser_QxUser_OnlineUser_IpUser_LoginDateIsAdmin区信息表与用户信息表通过 MenuBig_Admin=User_Id 连接起来。Bbs_MenuBigP PK KM Me en nu uB Bi ig g_ _I Id dMenuBig_NameMenuBig_Description FK1MenuBig_AdminMenuBig_AddUsersP PK KU Us se er r_ _I ID DUser_NameUser_PwdUser_EmailUser
13、_PicUser_QxUser_OnlineUser_IpUser_LoginDateIsAdmin版块信息表与用户信息表通过 MenuSmall_Admin=User_Id 连接起来。UsersP PK KU Us se er r_ _I ID DUser_NameUser_PwdUser_EmailUser_PicUser_QxUser_OnlineUser_IpUser_LoginDateIsAdminBbs_MenuSmallP PK KM Me en nu uS Sm ma al ll l_ _I Id dMenuSmall_NameMenuSmall_DescriptionMenu
14、Small_ImgUrl FK1MenuSmall_AdminMenuSmall_BigIDMenuSmall_AdddateMenuSmall_PostCountmenuSmall_PostBackCount2.2.3 数据表 根据以上 E-R 图,可以创建以下数据表。 用户管理表 Users字段名数据类型长度主键描述User_IdInt4是用户 IDUser_NameVarchar20否用户登录名User_PwdVarchar50否用户密码User_EmailVarchar200否用户邮箱User_PicVarchar200否用户头像User_QxInt4否用户权限User_OnlineI
15、nt4否在线状态User_IpVarchar50否登录 IPUser_LoginDateDatetime8否最后登录时间IsAdminBit1否是否管理员权限表 Bbs_Popedom字段名数据类型长度主键描述Popedom_IdInt4是权限 IDPopedom_NameVarchar50否权限名称论坛信息表 Bbs_MenuBig字段名数据类型长度主键描述MenuBig_IdInt4是区 IDMenuBig_NameVarchar50否区名称MenuBig_DescriptionVarchar200否区描述MenuBig_AdminVarchar200否区长编号MenuBig_AddDat
16、etime8否添加时间论坛版块信息表 Bbs_MenuSmall字段名数据类型长度主键描述MenuSmall_IdInt4是版块 IDMenuSmall_NameVarchar50否版块名称MenuSmall_DescriptionVarchar200否版块描述MenuSmall_ImgUrlVarchar500否版块图片地址MenuSmall_AdminInt4否版主编号MenuSmall_BigIDInt4否所属分区编号字段名数据类型长度主键描述MenuSmall_AdddateDatetime9否添加时间MenuSmall_PostCountInt4否帖子数目MenuSmall_PostBackCountInt4否回复数目论坛帖子信息表 Bbs_Post字段名数据类型长度主键描述Post_IdInt4是帖子 IDPost_TitleVarchar50否帖子标题Post_ContentVarchar200否帖子内容Post_SenderVarchar500否发帖人编号Post_SendTimeInt4否发帖时间Post_SmallId