网络论坛数据库设计说明书.docx
- 文档编号:4627860
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:16
- 大小:124.48KB
网络论坛数据库设计说明书.docx
《网络论坛数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《网络论坛数据库设计说明书.docx(16页珍藏版)》请在冰豆网上搜索。
网络论坛数据库设计说明书
前言
现实生活中的交流存在时间和空间上的局限性,交流人群范围狭小以及间断的交流不能保证信息的准确性和可取性。
因此,用户需要通过网上论坛的交流扩大交流面,同时可以从多方面获得自己所需要的最及时的信息。
网络论坛是Internet上的一种交互性极强的、网友喜闻乐见的电子信息服务系统。
它为网民提供一块公共的电子白板,每个用户都可以在上面书写、发布自己的信息或提不同的意见,以便与其他用户进行交流和讨论。
本系统面向所有乐于参与交流活动的广大网友。
在当今信息流量相当大的情况下,网络论坛已经成为人们生活中不可或缺的一部分,人们在通过网络论坛进行交流的同时,还可以在论坛上发泄自己的情绪,在论坛中,人们往往能够展现自己真正的性情,缓解自己在生活和工作中的压力,论坛中的问题很多都是现实而具有思考性的问题法,在论坛中可以大胆的发表自己的看法。
因此越来越多的网络论坛应运而生,固有这次网络论坛系统的开发实施,论坛中包含了论坛会员的相关信息,以及各个会员在论坛中所讨论的论坛话题,通过论坛平台可以发表评论或者回复提问者的相关问题,可以多人进行讨论,也可以在两者之间进行秘密交流。
1.需求分析
应用互联网实现信息讨论,已经成为一种常用的手段,网上论坛提供了一个信息交流的空间,在论坛中可以一起讨论刚兴趣的话题,提出问题或者回答别人的问题。
其功能需求有:
匿名用户只能浏览论坛中的帖子。
普通用户可以修改本人资料中除用户名以外的其他信息,登录后可以在已有的板块中发布新主题,或者回复帖子。
版主除了有普通用户的权限外,还可以在所管理的板块删除、推荐、锁定帖子,或者解除对帖子的推荐、锁定,并可以在本版块中发布通知等。
系统管理员除了有普通用户的权限以外,还可以添加版块、删除版块,对论坛中所有版块的属性进行编辑,并对注册的用户的所有资料进行修改和删除。
用户可以在系统中注册成为普通用户,注册时需要填写完整性的用户资料,并将资料提交到数据库中。
注册用户可以通过登录,进入系统中,用户登录时需验证用户的用户名和密码信息。
系统管理员可以对用户进行管理,可以查看,修改和删除用户的相关信息。
任何身份的用户可以浏览帖子上的论坛的主题信息。
通过主题信息的连接,可进人该主题信息并可以浏览主题信息的详细内容。
登录用户可以在一个版块中发布新的帖子信息。
可以对帖子的内容信息进行回复操作,并可以对自己的帖子信息进行编辑操作。
版主可以对管理版中的帖子进行管理,包括修改、删除、推荐帖子、锁定帖子,解除锁定、解除推荐和本版中发布通知。
系统管理员可以添加系统中的版块信息,可以编辑或删除系统中的莫个人的版块信息。
网络论坛功能模块图:
2.数据库概要设计
网络论坛的创建目标就是给用户提供一个交流信息的平台。
它主要由帖子管理、论坛管理、用户管理等几大部分组成。
系统主要包括匿名用户、普通用户、版主和系统管理员,
数据库设计E-R图:
1.用户E-R实体图:
2.论坛版块E-R实体图
3.主题信息E-R实体图:
4回帖信息E-R实体图:
3.数据库详细设计
3.1数据表的创建
1.用户信息表(users)
用户信息表用于存放网络论坛系统中所有注册用户的所有信息。
表中的各个字段的数据类型、大小以及简段描述如下表:
字段名
数据类型
大小
字段描述
ID
Int
4
ID,作为主键
Username
nVarchar
20
登录名
Password
nvarchar
20
用户登录密码
Sex
varchar
2
性别
Pos
nvarchar
20
级别
Int
4
QQ号码
nvarchar
50
用户E-mail
Loca
nvarchar
100
所在城市
Headimage
nvarchar
100
头像
Signname
nvarchar
200
个性签名
2.板块信息表(LunTanInfor)
版块信息表中存放了所有版块的信息。
其中,Beg和End字段和动态生成的主题信息表和回复信息表的名字的定义有关,它们使得版块信息表中的每一条记录和唯一的一对主题信息表和回复信息表关联起来,表中各个字段的数据类型、大小以及简短的描述如下表:
字段名
数据类型
大小
字段描述
Id
Int
4
ID,主键
Beg
Int
4
开始值
EEnd
Int
4
结束值
Topictotal
Int
4
主题数
Topicname
nvarchar
50
主题名称
Replytotal
Int
4
回复数
Toastmaster
nvarchar
50
版主
TopicDes
nvarchar
50
主题
Notice
nvarchar
200
描述
Flag
nvarchar
50
标记Logo
Des
nvarchar
100
信息
3.主题信息表(topic)
主题信息表是动态创建的,每当管理员创建一个版块,就会在数据库中生成一对相应的主题信息表和回复信息表,表中各个字段的数据类型、大小以及简短的描述如下:
字段名
数据类型
大小
字段描述
TopicID
Int
4
板块ID,唯一标示
Topic
nvarchar
200
板块信息
Body
ntext
16
主题
Lsbest
Int
4
是否精华帖子
Posttuser
nvarchar
20
发帖人
Lastreply
nvarchar
20
最后回复人
Lslocked
Int
4
是否锁定
Expression
nvarchar
50
表情
Deteandtime
Smalldatetime
4
发帖时间
4.回复信息表(Repiy)
回复信息表与主题信息表是成对存在的,用于存放回复信息,每创建一个主题信息表就会同时创建一个回复信息表,它的表名的结构和命名方式与主题表相同,表中各个字段的数据类型、大小以及简短的描述如下表:
字段名
数据类型
大小
字段描述
ID
Int
4
ID,作为主键
TopicID
Int
4
主题ID
Title
nvarchar
200
标题
Body
ntext
16
内容
Postuser
nvarchar
20
发帖人
expression
nvarchar
50
表情
dateandtime
Smalldatetime
4
发帖时间
3.2数据表关系图:
4.数据库实现
--创建数据库
createdatabaseLunTan
go
useLunTan
go
--创建用户信息表
createtableusers
(
Idintprimarykey,
UserNamenvarchar(50),
Passnvarchar(20),
Sexint,
Posnvarchar(50),
QQint,
mailnvarchar(50),
Locanvarchar(100),
HeadImgnvarchar(100),
Signsnvarchar(200)
)
go
--创建版块信息表
CreatetableLunTanInfo
(
Idintprimarykey,
Begint,
Endsint,
Topictotalint,
Topicnamenvarchar(50),
Replytotalint,
Toastmasternvarchar(50),
TopicDesnvarchar(50),
Noticenvarchar(200),
Flagnvarchar(50),
Desnvarchar(100)
)
go
--创建主题信息表
createtabletopic
(
TopicIDintprimarykey,
Topicnvarchar(200),
Bodyntext,
Lsbestint,
Postusernvarchar(20),
Lastreplynvarchar(20),
Lslockedint,
Expressionnvarchar(50),
DateantimeSmalldatetime
)
go
--创建回复信息表
createtablereply
(
IDintprimarykey,
TopicIDint,
Titlenvarchar(200),
Bodyntext,
Postusernvarchar(20),
expressionnvarchar(50),
dateandtimesmalldatetime
)
go
---------------------------------------------
---------------------------------------------
---------------------------------------------
--创建存储过程
--Adduer
useLunTan
go
createprocAdduser
(
@UserNamenvarchar(50),
@Passnvarchar(20),
@Sexint,
@Posnvarchar(50),
@QQint,
@mailnvarchar(50),
@Locanvarchar(100),
@HeadImgvarchar(100),
@Signsnvarchar(200),
@IDintoutput
)
as
insertintousers
(
UserName,
Pass,
Sex,
Pos,
QQ,
mail,
Loca,
HeadImg,
Signs
)
values
(
@UserName,
@Pass,
@Sex,
@Pos,
@QQ,
@mail,
@Loca,
@HeadImg,
@Signs
)
select@ID=@@identity
go
--LunTanInfo
createprocLunTanInfos
asselect*fromLunTanInfoorderbyBegasc
go
--UserLogin
createproccheckuser
(
@UserNamenvarchar(20),
@Passnvarchar(20)
)
as
selectUserName,Pass,Posfromuserswhere@UserName=UserNameand@Pass=Pass
go
--CheckUserName
createprocCheckUserName
(
@UserNamenvarchar(20)
)
as
select*fromuserswhere@UserName=UserName
go
--查看个人资料
createprocDisplayInfo
(
@UserNamenvarchar(20)
)
as
selectUserName,Pass,QQ,mail,loca,Signs,HeadImg,sexfromuserswhere@UserName=UserName
go
--修改个人资料
createprocUserInfoModify
(
@userNamenvarchar(50),
@Passnvarchar(20),
@Sexint,
@QQint,
@mailnvarchar(50),
@Locanvarchar(100),
@HeadImgvarchar(100),
@Signsnvarchar(200)
)
as
updateusersset
@userName=userName,
@Pass=Pass,
@Sex=Sex,
@QQ=QQ,
@mail=mail,
@Loca=Loca,
@HeadImg=HeadImg,
@Signs=Signs
whereUserName=@UserName
go
-------
-------
-------
--创建索引
useLunTan
go
createindexusers_index
onusers(
UserName,
Sex,
Pos,
QQ,
)
go
dropindexusers_indexonusers
-------
-------
-------
--创建触发器
createtriggertopic_trigger
onreplyforupdate
asifupdate(Topicid)
begin
updatereplysetTopicID=(selectTopicidfrominserted)
whereTopicid=(selectTopicidfromdeleted)
end
--------
--------
--------
--创建视图
useLunTan
go
createViewview1
as
selectUserName,QQ,Loca,Topic,Bodyfromusers,topic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 论坛 数据库 设计 说明书