2015数据库实验指导书 下载本文

内容发布更新时间 : 2024/5/18 17:38:37星期一 下面是文章的全部内容请认真阅读。

的学生按年龄(Sage)降序排列。 4、集函数的使用 1)查询学生总人数。

2)查询选修了课程的学生人数。

3)计算选修C01号课程的学生平均成绩。 4)查询选修C01号课程的学生最高分数。 5、查询结果分组

1)求各个课程号(Cno)及相应的选课人数。

2)查询选修了3门或3门以上课程的学生学号(Sno)。 6、不同表之间的连接查询

1)查询每个学生及其选修课程的情况。

提示:本查询实际上是涉及Students与Sc两个表的连接操作。这两个表之间的联系是通过公共属性Sno实现的。

2)查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)。 7、自身连接

1)查询每一门课的间接先修课(即先修课的先修课)。

在Courses表关系中,只有每门课的直接先修课信息,而没有先修课的先修课。要得到这个信息,必须先对一门课找到其先修课,再按此先修课的课程号,查找它的先修课程。这就需要要将Courses表与其自身连接。为方便连接运算,这里为Courses表取两个别名分别为A,B。 8、带谓词IN的嵌套查询

1)查询选修了编号为“C02”的课程的学生姓名(Sname)和所在系(Sdept)。 2)查询与“李伟”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。

3)查询选修了课程名为“数据结构”的学生学号(Sno)和姓名(Sname)。

16

9、带有比较运算符的嵌套查询

1)将例32改为带有比较运算符的嵌套查询。

提示:由于一个学生只可能在一个系学习,因此子查询的结果是一个值,因此可以用=代替IN。

10、 带谓词ANY或ALL的嵌套查询

1)查询非自动化系的不超过自动化系所有学生的年龄的学生姓名和年龄。 11、带谓词EXISTS的嵌套查询

1)查询所有选修了编号为“C01”课程的学生姓名(Sname)和所在系(Sdept)。 2)查询与“李伟”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。

3)查询选修了所有课程的学生姓名(Sname)和所在系。

17

实 验 四

实验项目名称 SQL的数据控制语言及数据库的保护 (2课时,验证) 实验主要内容及方法 数据控制语言,与用户、权限管理 实验要求:

(1) 掌握用户的创建,删除,权限的授予、收回。 (2)掌握数据库的备份和还原。 实验目的:熟练掌握授权与撤权。

实验设备:装有SQL SERVER 2012的电脑 实验步骤: 一、用户管理

1.用企业管理器管理SQL Server登录 A. 增加一个Windows NT用户或用户组

18

选择Windows NT用户或用户组

设置登录用户的服务器角色为系统管理员

19

设置登录用户可访问的数据库为DBS。一个登录用户可以访问很多个数据库,可以在这里指定,指定后在相应的数据库中建立了相应的数据库用户。

按下“确定”,即可建立一个Windows NT用户,然后,可以在企业管理器中检验登录用户是否已经建立。

B. 增加一个SQL Server用户

如:增加一个SQL Server用户,用户名为“lwh”,密码为“lwhpass”。

20