《北邮数据库_sql实验二报告.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《北邮数据库_sql实验二报告.doc》文档请在天天文库搜索。

1、实验二 SQL Server数据库设计高级内容一、使用查询分析器实现以下查询(1) 统计有学生选修的课程门数。 SELECT COUNT(DISTINCT CourseNo) CourseTotal FROM sc(2) 求选课在四门以上的学生所选课程的平均成绩(不统计不及格的课程)。最后按降序列出平均成绩名次名单来。 SELECT sno,AVG(score) avg_grade FROM sc WHERE score >= 60 GROUP BY sno HAVING count(courseno)>=4 ORDER BY avg_grade DESC(3) 统计每门指选课程的学生选修人数(超过10人的课程才统计),要求输出课程号,课程名和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 SELECT courseno,COUNT(sno) snum FR。

2、OM sc GROUP BY courseno HAVING COUNT(sno)>=10 ORDER BY COUNT(sno) DESC, courseno ASC(4) 检索所学课程包含了s3所选所有课程的学生姓名。 SELECT DISTINCT sno FROM sc sc_1 WHERE NOT EXISTS( SELECT * FROM sc sc_2 WHERE sno='' AND NOT EXISTS( SELECT * FROM sc sc_3 WHERE sc_3.sno = sc_1.sno AND sc_3.courseno = sc_2.courseno ) )注:上述查询中所用的课程号和学号的值,可以根据自己表中的数据作修改;为了验证查询的正确,可能还需要输入或修改表中的示例数据;二、 实现数据完整性(1) 定义check约束check约束用来限制用户。

3、输入的某一列数据;例如:成绩输入的值应该限制为0-100之间的数值 alter table sc add constraint ck_sc CHECK( score >= 0 AND score <= 100)删除约束 alter table sc drop constraint ck_sc(2) 定义规则(rule)rule也可以用来限制用户输入的数据,但它只定义一次,可以绑定到一列或多列;例如:创建一个规则,保证只允许输入指定的课程类别:“必修”,“任选”,“指选”,然后把此规则绑定到“课程类别”;创建规则 create rule coursetype as @coursetype in ("必修","任选","指选")绑定规则 sp_bindrule 'coursetype','Course.Category'解除绑定 sp_unbindrule 'Course.Cate。

4、gory'删除规则 drop rule coursetype(3) 创建以上约束后,练习修改约束的操作(包括增加,修改和删除以上约束);三、 在企业管理器中利用数据导入,导出向导练习数据的导入导出;把每个表中的数据导出到指定的文本文件中;导出的文件四、 在企业管理器中,练习数据库的完整性备份和恢复;备份文件;五、 存储过程和触发器的实现1. 存储过程(1)使用CREATE PROCEDURE命令创建存储过程例1:定义存储过程,实现学生学号,姓名,课程名和成绩的查询;CREATE PROC student_queryAS SELECT student.sno,sname,coursename,score FROM student,course,sc WHERE student.sno = sc.sno and course.courseno = sc.coursenoEXEC student。

5、_query例2:定义存储过程,实现按某人指定课程的成绩;CREATE PROC student_query1 @sname varchar(20), @cname varchar(30)AS SELECT student.sno,sname,coursename,score FROM student,course,sc WHERE student.sno = sc.sno AND course.courseno = sc.courseno AND sname = @sname AND coursename = @cnameexec student_query1 '李刚','数据库技术'例3:定义存储过程,在查询某人所选修的课程和成绩,指定姓名时,可以只给出姓;CREATE PROC student_query2 @sname varchar(20) = '%'AS SELECT stud。

6、ent.sno,sname,coursename,score FROM student,course,sc WHERE student.sno = sc.sno AND course.courseno = sc.courseno and sname LIKE @snameEXEC student_query2 '张%'例4:定义存储过程,计算并查看指定学生的总学分alter table course alter column Credits floatCREATE PROC student_query3 @sname varchar(20), @total integer OUTPUTAS SELECT @total = SUM(Credits) FROM student,course,sc WHERE student.sno = sc.sno AND course.courseno = 。

7、sc.courseno and sname = @snamedeclare @total floatexec student_query3 '李刚',@total OUTPUTselect @total TotalCredits(2)使用EXEC命令执行上述存储过程2.触发器(1)使用CREATE TRIGGER命令对学生选课信息表创建插入触发器,实现的功能是:当向学生选课信息表中插入一记录时,检查该记录的学号在学生表中是否存在,检查该记录的课程编号是否在课程表中存在,若有一项为否,则提示“违背数据的一致性”错误信息,并且不允许插入。CREATE TRIGGER check_ins ON [dbo].[SC] FOR INSERT ASif not exists( select * from student,course,inserted where student.sno=inserte。

8、d.sno and course.courseno=inserted.courseno) RAISERROR ('违背数据的一致性',16,1)else begin PRINT '数据已插入' endinsert into sc values('','C4',80)(2)使用CREATE TRIGGER 命令对学生信息表创建删除触发器,实现的功能是:当在学生信息表中删除一条记录时,同时删除学生选课信息表中相应的记录。 CREATE TRIGGER [del_trigger] ON [dbo].[Student] FOR DELETE AS delete from sc where sc.sno in (select sno from deleted)(3)向课程信息表插入数据,在学生信息表删除记录,验证触发器的执行;SC表新增加的记录在Student表中删除学生的信息后,可见SC表中也删除了其选课信息六、 在实验老师验收所有的项目后,删除所创建的数据库, 把实验中生成的脚本文件,数据导出的文本文件以及数据库的备份文件复制到U盘中,并通过验收。。

北邮 计算机学院数据库实验报告二,北邮数据库_sql实验二报告.doc相关推荐

  1. 北工大计算机学院导师选择,导师信息#北工大计算机学院计算机科学与技术导师介绍#高红雨...

    一.基本情况 姓名:高红雨 性别:男 部门:计算机学院软件学科部 职称:副教授 二.主要研究方向 软件自动化 三.在研课题 北京市自然科学基金项目"面向GML数据集成的通用查询语言及实现方法 ...

  2. 北工大计算机学院导师选择,导师信息#北工大计算机学院计算机科学与技术导师介绍#李玉鉴...

    一.简介 李玉鉴,教授,博士研究生导师,1968年10月10日生于广西桂林,籍贯湖南邵东.1986年9月至1990年7月在华中理工大学本科毕业,1990年9月至1993年7月在中国科学院数学研究所获硕 ...

  3. 北邮计算机学院专业分析,2019-2021北京邮电大学考研数据分析

    北京邮电大学近三年考研数据分析 一.信息与通信工程学院 2019年拟招生1025人,2020年拟招生810人,2021拟招生648人.近三年信息与通信工程学院招生人数有所减少,而且原信息与通信工程学院 ...

  4. 北京邮电计算机考研复试内容,北京邮电大学2017年计算机学院硕士复试内容_北邮考研论坛.pdf...

    北京邮电大学2017年计算机学院硕士复试内容_北邮考研论坛 北京邮电大学2017年计算机学院硕士复试内容 笔试时间 专业课笔试相关参考 专业代码.名称 专业课笔试内容 (分钟) 书目 一.1.编译程序 ...

  5. 北邮计算机学院课程学习资源汇总

    北邮计算机学院学习资源汇总 高数 [视频]bilibili宋浩(可爱又闷骚的老师,视频整体比较长,高数上.下的都是全的,讲的也很细,课的话看着一个就够了) [资料]吉米多维奇(yyds的习题书,我高数 ...

  6. 北工大计算机学院教授,北工大计算机学院计算机科学与技术导师介绍:杨宇光...

    北工大计算机学院计算机科学与技术导师介绍:杨宇光本站小编 免费考研网/2016-07-26 一.基本情况 杨宇光,女,1976年3月出生,博士,博士生导师,中国密码学会会员,2006年获得北京邮电大学 ...

  7. 北工大计算机学院教授,北工大计算机学院计算机科学与技术导师介绍:周艺华...

    北工大计算机学院计算机科学与技术导师介绍:周艺华本站小编 免费考研网/2016-06-21 一.基本情况 周艺华,男,1969年3月生,博士,副教授,学术学位.专业学位硕士生导师,信息安全学科部教师, ...

  8. 北理工计算机学院新闻,北理工计算机学子勇夺CVPR 2021 AI安全国际顶级赛事季军...

    2021年4月19日,CVPR 2021挑战者计划第六期落下帷幕.由北理工计算机学院教师李元章.张全新及广州大学李进教授指导的DemiguiseWoo战队,在挑战赛赛道二"ImageNet无 ...

  9. 【推免攻略】五.2022年北交计算机学院夏令营、预推免保研经验

    欢迎订阅本专栏:<北交计算机保研经验> 订阅地址:https://blog.csdn.net/m0_38068876/category_10779337.html [推免攻略]一.北交计算 ...

  10. 研究生计算机学院换研究方向不换导师,南邮自杀研究生曾抱怨“导师不让毕业” 导师被停职...

    1月25日上午9点,南京市新模范马路66号,南京邮电大学综合科研大楼,计算机学院研三的学生蒋华文从9楼一坠而下,结束了自己25岁的生命. 澎湃新闻(www.thepaper.cn)采访获悉,就在自杀前 ...

最新文章

  1. 从numpy开启Python数据科学之旅
  2. python学了有什么用处-python教程有什用《学习python有什么好的用处》
  3. 一个特殊的SQL Server阻塞案例分析
  4. hdoj2045:LELE的RPG难题(递推)
  5. linux基础:快速搭建平台
  6. vue点击网页全屏_vue实现浏览器全屏展示功能
  7. Python学习笔记 使用matplotlib创建Gif动图
  8. execute immediate
  9. 大型网站的架构技术-学习自李智慧的书
  10. [ctf web][csaw-ctf-2016-quals]mfw writeup
  11. C++多继承中的二义性问题
  12. DNS解析过程及工作原理
  13. HyperLynx(三十)高速串行总线仿真(二)
  14. Oracle Database 11g Release 2认证支持的操作系统版本跨度很大
  15. pyepics --Auto-saving: simple save/restore PVs
  16. PC市场如何再起波澜?荣耀的创新或是答案
  17. 计算机专业英语课程标准,502057《计算机专业英语》课程标准
  18. Linux内核优化(二):网络线程优化
  19. robot-upstart开机自启动
  20. Ubuntu安装qt4.8.6步骤

热门文章

  1. python写出雷霆战机_利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!
  2. [SSM框架]—Mybatis入门
  3. 屠龙传说世界【全自动】辅助脚本
  4. 期权都是废纸?——创业公司的期权、股票与回报
  5. 哈密顿圈 MATLAB程序,matlab求最佳哈密顿圈遇到错误
  6. linux系统命令cd怎么使用,linux命令怎么用_Linux cd命令该怎么使用
  7. Wechat----wxs
  8. 小鼠大脑解剖图分区_科学家们绘制小鼠大脑的详细3D结构图谱
  9. 宝可梦合体再次流行?Pokemon Fusion的技术实现
  10. 兰燕-杨平平的需求建议