(2) 显示精华贴的信息以及回贴详细信息。
假设论坛规定:回贴数最多的贴子称为第一精华贴。表情数字及对应的含义:
1为^(00)^猪头;2为*:0)小丑;3为[:|]机器人;4为{^0~0^}老人家;5为(:<)吹水大王。
print '第一精华贴的信息如下:'
select 发贴时间=Ttime, 点击率=TclickCount, 作者=Uname, 主题=Ttopic, 内容=Tcontents
from bbsTopic inner join bbsUsers on TuID=UID where TreplyCount=(select max(TreplyCount) from bbsTopic)
print ''
print '回帖数:'+ +'贴: 如下所示:'
select 回帖数=Rtime,点击率=RclickCount,回帖表情=
case
when Rface=1 then '^(00)^猪头'
when Rface=2 then '*:0)小丑'
when Rface=3 then '[:|]机器人'
when Rface=4 then '{^0~0^}老人家'
when Rface=5 then '(:<)吹水大王'
end
,回帖内容=Rcontents from bbsReply如图4
(2) 实现论坛的年度评估。
1)论坛人气评估:论坛总点击率〉1000,为“人气熊旺旺”;否则就为“一般般”。
2)年度回贴人气最旺奖:回贴的点击率排名前2名。
年度业绩最差版主:版主点击率低于500或主贴量等于0 。
use bbsDB
go
set nocount on
print’-->>各位大虾注意了,本论坛即将发布年度无记名评奖<<--‘
if (select sum(SclickCount) from bbsSection)>1000
print’论坛人气年度评估:熊旺旺,大家辛苦了!‘
else
print’ 论坛人气年度评估:一般般,大家加油啊!‘
print’年度回贴人气最旺的前两名‘
select 大名=Uname,星级=Uclass from bbsUsers
where UID in (select TOP 2 TuID from bbsTopic order by TclickCount DESC)
print’ 年度业绩最差版主’
if exists (select* from bbsSection where StopicCount=0 or SclickCount<=500)
begin
print’请下列版块的版主加加油哦!‘
select 版块名称=Sname,主贴数量=StopicCount,点击率=SclickCount from
bbsSection
where StopicCount=0 or SclickCount<=500
end
4.设计体会
这个设计都覆盖了insert,update,if语句,日期函数,子查询,优化查询,创建视图等技能点。
课程设计是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程.此次课程设计,我学到很多很多的的东西,不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
5.参考文献
[1] 陈伟.SQL Server 2005数据库应用与开发教程[M].2007, 9: 97-139
[2] 何文华,李萍.SQL Server2000[M]. 北京:电子工业出版社,2004,8:2-122
[3] 王珊,萨师煊.数据库系统概论[M]. 北京: 高等教育出版社,2006,5:1-224