保捱科技网
您的当前位置:首页《数据库原理及应用实验指导》勘误内容(200706)

《数据库原理及应用实验指导》勘误内容(200706)

来源:保捱科技网


以下是“《数据库原理及应用实验指导》 钱雪忠 北京邮电大学出版社”一书中的待修改处

P11

原:“

3> Select * from authors (从authors表中查询所有记录)

4> Go  (执行上 Select * from authors命令)

5> Exit (退出isql 程序)

改为:“

1> Select * from authors (从authors表中查询所有记录)

2> Go  (执行上 Select * from authors命令)

1> Exit (退出isql 程序)

P22

原:“

[例3] 使用DBCC SHRINKDATABASE缩小student数据库的大小,保留自由空间60MB,保留释放的文件空间(未释放给操作系统)。

改为:“

[例3] 使用DBCC SHRINKDATABASE缩小student数据库的大小,保留自由空间60%,保留释放的文件空间(未释放给操作系统)。

P24

原:“

(3)收缩数据库,使用企业管理器收缩数据库。右击数据库,从弹出的快捷菜单中选择“所有任务”→“收缩数据库”命令,输入收缩量,实现收缩操作。

使用Transact-SQL语句压缩数据库。打开查询分析器,输入DBCC SHRINKDATABASE(student2,2),将student2数据库压缩成为2MB。

改为:“

(3)收缩数据库,使用企业管理器收缩数据库。右击数据库,从弹出的快捷菜单中选择“所有任务”→“收缩数据库”命令,输入收缩量,实现收缩操作。

使用Transact-SQL语句压缩数据库。打开查询分析器,输入DBCC SHRINKDATABASE(student2,2),将student2数据库压缩成为含2%的可用空间。

P44

原:“

[例9] 查询课程之先修课的先修课(自身连接例)。

SELECT FIRST.Cno, SECOND.Pcno

FROM Course FIRST, Course SECOND

WHERE FIRST.Pcno=SECOND.Cno;

改为:“

[例9] 查询课程之先修课的先修课(自身连接例)。

SELECT FIRST.Cno, SECOND.cpno

FROM Course FIRST, Course SECOND

WHERE FIRST.cpno=SECOND.Cno;

P44

原:“

[例12] 查询性别为男、课程成绩及格的学生信息及课程号、成绩。

SELECT Student.*,Cno,Grade

FROM STUDENT INNER JOIN ON Student.Sno=SC.Sno

WHERE SSEX=’男’ AND GRADE >=60

改为:“

[例12] 查询性别为男、课程成绩及格的学生信息及课程号、成绩。

SELECT Student.*,Cno,Grade

FROM STUDENT INNER JOIN SC ON Student.Sno=SC.Sno

WHERE SSEX=’男’ AND GRADE >=60

P48

原:“

[例25] 查询平均成绩大于85分的学号、姓名、平均成绩。

Select sno,sname,avgr

From Student,( Select sno,avg(grade) From SC

Group By sno) as SG(sno,avgr)

Where Student.sno=SG.sno And avgr>85;

改为:“

Select Student.sno,sname,avgr

From Student,( Select sno,avg(grade) From SC

Group By sno) as SG(sno,avgr)

Where Student.sno=SG.sno And avgr>85;

P49

原:“

[例29] 建立信息系学生的视图(含有学号、姓名、年龄及性别),并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。通过视图查找年龄大于等于18岁的女学生。

CREATE VIEW IS_Student

AS SELECT Sno,Sname,Sage,Ssex

FROM Student

WHERE Sdept='IS' WITH CHECK OPTION;

SELECT * FROM IS_Student WHERE Sage>=18 AND Ssex='女';

改为:“

[例29] 建立信息系学生的视图(含有学号、姓名、年龄及性别),并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。通过视图查找年龄大于等于18岁的女学生。

CREATE VIEW IS_Student

AS SELECT Sno,Sname,Sage,Ssex

FROM Student

WHERE Sdept='IS' WITH CHECK OPTION

GO

SELECT * FROM IS_Student WHERE Sage>=18 AND Ssex='女';

P50

原:“

2、基于“教学管理”数据库JXGL,试用SQL的查询语句表达下列查询:

(1)统计有学生选修的课程门数。

(2)求选修C4课程的学生的平均年龄。

(3)求学分为3的每门课程的学生平均成绩。

(4)统计每门课程的学生选修人数,超过20人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

(5)检索学号比王非同学大,而年龄比他小的学生姓名。

(6)检索姓名以王打头的所有学生的姓名和年龄。

(7)在SC中检索成绩为空值的学生学号和课程号。

(8)求年龄大于女同学平均年龄的男学生姓名和年龄。

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

(10) 检索所有比“王华”年龄大的学生姓名、年龄和性别。

(11) 检索选修课程“C2”的学生中成绩最高的学生的学号。

(12) 检索学生姓名及其所选修课程的课程号和成绩。

(13) 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

改为:“

2、基于“教学管理”数据库JXGL,试用SQL的查询语句表达下列查询:

(1)统计有学生选修的课程门数。

(2)求选修“4”课程号的学生的平均年龄。

(3)求学分为3的每门课程的学生平均成绩。

(4)统计每门课程的学生选修人数,超过2人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

(5)检索学号比王非同学大,而年龄比他小的学生姓名。

(6)检索姓名以王打头的所有学生的姓名和年龄。

(7)在SC中检索成绩为空值的学生学号和课程号。

(8)求年龄大于女同学平均年龄的男学生姓名和年龄。

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

(10) 检索所有比“钱横”年龄大的学生姓名、年龄和性别。

(11) 检索选修课程号为“2”的学生中成绩最高的学生的学号。

(12) 检索学生姓名及其所选修课程的课程号和成绩。

(13) 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

P58

原:“

[例7] 将98001学生选修3号课程的成绩改为该课的平均成绩。

Update SC

Set Grade=(Select AVG(Grade) From SC Where Cno='3')

Where Sno ='98001';

改为:“

[例7] 将98001学生选修3号课程的成绩改为该课的平均成绩。

Update SC

Set Grade=(Select AVG(Grade) From SC Where Cno='3')

Where Sno ='98001' AND Cno='3';

P59

原:“

⑧ 将Student的4位学生的年龄均增加1岁。

改为:“

⑧ 将Student的前4位学生的年龄均增加1岁。

因篇幅问题不能全部显示,请点此查看更多更全内容