欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    BBS论坛项目需求文档.docx

    • 资源ID:58081610       资源大小:40.29KB        全文页数:11页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    BBS论坛项目需求文档.docx

    BBS项目需求文档(第三阶段)【 存储过程 、触发器 】需求10:/* 为了维护论坛环境的"空气清新",斑竹会定期检查帖子或核实网友对某个帖子的投诉,然后删除不合法的发帖*/- 删除帖子- 主题:什么是?- 内容:我靠!微软的广告超过了半个北京城啊.请使用T-SQL语句实现以下规则:· 被删帖的贴住(心酸果冻) 积分减去100分· 跟(回)贴的贴主减去50分(回帖者没检举,涉嫌包庇并支持 “犯罪” ,所以减分)。· 帖子所在版块的主贴量 1· 视情节轻重给予贴主(心酸果冻)警告: 如果回帖量 > 10 负面影响较大 给予严重警告; 否则给予一般警告。· 删掉主贴和跟帖(由于约束的限制,需要先删除跟帖,再删除主贴)· 所有用户重新排名如图所示:参考代码:ssselect * from bbsTopicselect * from bbsUsersselect * from bbsReplyselect * from bbsSectiondeclare tid intdeclare uidt intselect tid=TID,uidt=TUID from bbsTopic where TTopic like '%什么是啊%'-帖主分数-100update bbsUsers set Upoint=Upoint-100-跟贴的帖主分数-50update bbsUsers set Upointdelete from bbsTopic where TID=tidselect * from bbsReply where RTID=1需求12: 存储过程目标:· 使用存储过程实现:· 查看某个用的发帖和回帖情况· 获取用的发帖数和回帖数情况· 查看指定帖子的回帖数量前一阶段使用事物模拟银行的转账、取款和存款业务 并使用视图和索引,方便BBS的论坛排名 论坛管理中 经常需要评选奖项或调查某个用发表的言论。本阶段将使用存储过程 简化这些常规的管理操作 :诸如查询某个用的发帖情况 查询某个帖子的回帖情况等。调用存储过程查看用户表(bbsUsers)的相关信息。分析:查看表的约束、索引等 可调用相关的系统存储过程; 创建文件夹 并查看某个文件夹下的文件 ,可调用xp_cmdshell扩展存储过程 。参考代码:use bbsDBgoexec sp_helpconstraint bbsUsers        -查看表bbsUsers的约束exec sp_helpindex bbsUsers        -查看表bbsUsers的索引gouse mastergoexec xp_cmdshell 'mkdir e: est',no_output    -在e:下创建文件夹testexec xp_cmdshell 'dir e:'            -查看文件夹需求13: 创建带参数的存储过程在进行论坛的奖项评选或调查某个用户发表的言论情况,都需要经常查找用户的发帖情况(发主贴和回帖)。 请编写存储过程proc_find1,实现查找某个用户(假定为可卡因)的发帖情况。如图所示:分析:查询某个用的发帖情况 显然在创建春错过程是 需要将用户作为输入参数 ,调用时指定具体的用户。参考代码/*13创建带参数的存储过程*/-编写存储过程proc_find1,实现查找某个用户的发贴情况use bbsDBgoif exists(select * from sysobjects where name='proc_find1')    drop procedure proc_find1gocreate procedure proc_find1    userName varchar(10)    -输入参数用户名    as        set nocount on        -获取用户对应的用户编号UID        declare userID varchar(10)        select userID=UID from bbsUsers where Uname=userName        -如果在主帖表中存在该用户发表的主帖        if exists(select * from bbsTopic where TuID=userID)            begin                print userName+'发表的主帖如下:'                select 发贴时间=convert(varchar(10),TTime,111),点击率=TClickCount,                    主题=TTopic,内容=Tcontents from bbsTopic where TUID=userID            end        else            print userName+'没有发表过主帖'        if exists(select * from bbsReply where RUID=userID)            begin                print userName+'发表的回帖如下:'                select 发帖时间=convert(varchar(10),RTime,111),点击率=RClickCount,                    回帖内容=Rcontents from bbsReply where RUID=userID            end        else            print userName+'没有发表过回帖'go/*调用存储过程*/exec proc_find1 '心酸果冻'需求14 /*创建带返回值的存储过程*/-编写存储过程proc_find2,查找某个用户的发贴情况,并返回发贴数和回帖数 如图所示:分析:本例需要返回发帖数和回帖数,所以应在存储过程proc_find1的基础上,添加两个输出参数 其关键字为OUTPUT 在上例的未尾,复制proc_find1的语句 然后再做部分修改即可。参考代码:/*14-.带返回值的存储过程-*/ IF EXISTS (SELECT * FROM sysobjects WHERE name = 'proc_find2' ) DROP PROCEDURE proc_find2GOCREATE PROCEDURE proc_find2 userName varchar(10), sumTopic INT OUTPUT, sumReply INT OUTPUT AS SET NOCOUNT ON DECLARE userID varchar(10) SELECT userID=UID FROM bbsUsers WHERE Uname=userName -获取心酸果冻的用户编号 IF EXISTS(SELECT * FROM bbsTopic WHERE TuID=userID) BEGIN SELECT sumTopic=count(*) FROM bbsTopic WHERE TuID=userID print userName+'发表的主贴如下:' SELECT 发贴时间=convert(varchar(10),Ttime,111),点击率=TclickCount, 主题=Ttopic,内容=Tcontents FROM bbsTopic WHERE TuID=userID END ELSE BEGIN SET sumTopic=0 print userName+'没有发表过主贴。' END IF EXISTS(SELECT * FROM bbsReply WHERE RuID=userID) BEGIN SELECT sumReply=count(*) FROM bbsReply WHERE RuID=userID print userName+'发表的回贴如下:' SELECT 回贴时间=convert(varchar(10),Rtime,111),点击率=RclickCount, 回贴内容=Rcontents FROM bbsReply WHERE RuID=userID END ELSE BEGIN SET sumReply=0 print userName+'没有发表过回贴。' ENDGODECLARE sum1 INT ,sum2 INTEXEC proc_find2 '可卡因',sum1 OUTPUT,sum2 OUTPUTIF sum1>=sum2 print '小弟发贴较多,看来比较喜欢打抱不平!'ELSE print '小弟回帖较多,看来比较关心民众疾苦!'print '总贴数: '+convert(varchar(5),sum1+sum2 )GO需求15 使用触发器上一阶段我们提起过,为了维护论坛环境的 “空气清新” 版主会定期检查帖子或何时网友对某个帖子的投诉 然后删除不合法的贴贴。 例如删除心酸果冻的主贴。主题: 设么是啊? 内容:我靠!微软的广告查过半个北京城啊。· 请使用T-SQL 语句实现以下业务规则。· 被删帖的贴主(心酸果冻)积分减去100分· 回帖的贴主减去50分(回帖者没检举,涉嫌包庇并支持“犯罪”,所以减分)。· 删除跟帖如图所示:分析:删除主贴引发一两串的动作 ,所以采用触发器比较合适。删除的数据可以从deleted表中查找 。参考代码:USE bbsDBGOEXEC sp_helpconstraint bbsReply -请查看回帖表外键约束的名称,修改下列约束名称ALTER TABLE BBSReply DROP CONSTRAINT FK_BBSReply_BBSTopic -删除外键约束IF EXISTS (SELECT name FROM sysobjects WHERE name = 'trig_delete_bbsTopic') DROP TRIGGER trig_delete_bbsTopicGO-使用删除触发器实现删贴功能,删除与回帖表之间的外键约束CREATE TRIGGER trig_delete_bbsTopic ON bbsTopic FOR DELETE AS SET NOCOUNT ON DECLARE userID INT,topicID INT,secID INT SELECT userID=TuID,topicID=TID,secID=TsID FROM deleted -贴主减去分 UPDATE bbsUsers SET Upoint=Upoint-100 WHERE UID=userID -跟贴者纵容并支持犯罪,减去分 UPDATE bbsUsers SET Upoint=Upoint-50 FROM bbsUsers INNER JOIN bbsReply ON bbsUsers.UID=bbsReply.RuID WHERE bbsReply.RtID=topicID -删掉跟贴 DELETE FROM bbsReply WHERE RtID=topicIDGO SET NOCOUNT ON-插入测试数据DECLARE topicID INTINSERT INTO bbsTopic (TsID,TuID,Tface,Ttopic,Tcontents,Tstate) VALUES(2,3,3,'什么是啊?','我靠,微软的广告超过半个北京城啊。',1)SET topicID=IDENTITY INSERT INTO bbsReply (RtID,RsID,RuID,Rface,Rcontents) VALUES(topicID,2,4,3,'跨语言开发哈.')INSERT INTO bbsReply (RtID,RsID,RuID,Rface,Rcontents) VALUES(topicID,2,5,5,'现在牛啊发布了.')GOprint '>>>>>>>>>>>>>>>>删贴前<<<<<<<<<<<<<<<<<<<<<<<<<<'SELECT 昵称=Uname,贴主ID=UID,等级=Uclass,积分=Upoint FROM bbsUsersSELECT 贴主ID=TuID,主题=Ttopic,内容=Tcontents FROM bbsTopicSELECT 回帖人ID=RuID,回贴内容=Rcontents FROM bbsReplyDELETE bbsTopic WHERE Ttopic LIKE '%什么是%' print '>>>>>>>>>>>>>>>>删贴后<<<<<<<<<<<<<<<<<<<<<<<<<<'SELECT 昵称=Uname,贴主ID=UID,等级=Uclass,积分=Upoint FROM bbsUsersSELECT 贴主ID=TuID,主题=Ttopic,内容=Tcontents FROM bbsTopicSELECT 回帖人ID=RuID,回贴内容=Rcontents FROM bbsReply【 SQL Server项目实战:BBS论坛- 完毕 】项目实战(SQL Server)BBS论坛(第三阶段)第 11 页

    注意事项

    本文(BBS论坛项目需求文档.docx)为本站会员(美****子)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开