




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武武汉汉理理工工大大学学华华夏夏学学院院 课课程程设设计计报报告告书书 课程名称 课程名称 数据库原理及应用 题题 目目 BBS 论坛数据库设计开发 系系 名 名 信息工程系 专业班级 专业班级 计应 2091 姓姓 名 名 孙梦柯 学学 号 号 10225509109 指导教师指导教师 刘春燕 20102010 年 7 7 月 1 1 日 课程设计任务书 学生姓名 孙梦柯 专业班级 计应 2091 指导教师 刘春燕 工作单位 信息工程系 设计题目 BBS 论坛数据库设计开发 要求完成的主要任务 包括课程设计工作量及其技术要求 以及说明书撰写等具体要求 1 创建数据库 BBS 数据表 并建立主外键 约束 建立表测试数据 2 创建视图 3 实现以下功能 1 简单查询 2 连接查询 3 嵌套查询 4 创建触发器 5 创建存储过程 设计报告撰写格式要求 设计报告撰写格式要求 1 明确课程设计的目的和重要性 认真领会课程设计的题目 读懂课程设计 指导书的要求 学会设计的基本方法与步骤 学会如何运用前修知识与收集 归 纳相关资料解决具体问题的方法 严格要求自己 要独立思考 按时 独立完成 课程设计任务 2 设计报告 要求层次清楚 整洁规范 不得相互抄袭 凡正文内容有整段 完全相同者一律以抄袭论处 设计报告正文字数不少于 0 2 万字 不包括附录 时间安排 时间安排 消化资料 系统调查 1 天 系统分析 总体设计 实施计划 撰写报告 3 天 演示 验收 1 天 指 导 教 师 签 字 2011 年 6 月 25 日 系 主 任 签 字 2011 年 6 月 26 日 目录目录 1 问题描述问题描述 4 1 11 1 背景背景 4 1 21 2 数据需求数据需求 4 方案图表设计方案图表设计 5 2 12 1 E R 图图 5 2 22 2 数据字典数据字典 7 2 42 4 关系图 关系图 8 3 数据库源代码数据库源代码 9 3 13 1 数据库建立数据库建立 9 3 23 2 数据初始化数据初始化 错误 未定义书签 4 结果数据处理结果数据处理 14 4 14 1 单表查询单表查询 14 4 24 2 要求数据查询要求数据查询 15 5 结束语结束语 25 1 问题描述问题描述 1 11 1 背景背景 随着 BBS 的出现 人们的交流有了新的变化 在 BBS 里 人们之间的交流打破了空间 时间 的限制 BBS 连人方便 可以通过 Internet 登录 也可以通过电话网拨号登录 BBS 站往往是 由一些有志于此道的爱好看建立 对所有人都免费开放 而且 由于 BBS 的参与人众多 因 此各方面的话题都不乏热心者 可以说 在 BBS 上可以找到任何你感兴趣的话题 1 21 2 数据需求数据需求 BBS 论坛数据库需要完成功能主要有 BBS 最主要的功能之一 包括各类的学术专题讨论区 疑难问题解答区和闲聊区等等 在 这些信件区中 上站的用户留下自己想要与别人交流的信件 如在各种软件硬件的使用 天文 医学 体育 游戏 等等方面的心得和经验 这是 BBS 一个令用户们心动的功能 一般的 BBS 站台中 大多设有交流用的文件 区 里面依照不同的主题分区存放了为数不少的软件 有的 BBS 站还设有 CD ROM 光碟区 使得电脑玩家们对这个眼前的宝库都趋之若鹜 众多的共享软 件和免费软件都可以通过 BBS 获取得到 不仅使用户得到合适的软件 也使软件 开 BBS 对国内 Shareware 共享软件 的发展将起到不可替代的推动作用 国内 BBS 主要提供的文件服务区主要有 BBS 建站 通信程序 网络工具 Internet 程 序 加解密工具 多媒体程序 电脑游戏 病毒防治 图象 创作发表和用户这 是 BBS 最基本的功能了 一些有心的站长会在自己的站台上摆出为数众多的信息 如怎样使用 BBS 国内 BBS 台站介绍 某些热门软件的介绍 BBS 用户统计资料 等 用户在生日时甚至会收到站长的一封热情洋溢的 贺电 令您感受到 BBBS 还会自动统计出热门话题排行榜 看看谁的文章受到的回应最多线的 BBS 可以与 其他同时上站的用户做到即时的联机交谈 这种功能也有许多变化 如 ICQ Chat NetMeeting 等 有的只能进行文字交谈 方案图表设计方案图表设计 2 1 1 用户 E R 图 用户 用户密码 用户 Email 用户生日 用户性别 用户等级 个人说明 用户积分 用户编号 用户姓名 用户状态 注册时间 图 2 1 用户 BBSUSER E R 图 2 1 2 主贴 E R 图 主贴 用户编号 回复次数 主帖表情 主帖标题 主帖内容 发帖时间 主帖编号 版块编号 最后点击时间 点击次数 图 2 2 用户 BBSTOPIC E R 图 2 1 3 板块 E R 图 板块 版块名称 版主编号 版块说明 版块点击次数 版块编号 版块主题数 图 2 3 用户 BBSSection E R 图 2 1 4 回帖 E R 图 回帖 回复版块编号 回复用户编号 回复表情 回帖主题 回帖内容 回帖时间 回复编号 回复帖子编号 回帖点击次数 图 2 4 用户 BBSREPLY E R 图 2 1 5 整体 E R 图 1 n 1 1 n n n n 1 1 n 1 用户 主贴 回帖 板块 发表 对应 发表 管理 包含 包含 图 2 5 整体 E R 图 2 22 2 数据字典数据字典 表 1 BBSUsers 用户信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 UIDIntnot null 主键主键 用户编号用户编号 UNamecharnot null用户姓名用户姓名 UPassword charnot null用户密码用户密码 UEmailcharnot null用户用户 Email UBirthdaydatetimenot null用户生日用户生日 USexbitnot null用户性别用户性别 UClass Intnot null用户等级用户等级 UStatementvarcharnot null用户个人说明用户个人说明 URegDate datetimenot null用户注册时间用户注册时间 UStatetinyintnot null用户状态用户状态 UPoint innot null用户积分用户积分 表 2 BBSTopic 主贴信息表格 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 TIDIntnot null 主键主键 主帖编号主帖编号 TSIDIntnot null主帖版块编号主帖版块编号 TuidIntnot null主帖用户编号主帖用户编号 TReplyCountIntnot null主帖回复次数主帖回复次数 TEmotion Char 10 not null主帖表情主帖表情 TTopic Varcharnot null主帖标题主帖标题 TContentsTextnot null主帖内容主帖内容 TTime Datetimenot null发帖时间发帖时间 TClickCount Intnot null主帖点击次数主帖点击次数 TLastClickTDatetimenot null主帖最后点击时间主帖最后点击时间 表 2 3 BBSSection 板块信息 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 sidIntNot null 主键主键 版块编号版块编号 SNamecharNot null版块名称版块名称 SMasterID IntNot null版主编号版主编号 SStatementVarcharNot null版块说明版块说明 SClickCountIntNot null版块点击次数版块点击次数 STopicCountintNot null版块主题数版块主题数 表 2 4 BBSReply 回帖信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 SIDIntNot null 主键主键 版块编号版块编号 SnameCharNot null版块名称版块名称 SMasterIDIntNot null版块编号版块编号 SStatementvarcharNot null板块说明板块说明 SClickCountIntNot null版块点击次数版块点击次数 STopicCountintNot null板块主题数板块主题数 2 42 4 关系图 关系图 图 6 数据库存表关系图 3 数据库源代码数据库源代码 3 13 1 数据库建立数据库建立 3 1 1 创建数据库创建数据库 建库 建表 添加约束建库 建表 添加约束 插入测试数据插入测试数据 存在检测存在检测 use master go if exists select from sysdatabases where name BBS drop database bbs go 建库建库 create database BBS on primary name BBS data 逻辑名逻辑名 filename d BBS data mdf 物理文件物理文件 size 20MB 初始大小初始大小 filegrowth 10 文件增长率文件增长率 maxsize 200MB 初始大小初始大小 log on name bbs log 逻辑名逻辑名 filename d bbs data ldf 物理文件物理文件 size 10mb 初始大小初始大小 filegrowth 10 文件增长率文件增长率 maxsize 100MB 最大尺寸最大尺寸 3 1 2 用户信息表建立用户信息表建立 use BBS go if exists select from sysobjects where name BBSUsers drop table BBSUsers go create table BBSUsers Uid int constraint pk Uid primary key 用户编号 Uname char 8 not null 用户姓名 UPassword char 16 constraint df UPassword default 888888 用户密码 UEmail char 20 not null constraint ck Uemail check Uemail like 用户 EMAIL UBirthday datetime not null 用户生日 Usex int constraint df Usex default 1 用户性别 UClass int constraint df UClass default 1 用户等级 UStatement varchar 150 not null 用户说明 URegDate datetime not null default getdate 用户注册时间 UState tinyint constraint df UState default 1 用户状态 UPoint int constraint df UPoint default 20 用户积分 constraint ck UPassword check UPassword like 3 1 3 创建主贴表创建主贴表 if exists select from sysobjects where name BBSTopic drop table BBSTopic go create table BBSTopic tid int constraint pk tid primary key 主贴编号 tsid int not null 主贴板块编号 tuid int not null 主贴用户编号 treplycount int not null 主贴回复次数 temotion char 10 not null 主贴表情 TTopic varchar 16 not null CONSTRAINT ck tt check TTopic not like 主贴标题 TContents text not null 主贴内容 TTime datetime not null default getdate 发帖时间 TClickCount int not null 点击次数 TLastClickT datetime not null CONSTRAINT CK TLC CHECK TLastClickT TTime 主贴最后点击时间 3 1 4 回复表建立回复表建立 if exists select from sysobjects where name BBSReply drop table BBSReply go create table BBSReply RID int constraint pk RID primary key 回复编号 RTID int 回复帖子编号 RSID int 回复版块编号 RUID int 回复用户编号 REmotion char 10 回复表情 RTopic varchar 20 回帖主题 RContents text 回帖内容 RTime datetime default getdate 回帖时间 RClickCount int 回帖点击次数 3 1 5 版块信息表建立版块信息表建立 if exists select from sysobjects where name BBSSection drop table BBSSection go create table BBSSection SID int constraint pk SID primary key 版块编号 SName char 10 版块名称 SMasterID int 版主编号 SStatement varchar 80 版块说明 SClickCount int constraint df SClickCount default 0 版块点击次数 STopicCount int constraint df STopicCount default 0 版块主题数 3 1 6 表之间的约束与联系表之间的约束与联系 alter table BBSTopic add constraint fk1 BBSTopic BBSUsers foreign key tuid references BBSUsers Uid 一个用一个用 户可以发表多篇主帖内容户可以发表多篇主帖内容 alter table BBSReply add constraint fk1 BBSReply BBSTopic foreign key RTID references BBSTopic TID 一一 篇主帖能够对应多条回帖篇主帖能够对应多条回帖 alter table BBSReply add constraint fk1 BBSReply BBSUsers foreign key RUID references BBSUsers UID 一一 个用户可以发表多条回帖内容个用户可以发表多条回帖内容 alter table BBSTopic add constraint fk1 BBSTopic BBSSection foreign key tsid references BBSSection Sid 一一 个版块可以包含多篇主帖个版块可以包含多篇主帖 alter table BBSReply add constraint fk1 BBSReply BBSSection foreign key RSID references BBSSection Sid 一一 个版块可以包含多篇回帖个版块可以包含多篇回帖 alter table BBSSection add constraint fk1 BBSSection BBSUsers foreign key SMasterID references BBSUsers Uid 一个用户可以管理多个版块一个用户可以管理多个版块 3 2 1 将数据加入表将数据加入表 BBSUSERS 中中 插入数据插入数据 insert into BBSUsers uid uname upassword uemail UBirthday USex UClass UStatement URegDate UState UPoint values 1001 张龙张龙 123456 1990 1990 12 12 1 ANGEL 2010 5 7 2 insert into BBSUsers uid uname upassword uemail UBirthday USex UClass UStatement URegDate UState UPoint values 1002 妄想者妄想者 654321 1965 1980 7 1 2 ANGEL 2011 4 7 2 4 insert into BBSUsers uid uname upassword uemail UBirthday USex UClass UStatement URegDate UState UPoint values 1003 刺客刺客 158664 conao 1997 1 03 2 ANGEL 2009 5 7 2 3 insert into BBSUsers uid uname upassword uemail UBirthday USex UClass UStatement URegDate UState UPoint values 1004 毁灭毁灭 175175 death 1992 1 4 1 ANGEL 2008 5 4 2 2 insert into BBSUsers uid uname upassword uemail UBirthday USex UClass UStatement URegDate UState UPoint values 1005 魔女魔女 198755 sgg 1994 1 4 1 ANGEL 2000 12 12 1 100 insert into BBSUsers uid uname upassword uemail UBirthday USex UClass UStatement URegDate UState UPoint values 1006 魔王魔王 192445 dsfg 1994 12 14 2 fdfs 2000 12 12 1 97 3 2 2 将已有版块数据加入将已有版块数据加入 BBSSection 表中表中 Section insert into BBSSection SID SName SMasterID SStatement SClickCount STopicCount values 01 灌水懒 1006 说废话的地方 5 5 insert into BBSSection SID SName SMasterID SStatement SClickCount STopicCount values 02 游戏厅 1005 说游戏的地方 4 5 3 2 3 将已有帖子信息加入将已有帖子信息加入 BBSTOPIC 表中表中 topic insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2001 01 1006 1 我是魔王 DEVIL MAY CRY 2011 1 10 5 2011 6 24 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2002 01 1006 0 灌水来着 DEVIL MAY CRY 2011 4 10 4 2011 6 28 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2003 01 1006 1 灌水来着 1 DEVIL MAY CRY 2011 1 10 3 2011 6 27 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2004 01 1006 0 灌水来着 2 DEVIL MAY CRY 2011 1 10 2 2011 6 26 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2005 01 1006 1 灌水来着 3 DEVIL MAY CRY 2011 4 10 1 2011 6 24 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2011 02 1001 1 求助 请问 2011 1 11 6 2011 6 29 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2012 02 1002 0 讨论 DN 好玩不 2011 1 11 7 2011 6 23 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2013 02 1003 0 研究 那个 2011 2 11 8 2011 6 23 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2014 02 1004 0 我是打酱油的 就是这样 2011 1 21 1 2011 6 11 3 2 4 将已有的回帖信息加入 BBSreply 表中 reply insert into BBSReply RID RTID RSID RUID REmotion RTopic RContents RTime RClickCount values 9001 2001 01 1004 这样的 如此如此 这般这般 2011 6 24 1 insert into BBSReply RID RTID RSID RUID REmotion RTopic RContents RTime RClickCount values 9002 2011 02 1002 这样的 如此如此 这般这般 2011 6 29 1 insert into BBSReply RID RTID RSID RUID REmotion RTopic RContents RTime RClickCount values 9003 2003 01 1005 这样的 如此如此 这般这般 2011 6 27 1 insert into BBSReply RID RTID RSID RUID REmotion RTopic RContents RTime RClickCount values 9004 2005 01 1005 这样的 如此如此 这般这般 2011 6 24 1 4 结果数据处理结果数据处理 4 14 1 单表查询单表查询 4 1 1 表表 BBSUSER 中查询演示中查询演示 BBSUSER 图 1 表 BBSUSER 中内容 4 1 2 表表 BBSSECTION 中查询演示中查询演示 图 2 表 BBSSECTION 中内容 4 1 3 表表 BBSTOPIC 中查询演示中查询演示 图 3 表 BBSTOPIC 中内容 4 1 4 表表 BBSTOPIC 中查询演示中查询演示 图 4 表 BBSTOPIC 中内容 4 1 5 元老查询演示元老查询演示 图 5 元老查询 SQL 语句语句 查询元老查询元老 select uname as 姓名姓名 Uemail as 电子邮件电子邮件 UregDate as 注册日期注册日期 from bbsUsers where datediff yyyy uregdate getdate 2 dateadd yyyy 2 uregdate 2 dateadd yyyy 2 uregdate getdate order by UPoint desc 4 18 查询所有在线用户和禁言用户查询所有在线用户和禁言用户 图 4 8 在线与禁言用户 SQL 语句语句 为了方便查询 修改数据为了方便查询 修改数据 update bbsUsers set UState 3 where uid 1004 查询所有在线用户和禁言用户查询所有在线用户和禁言用户 select from bbsUsers where UState 1 or UState 3 4 9 按回帖时间的降序显示所有回帖标题与回帖时间按回帖时间的降序显示所有回帖标题与回帖时间 图 4 9 按回帖时间的降序显示所有回帖标题与回帖时间 SQL 语句语句 select RTopic as 回帖标题回帖标题 RTime as 回帖时间回帖时间 from bbsreply order by RTime desc 4 10 列出 BBSTopic 表中点击次数最高的前 5 名帖子 图 4 10 列出 BBSTopic 表中点击次数最高的前 5 名帖子 SQL 语句语句 select top 5 TTopic as 主题标题主题标题 TClickCount as 主贴点击次数主贴点击次数 from bbstopic order by TClickCount desc 4 11 近一周发帖最多的两名近一周发帖最多的两名 图 4 11 近一周发帖最多的两名 SQL 语句语句 因为数据原因无法显示 先进行数据修改因为数据原因无法显示 先进行数据修改 update bbstopic set ttime 2011 6 27 where tid 2002 update bbstopic set ttime 2011 6 26 where tid 2003 update bbstopic set ttime 2011 6 28 where tid 2011 update bbstopic set TLastClickT 2011 6 30 where tid 2012 update bbstopic set ttime 2011 6 24 where tid 2012 近一周用户发帖排名近一周用户发帖排名 根据系统日期向前推根据系统日期向前推 7 天天 之内的发帖数排名前之内的发帖数排名前 2 名名 显示中文列名显示中文列名 select top 2 tuid as 用户用户 ID count as 发帖数发帖数 from bbstopic where datediff dd ttime getdate 7 group by tuid 4 12 查询用户所发帖子的最高和最低回帖数查询用户所发帖子的最高和最低回帖数 图 4 12 查询用户所发帖子的最高和最低回帖数 SQL 语句语句 select tuid as 用户用户 ID max TReplyCount 最多回帖数最多回帖数 min TReplyCount as 最低回帖数最低回帖数 from bbstopic group by tuid 4 13 提升积分与等级评价提升积分与等级评价 图 4 13 提升积分与等级评价 SQL 语句语句 begin T SQL 编程编程 declare minPoint int 定义变量 表示元老最低积分定义变量 表示元老最低积分 查询所有元老用户的最低积分查询所有元老用户的最低积分 并赋值给并赋值给 minPoint select minPoint min upoint from bbsUsers where dateadd yyyy 2 uregdate getdate 提分操作提分操作 while minPoint 100 begin update bbsUsers set Upoint Upoint 2 where dateadd yyyy 2 uregdate getdate and Upoint 198 select minPoint min Upoint from bbsUSers where dateadd yyyy 2 uregdate 1000 then A when upoint 500 then B when upoint 200 then C when upoint 100 then D else E end from bbsUsers end go 4 14 创建存储过程创建存储过程 图 4 14 创建存储过程 SQL 语句语句 定义游标定义游标 declare cur bbs cursor for select uid uname upoint from bbsUSers 定义局部变量定义局部变量 declare uid int uname char 20 upoint int open cur bbs 打开游标打开游标 fetch cur bbs into uid uname upoint 第一次提取游标第一次提取游标 while fetch status 0 判断上一次判断上一次 fetch 操作是否提取到数据操作是否提取到数据 begin print convert varchar 10 uid uname convert varchar 10 upoint fetch next from cur bbs into uid uname upoint 再次提取游标中的下一条记录再次提取游标中的下一条记录 end close cur bbs 关闭游标关闭游标 deallocate cur bbs 删除游标删除游标 便于下次再次创建便于下次再次创建 go select from bbsSection 创建存储过程创建存储过程 存在检测存在检测 if exists select from sysobjects where name proc bbs and type P drop procedure proc bbs go 创建创建 create procedure proc bbs 定义过程使用的参数定义过程使用的参数 masterID int 输入型参数输入型参数 as begin declare bbs cur cursor for select t1 sname 版块名版块名 t2 uname 版主名版主名 t2 upoint 版主积分版主积分 from bbsSection t1 bbsUsers t2 where t1 smasterID t2 uid and t1 sMasterID masterID 参数参数 declare sname varchar 10 uname varchar 10 upoint int 定义游标需要使用的局定义游标需要使用的局 部变量部变量 open bbs cur 打开打开 fetch bbs cur into sname uname upoint print 版主对应版块名称与积分信息如下 版主对应版块名称与积分信息如下 while fetch status 0 begin print sname uname convert varchar 10 upoint fetch next from bbs cur into sname uname upoint end close bbs cur 关闭关闭 deallocate bbs cur 清除游标清除游标 end go 查看服务器中的存储过程的源代码查看服务器中的存储过程的源代码 exec sp helptext proc bbs 测试存储过程测试存储过程 exec proc bbs 2 执行过程执行过程 exec sp stored procedures use master go exec xp cmdshell md d my data 4 15 1 1 触发器触发器 01 图 4 15 1 1 发帖触发器 SQL 语句语句 存在检测存在检测 if exists select from sysobjects where name insert topic tri and type tr drop trigger insert topic tri go 创建创建 create trigger insert topic tri on bbsTopic for insert 指定了触发对象与触发事件指定了触发对象与触发事件 as begin declare uid int sid int 定义局部变量 分别表示发帖用户定义局部变量 分别表示发帖用户 ID 和发的主帖对应的版块和发的主帖对应的版块 ID select uid TUID sid TSID from inserted 更新用户表更新用户表 BBSUsers 和版块表和版块表 BBSSection update bbsUsers set Upoint Upoint 10 where uid uid update bbsSection set STopicCount STopicCount 1 where sid sid print 用户发帖完成 相应的用户积分已增加 版块帖数已更新 用户发帖完成 相应的用户积分已增加 版块帖数已更新 end go 测试触发器测试触发器 insert into BBSTopic tid TSID TUID TReplyCount TEmotion TTopic TContents TTime TClickCount TLastClickT values 2008 01 1006 0 测试下测试下 测试触发器测试触发器 1 getdate 1 getdate select from bbsUSers 触发器触发器 1 2 图 4 15 1 2 发帖触发器 SQL 语句语句 select from bbsSection 触发器 2 1 图 4 15 2 1 回帖触发器 SQL 语句语句 存在检测存在检测 if exists select from sysobjects where name insert topic tri and type tr drop trigger insert topic tri go 创建创建 create trigger insert topic tri on BBSReply for insert 指定了触发对象与触发事件指定了触发对象与触发事件 as begin declare uid int sid int tid int 定义局部变量 分别表示发帖用户定义局部变量 分别表示发帖用户 ID 和发的主和发的主 帖对应的版块帖对应的版块 ID select uid RUID sid RSID tid RTiD from inserted 更新用户表更新用户表 BBSUsers 和版块表和版块表 BBSSection 和主贴表和主贴表 BBSTopic update bbsUsers set Upoint Upoint 1 where uid uid update BBSTopic set TReplyCount TReplyCount 1 where tid tid update bbsSection set STopicCount STopicCount 1 where sid sid print 用户回复完成 相应的用户积分已增加 版块帖数主贴回复数已更新 用户回复完成 相应的用户积分已增加 版块帖数主贴回复数已更新 end go 触发器检测触发器检测 insert into BBSReply RID RTID RSID RUID REmotion RTopic RContents RTime RClickCount values 9005 2005 01 1005 这样的这样的 如此如此 这般这般如此如此 这般这般 getdate 1 select from bbsUSers 触发器 2 2 图 4 15 2 2 回帖触发器 SQL 语句语句 select from BBSTopic 触发器 2 3 图 4 15 2 3 回帖触发器 SQL 语句语句 select from bbsSection 触发器 3 1 图 4 15 3 1 删帖触发器 SQL 语句语句 存在检测存在检测 if exists select from sysobjects where name insert topic tri and type tr drop trigger insert topic tri go 创建创建 create trigger delete topic tri on bbsTopic for delete 指定了触发对象与触发事件指定了触发对象与触发事件 as begin declare uid int sid int 定义局部变量 分别表示发帖用户定义局部变量 分别表示发帖用户 ID 和发的主帖对应的版块和发的主帖对应的版块 ID select uid TUID sid TSID from inserted 更新用户表更新用户表 BBSUsers 和版块表和版块表 BBSSection update bbsUsers set Upoint Upoint 10 where uid uid update bbsSection set STopicCount STopicCount 1 where sid sid print 用户删帖完成 相应的用户积分已减去 版块帖数已更新 用户删帖完成 相应的用户积分已减去 版块帖数已更新 end go 检测触发器检测触发器 delete from bbstopic where tid 2002 select from bbsUsers 触发器 3 2 图 4 15 3 2 删帖触发器 SQL 语句语句 select from bbsSection 触发器 4 1 图 4 15 4 1 删回帖触发器 SQL 语句语句 存在检测存在检测 if exists select from sysobjects where name insert topic tri and type tr drop trigger insert topic tri go 创建创建 create trigger insert topic tri on BBSReply for delete 指定了触发对象与触发事件指定了触发对象与触发事件 as begin declare uid int sid int tid int 定义局部变量 分别表示删除用户定义局部变量 分别表示删除用户 ID 和发的删除对和发的删除对 应的版块应的版块 ID 和对应的删除的主贴和对应的删除的主贴 ID select uid RUID sid RSID tid RTiD from inserted 更新用户表更新用户表 BBSUsers 和版块表和版块表 BBSSection 和主贴表和主贴表 BBSTopic update bbsUsers set Upoint Upoint 1 where uid uid update BBSTopic set TReplyCount TReplyCount 1 where tid tid update bbsSection set STopicCount STopicCount 1 where sid sid print 用户回复删除完成 相应的用户积分已增加 版块帖数主贴回复数已更新 用户回复删除完成 相应的用户积分已增加 版块帖数主贴回复数已更新 end go 触发器检测触发器检测 delete from bbsreply where rid 9004 select from bbsUsers 触发器 4 2 图 4 15 4 2 删回帖触发器 SQL 语句语句 select from BBSTopic 触发器 4 3 图 4 15 4 3 删回帖触发器 SQL 语句语句 select from bbsSection 5 结束语结束语 这次设计中花了大量的时间投入 明白到了编程真的很难 但是 也一次成功放佛自己孩 子的出生一样的欣悦 感动 团队的合作也让我们紧密相连 我想 这不仅是一次试验的努力 也是一次团队的训练 BBS 虽然不再流行 但也是个开始 这次我们编写 BBS 下次我们会 编写个什么更好的东西呢 我觉得它就是创建一些表格 然后再用一些语句根据他们之间的关系 把它 们组合在一起 最基本的就是子查询经验就是先写出 select 我们要找什么 然后 写条件 我们要找的东西有什么条件 然后在写条件 我们的条件涉及那些表 那些字段 再在这些字段中通过我们学过的简单 select 语句选出来 有时候还要用 到几层子查询 不过无所谓 只要思路是清晰的就没什么问题了 设计过程中质疑 或答辩 记载 1 问 游标的作用是什么 答 可以对多行数据进行集中处理 2 当需要重新插入数据时发现重复了 此时应进行什么操作 答 方法有 2 1 将原数据用检测命令删除 再插入 2 插入的数据进行修改 把主键或者约束不能一样的键进行修改 便可以插入 指导教师评语 签名 11 年 6 月 25 日 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年员工安全知识测试题库及答案
- 花圃拆除施工方案模板(3篇)
- 2025年检验师面试题库及解析版
- 2025年土地整治项目管理员中级考试备考资料及高频题库
- 2025年电网计算机笔试高频题解析
- 2025年经典旅游案例教学及竞赛模拟题库
- 2025年建筑水电安装工程师执业资格考试试题及答案解析
- 2025年机关幼儿园招聘面试预测题
- 2025年会展策划专家资格考试试题及答案解析
- 2025年化工工程师职业能力评估试题及答案解析
- 设备搬迁调试协议合同书
- 中证信息技术笔试题库
- 监护学徒协议书范本
- 办公楼维修改造施工方案
- 集团海外业务管理手册(专业完整格式模板)
- 高危儿培训计划和方案
- 2025年公文写作基础知识竞赛试题库及答案(共120题)
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套)
- 路灯CJJ检验批范表
- 肛肠科年度汇报总结
- 鸡蛋合作合同范本
评论
0/150
提交评论