北邮数据库_sql实验二报告

北邮数据库_sql实验二报告

ID:40624772

大小:1.19 MB

页数:13页

时间:2019-08-05

北邮数据库_sql实验二报告_第1页
北邮数据库_sql实验二报告_第2页
北邮数据库_sql实验二报告_第3页
北邮数据库_sql实验二报告_第4页
北邮数据库_sql实验二报告_第5页
资源描述:

《北邮数据库_sql实验二报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库实验二SQLserver实验二SQLServer数据库设计高级内容一、使用查询分析器实现以下查询(1)统计有学生选修的课程门数。SELECTCOUNT(DISTINCTCourseNo)CourseTotalFROMsc(2)求选课在四门以上的学生所选课程的平均成绩(不统计不及格的课程)。最后按降序列出平均成绩名次名单来。SELECTsno,AVG(score)avg_gradeFROMscWHEREscore>=60GROUPBYsnoHAVINGcount(courseno)>=4ORDERBYavg_gradeDESC数据库实验二SQLserver(3)统计每门指选课程的学生

2、选修人数(超过10人的课程才统计),要求输出课程号,课程名和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。SELECTcourseno,COUNT(sno)snumFROMscGROUPBYcoursenoHAVINGCOUNT(sno)>=10ORDERBYCOUNT(sno)DESC,coursenoASC数据库实验二SQLserver(4)检索所学课程包含了s3所选所有课程的学生姓名。SELECTDISTINCTsnoFROMscsc_1WHERENOTEXISTS(SELECT*FROMscsc_2WHEREsno='200815128'ANDNOTEXISTS

3、(SELECT*FROMscsc_3WHEREsc_3.sno=sc_1.snoANDsc_3.courseno=sc_2.courseno))数据库实验二SQLserver注:上述查询中所用的课程号和学号的值,可以根据自己表中的数据作修改;为了验证查询的正确,可能还需要输入或修改表中的示例数据;二、实现数据完整性(1)定义check约束check约束用来限制用户输入的某一列数据;例如:成绩输入的值应该限制为0-100之间的数值altertablescaddconstraintck_scCHECK(score>=0ANDscore<=100)删除约束altertablescdropcon

4、straintck_sc数据库实验二SQLserver(2)定义规则(rule)rule也可以用来限制用户输入的数据,但它只定义一次,可以绑定到一列或多列;例如:创建一个规则,保证只允许输入指定的课程类别:“必修”,“任选”,“指选”,然后把此规则绑定到“课程类别”;创建规则createrulecoursetypeas@coursetypein("必修","任选","指选")绑定规则sp_bindrule'coursetype','Course.Category'数据库实验二SQLserver解除绑定sp_unbindrule'Course.Category'删除规则dropruleco

5、ursetype数据库实验二SQLserver(3)创建以上约束后,练习修改约束的操作(包括增加,修改和删除以上约束);三、在企业管理器中利用数据导入,导出向导练习数据的导入导出;把每个表中的数据导出到指定的文本文件中;导出的文件四、在企业管理器中,练习数据库的完整性备份和恢复;备份文件;五、存储过程和触发器的实现1.存储过程(1)使用CREATEPROCEDURE命令创建存储过程例1:定义存储过程,实现学生学号,姓名,课程名和成绩的查询;数据库实验二SQLserverCREATEPROCstudent_queryASSELECTstudent.sno,sname,coursename,

6、scoreFROMstudent,course,scWHEREstudent.sno=sc.snoandcourse.courseno=sc.coursenoEXECstudent_query例2:定义存储过程,实现按某人指定课程的成绩;CREATEPROCstudent_query1@snamevarchar(20),@cnamevarchar(30)ASSELECTstudent.sno,sname,coursename,scoreFROMstudent,course,scWHEREstudent.sno=sc.snoANDcourse.courseno=sc.coursenoAND

7、sname=@snameANDcoursename=@cname数据库实验二SQLserverexecstudent_query1'李刚','数据库技术'例3:定义存储过程,在查询某人所选修的课程和成绩,指定姓名时,可以只给出姓;CREATEPROCstudent_query2@snamevarchar(20)='%'ASSELECTstudent.sno,sname,coursename,scoreFROMstudent,cour

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。