2022年数据库上机实验指导定义 .pdf
《2022年数据库上机实验指导定义 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库上机实验指导定义 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理实验指导书实验 1 数据库模式设计及建立一、实验目的:(1) 掌握数据库模式设计,依据实际要求设计表结构,建立表的关系; 比较SQL命令方式和可视化环境管理器方式设计的异同点。(2) 掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。二、实验内容:1、分别用 sql查询分析器和企业管理器创建表,并设定相应的约束。要求:在学生管理数据库XSGL 中创建如下三个表。创建名为 student(学生信息 )的表,表中的各列要求如下:字段名称字段类型大小说明SnoChar10主键SnameChar
2、8SexChar2默认值为男,只能输入男和女SageIntSdeptChar20创建名为 course(课程信息)的表,表中的各列要求如下:字段名称字段类型大小说明CnoChar10主键CnameChar30唯一性CcreditReal名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 创建名为 score(学生成绩)的表,表中的各列要求如下:字段名称字段类型大小取值范围说明SnoChar10数据来自学生信息表主键CnoChar1
3、0数据来自课程信息表主键GradeReal0-1002、创建 score student表,以及 score course表的外部键。3、增加、修改和删除字段,要求:1) 给student表增加一个 memo(备注)字段,类型为varchar(200)。2) 将memo字段的类型修改为varchar(300)。3) 删除 memo 字段。4、 简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。1) 求数学系学生的学号和姓名2) 求选修了课程的学生学号3) 求选修课程号为 C1的学生号和成绩,并
4、要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。use student;select Student.Sno,Gradefrom SC,Studentwhere Cno=3 and SC.Sno=Student.Snoorder by Grade asc ,student.Sno desc4) 求选修课程号为 3且成绩在 8090之间的学生学号和成绩,并成绩乘以 0.8输出。use student;select distinct Student.Sno,Grade*0.8名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
5、- 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - from SC,Studentwhere Cno=3 and student.Sno=SC.Sno andgrade80 and grade804) 查询每一门课程的间接先行课(即先行课的先行课)use student;select a.Cno as 课程号 ,a.Cname as 课程,b.Cname as 先行课 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共
6、16 页 - - - - - - - - - from Course a,Course bwhere a.Cpno=b.Cno注意:如果要是修改为NULL 可按 Ctrl+0三、实验方法将查询需求用 SQL语言表示;在 SQL Server查询分析器的输入区中输入 SQL查询语句;设置查询分析器的结果区为StandardExecute(标准执行 )或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。实验 2 数据库的复杂查询实验1 实验目的本实验的目的是使学生进一步掌握SQL Server查询分析器的使用方法,加深
7、 SQL语言的嵌套查询语句的理解,熟练掌握数据查询中的分组、统计、计算和集合的操作方法。2 实验内容1、在SQL Server查询分析器中使用 IN、比较符、 ANY 或ALL 和EXISTS操作符进行嵌套查询操作。具体完成以下例题。将它们用SQL语句表示,在学生选课中实现其数据嵌套查询操作。1) 求选修了数据库的学号和姓名use student;select Sname,Cnamefrom SC,Student,Coursewhere SC.Cno=Course.Cno and Student.Sno=SC.Snoand Cname=信息系统 2) 求3课程的成绩高于刘晨的学生学号和成绩us
8、e student;select Sname,Student.Sno,Gradefrom SC,Studentwhere Student.Sno=SC.Sno名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - and Cno=3and Grade(select Gradefrom SC,Studentwhere Student.Sno=SC.snoand Sname like刘晨 and Cno=3)3) 求其他系中比计算机系某一
9、学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)use student;select distinct Sname,Sno,Sdept,Sagefrom Studentwhere SdeptCS and Sageany(select Sagefrom Studentwhere Sdept=CS) and SdeptCS5) 求选修了 C2课程的学生姓名use student;select distinct Student.Snofrom Student,SCwhereexists(select *from SCwhere Student.Sno=SC.Sno and Cno=3)6) 求
10、没有选修 3课程的学生姓名use student;select distinct Student.Snofrom Student,SC名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - where notexists(select *from SCwhere Student.Sno=SC.Sno and Cno=3)7) 查询选修了全部课程的学生姓名use student;select Snofrom SCgroup by Sno
11、 having count(*)=38) 求至少选修了学号为“95002”的学生所选修全部课程的学生学号和姓名use student;select Sname,Snofrom Studentwhere not exists( select * from SC SCY where SCY.Sno=95002 and not exists ( select * from SC SCZ where SCZ.Sno=Student.Sno and SCZ.Cno=SCY.Cno ) )2、进行分组查询,包括分组条件表达、选择组条件表达的方法;进行函数查询,包括统计函数和分组统计函数的使用方法;进行集合
12、查询,包括并操作 UNION 、交操作 INTERSECT 和差操作 MINUS 的使用方法。具体完成以下例题,将它们用SQL语句表示,在学生选课中实现其数据查询操作。1) 求学生的总人数use student;select count(distinct Sno)from Student名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - 2) 求选修了课程的学生人数use student;select count(distinct
13、 Sno)from SC3) 求课程和选修了该课程的学生人数use student;select Cno,count(*)from SCgroup by Cno4) 求选修超过 2门课的学生学号use student;select Cno,count(*)from SCgroup by Cnohaving count(*)25) 查询计算机科学系的学生及年龄不大于20岁的学生use student;select Sno,Snamefrom Studentwhere Sdept=CS and Sage206) 查询计算机科学系的学生与年龄不大于20岁的学生的交集use student;selec
14、t Sno,Snamefrom Studentwhere Sdept=CS and Sage208) 查询选修课程 C1的学生集合与选修课程C2的学生集合的交集use student;select Snofrom SCwhere Cno=1 and Sno in (select Sno名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - from SC where Cno=2)9) 查询选修课程 C1的学生集合与选修课程C2的学生集
15、合的差集use student;select student.Sno,Snamefrom SC,Studentwhere student.sno=sc.sno and Cno=1 and sc.Sno not in (select Sno from SC where Cno=2)3 实验步骤将查询需求用 SQL语言表示:在 SQL Server查询分析器的输入区中输入SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或 Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。实验 3 数
16、据库的更新和视图定义及维护实验一、实验目的本实验的目的是要求学生熟练掌握使用SQL 和通过 SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作,同时使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。二、实验内容1、具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。1) 将一新学生记录 (学号: 95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。insertinto student (sno,sname,ssex,sdept,sage)values(95007,陈东 ,男,is,18)2) 插
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据库上机实验指导定义 2022 数据库 上机 实验 指导 定义
限制150内