- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北邮数据库_sql实验二报告
实验二SQL Server数据库设计高级内容一、使用查询分析器实现以下查询(1) 统计有学生选修的课程门数。SELECT COUNT(DISTINCT CourseNo) CourseTotal FROM sc(2) 求选课在四门以上的学生所选课程的平均成绩(不统计不及格的课程)。最后按降序列出平均成绩名次名单来。SELECT sno,AVG(score) avg_gradeFROM scWHERE score = 60GROUP BY sno HAVING count(courseno)=4ORDER BY avg_grade DESC(3) 统计每门指选课程的学生选修人数(超过10人的课程才统计),要求输出课程号,课程名和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。SELECT courseno,COUNT(sno) snumFROM scGROUP BY courseno HAVING COUNT(sno)=10 ORDER BY COUNT(sno) DESC, courseno ASC(4) 检索所学课程包含了s3所选所有课程的学生姓名。SELECT DISTINCT sno FROM sc sc_1 WHERENOT EXISTS(SELECT * FROM sc sc_2 WHERE sno=200815128 ANDNOT EXISTS(SELECT * FROM sc sc_3 WHERE sc_3.sno = sc_1.sno AND sc_3.courseno = sc_2.courseno))注:上述查询中所用的课程号和学号的值,可以根据自己表中的数据作修改;为了验证查询的正确,可能还需要输入或修改表中的示例数据;二、实现数据完整性(1)定义check约束check约束用来限制用户输入的某一列数据;例如:成绩输入的值应该限制为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 coursetypeas @coursetype in (必修,任选,指选)绑定规则sp_bindrule coursetype,Course.Category解除绑定sp_unbindrule Course.Category删除规则drop rule coursetype(3)创建以上约束后,练习修改约束的操作(包括增加,修改和删除以上约束);三、在企业管理器中利用数据导入,导出向导练习数据的导入导出;把每个表中的数据导出到指定的文本文件中;导出的文件四、在企业管理器中,练习数据库的完整性备份和恢复;备份文件;五、存储过程和触发器的实现1.存储过程(1)使用CREATE PROCEDURE命令创建存储过程例1:定义存储过程,实现学生学号,姓名,课程名和成绩的查询;CREATE PROC student_queryASSELECT student.sno,sname,coursename,score FROM student,course,scWHERE student.sno = sc.sno and course.courseno = sc.coursenoEXEC student_query例2:定义存储过程,实现按某人指定课程的成绩;CREATE PROC student_query1@snamevarchar(20),@cnamevarchar(30)ASSELECT student.sno,sname,coursename,score FROM student,course,scWHERE student.sno = sc.sno AND course.courseno = sc.coursenoAND sname = @sname AND coursename = @cnameexec student_query1 李刚,数据库技术例3:定义存储过程,在查询某人所选修的课程和成绩,指定姓名时,可以只给出姓;CREATE PROC student_query2@snamevarchar(20) = %ASSELECT student.sno,sname,coursename,score FROM student,course,scWHERE student.sno = sc.
您可能关注的文档
最近下载
- 急性胰腺炎护理查房课件(完整版).pptx VIP
- 如何做合格的研究生导师.ppt VIP
- GB50084-2001(2005版)自动喷水灭火系统设计规范.docx VIP
- 绿色“垃圾不落地城市更美丽”节能环保树立垃圾分类新观念PPT模板课件.pptx VIP
- 铁路栅栏改移重点项目施工专项方案.doc
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.8.pdf VIP
- 精品解析:北京市八中2023-2024学年九年级上学期期中考试物理试题(解析版).docx VIP
- 大数据互联网科技PPT模板 .pptx VIP
- (人教版)九年级英语第一次月考试卷(含答案).pdf VIP
- 隐球菌性脑膜炎护理.pptx VIP
文档评论(0)