欢迎来到天天文库
浏览记录
ID:40707420
大小:100.50 KB
页数:5页
时间:2019-08-06
《BBS论坛数据库设计资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、BBS论坛数据库设计一、需求分析BBS论坛是一个WEB系统,可以为大家提供一个交流、互动的平台。经过分析,BBS论坛需要实现以下功能:(1)用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息;(2)用户发贴,后台数据库需要存放贴子相关信息,如贴子内容、标题等;(3)浏览、查找帖子,数据库需要实现查看和查找的功能。(4)论坛版块管理,后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等。二、系统设计根据BBS论坛的功能,设计的基本实体有BBSUser(用户)、BBSTopic(主贴)、BBSReply(
2、回贴)、BBSSection(版块)、。1、每个实体具有的属性(1)用户:用户昵称,密码,电子邮件,生日,性别,用户头像,用户等级,用户备注,注册日期,用户状态,用户积分,是否版主。(2)主贴:所属版块,发贴人,发贴表情,回复数量,标题,正文,发贴时间,点击数,状态,最后回复的用户,最后回复时间。(3)回贴:回复主贴ID,所在版块ID,回贴人ID,回贴表情,回复内容,回贴时间。(4)版块:版块ID,版块名称,版主,版块主题,本版格言,点击率,发贴数。2、各对象间的关系(1)跟贴和主贴有主从关系:我们需要在跟贴对象中表明
3、它是谁的跟贴。(2)版块和用户有关系:从用户对象中可以根据版块对象查出对应的版主用户的情况。(3)主贴和版块有主从关系:需要表明发贴是属于哪个版块的。(4)跟贴和版块有主从关系:需要表明跟贴是属于哪个版块的。3、E-R图BBSUsersUIDUnameUEmailUBirthedayUsexUStatementUclassURegDateUPointUState论坛用户(BBSUser)发表回帖(BBSReply)板块(BBSSection)主帖(BBSTopic)属于管理属于发表属于4、将E-R图转换为表(1)将各实
4、体转换为对应的表,将各属性转换为各表对应的列。(2)标识每个表的主键列。(3)在表之间建立主外键,体现实体之间的映射关系。BBSUser(用户)表字段名中文名类型能否为空备注UID用户IDint否主键、自定增长Uname用户昵称varchar否唯一值UPassword密码varchar否UEmail电子邮件varchar否UBirthady生日varcharUSex性别int否UHead用户头像varcharUSatement用户备注varcharURegDate注册日期datetime否UState用户状态intUP
5、oint用户积分intUIsSectioner是否版主int设定默认值,默认不是版主BBSSession(版块表)字段名中文名类型能否为空备注SID版块IDint否主键,自定增长SName版块名称varchar否唯一值SMasterID版主IDint否外键(引用用户表的UID)SProfile版块主题varcharSStatement本版留言varcharSTopicCount发贴数intSClickCoount点击率intBBSTopic(主贴表)字段名中文名类型能否为空备注TID发贴表IDint否主键自定增长TSI
6、D所在版块int否外键(引用版块表的SID)TUID发贴人int否外键(引用用户表的UID)TReplyCount回复数intTEmotion发贴表情varcharTTopic标题varchar否TContents正文varchar否TTime发贴时间datetime否TClickCoount点击率intTFlag状态intTLastReplyUseID最后回复用户ID外键(引用用户表的UID)TLastReplayTime最后回复时间datetimeBBSReply(跟贴表)字段名中文名类型能否为空备注RID跟贴表I
7、Dint否自定增长RTID回复主贴IDint否外键(引用发贴表的TID)RSID所在版块IDint否外键(引用版块表的SID)RUID发贴人IDvarchar否外键(引用用户表的UID)TEmotion发贴表情varcharRContent回贴内容varchar否RTime回贴时间datetime否三、数据库实施1、创建表(1)BBSUser(用户)表CREATE TABLEBBSUser( UIDINTNOT NULL PRIMARY KEY, UName VARCHAR(10) NOT NULLUNIQUE, UP
8、assword VARCHAR(20) NOT NULL, UEmailVARCHAR(20)NOTNULL,UBirthdayVARCHAR(20),USexINTNOT NULL ,UHeadVARCHAR(20),UStatementVARCHAR(20),URegDateDATEMENTNOTNULL,UStateINT,
此文档下载收益归作者所有