资源描述:
《bbs数据库设计阶段4》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、BBS数据库设计阶段41.上机目标:利用子查询语句,完成论坛的年度评估。最后综合T-SQL应用,实现论坛的发贴、回贴及删贴。·使用子查询IN/EXISTS实现论坛的年度评选·T-SQL语句的综合应用实现论坛的发贴、回贴和删贴2.训练技能点·会使用子查询IN/EXISTS·T-SQL语句的综合应用3.上机步骤:(1)使用T-SQL语句实现论坛年度评估:·论坛人气评估:论坛总点击率>1000,为“人气熊旺旺”;否则就为“一般般”·年度品牌版块:主贴量最多的版块。·年度倒胃版块:主贴量最少的版块。·年度回贴人气最旺奖:回贴的点击率排名前2名。·年度业绩最差版主:版块点击率低于500或主贴量等于0。
2、品牌版块年度倒胃版块年度回贴人气最旺会员年度业绩最差版主参考代码:USEbbsDBGOSETNOCOUNTONprint'--->>>>>>>>>>>>各位大虾注意了,本论坛即将发布年度无记名评奖<<<<<<<<<<<<<<<<<<<<--'--评估总体人气:如果论坛总点击率>1000,人气较旺IF(SELECTSUM(SclickCount)FROMbbsSection)>1000print'论坛人气年度评估:熊旺旺,大家辛苦了!'ELSEprint'论坛人气年度评估:一般般,大家加油啊!'--评选品牌版块和倒胃版块:根据主帖数量评估print'年度品牌版块:'SELECT版块名称=Sna
3、me,主帖数量=StopicCount,简介=SprofileFROMbbsSectionWHEREStopicCount=(SELECTMAX(StopicCount)FROMbbsSection)print'年度倒胃版块:'SELECT版块名称=Sname,主帖数量=StopicCount,简介=SprofileFROMbbsSectionWHEREStopicCount=(SELECTMIN(StopicCount)FROMbbsSection)--评选回贴人气最旺的前两名作者print'年度回贴人气最IN的前两名获奖作者:'SELECT大名=Uname,星级=UclassFROMbb
4、sUsersWHEREUIDIN(SELECTTOP2TuIDFROMbbsTopicORDERBYTclickCountDESC)--评选最差版主:如果存在发帖量为的板块,列出对应的版块和版主信息IFEXISTS(SELECT*FROMbbsSectionWHEREStopicCount=0ORSclickCount<=500)BEGINprint'请下列版块的斑竹加加油哦!'SELECT版块名称=Sname,主帖数量=StopicCount,点击率=SclickCountFROMbbsSectionWHEREStopicCount=0ORSclickCount<=500ENDGO(2)假
5、定心酸果冻在“.NET技术”版块发主贴。怯怯的问:“什么是.NET啊?”贴的内容为“我靠!微软的.NET广告超过半个北京城啊。”要求使用T-SQL实现以下业务规则。·用户发主贴后,需要更新相应版块(.NET技术版块)的主贴数,主贴数+1·用户发主贴后,酌情加分:如果主贴是新题(别人没提及过),加100分,否则加50分·用户积分添加后,更新用户的相应等级·在论坛上发布用户(心酸果冻)的新贴·所有用户的等级重新排名心酸果冻的新贴心酸果冻发贴后新的等级排名提示1:提示2:单击菜单“工具”/”选项”命令,选择查询结果,将显示结果的默认方式选择为“以网格显示结果”,执行后的输出结果如上图所示。参考代码
6、:/*--发主贴:心酸果冻在.Net技术版块发贴:怯怯的问:什么是.Net啊?微软的.Net广告超过半个北京城啊。。。--*/DECLARE@userIDvarchar(10),@sIDINT--定义变量存放用户编号和版块编号SELECT@userID=UIDFROMbbsUsersWHEREUname='心酸果冻'--获取心酸果冻的用户编号SELECT@sID=SIDFROMbbsSectionWHERESnameLIKE'%.Net技术%'----获取.Net版块的编号--插入主贴表INSERTINTObbsTopic(TsID,TuID,Tface,Ttopic,Tcontents)V
7、ALUES(@sID,@userID,3,'什么是.Net啊?','微软的.Net广告超过半个北京城啊。。。)--更新版块表:.Net技术版块主贴数+1UPDATEbbsSectionSETStopicCount=StopicCount+1WHERESID=@sID--更新用户的积分:如果是新主题,则积分增加,否则增加IFNOTEXISTS(SELECT*FROMbbsTopicWHERETtopicLIKE