习题五答案
1答
SQL语言集数据查询、数据操纵、数据定义和数据控制功能一体,它除了具有一般关系数据库语言的特点外,还具有3个特点:①SQL具有自含式和嵌入式两种形式:②SQL具有语言简洁、易学易用的特点:③SQL支持三级模式结构。
2答
索引是一种树型结构,是一种标号文件,它附在基本表之上,单独不能使用,使用索引文件,可以减少定位和检索所需要的I/O操作,提高查询速度。索引的另一个用途是保证表中数据的惟一性。
3答
视图是从其他表或视图中导出的逻辑表(虚表),它不像基表一样物理地存储在数据库中,视图没有自己独立的数据实体。
基本表,真实存在,可进行数据操纵,但多表操作需要做表级关联,不方便
视图,是虚表,没有物理存储,数据字典中只保留其定义,操作灵活方便,安全性强,数据操纵时收一定条件限制。
4答
如用户经常要查询每个学生选修的课程数和课程平均成绩,为该用户创建一个视图,便于对数据的使用。
CREATE VIEW st_sc_score(学号,课程数,平均成绩)
AS SELECT snum, count(cnum), avg(grade)
From sc
Where grade is not null
Group by snum;
5答
(1)select sname,sdept,birthday from student where year(birthday)>=1990;
(2)select * from sc where cno=’1’ and grade>80
(3)select sno,avg(grade) from sc group by sno having avg(grade)>90
(4)select sno,birthday from student where sname=’李明’ and sdept not like ‘信息系’
(5)select sname ,grade from student,sc,course where student.sno=sc.sno and sc.cno=course.cno and cname=’数据库’and grade>80
(6)select sname from student where sdept=(select sdept from student where sname=’李明’)
(7)update student set sdept=’李明’ where sname=’李明’
(8)delete from sc where grade<60
(9)Insert into student1 values('07010150','陈冬','男','信息',1985-6-8)
(10)drop table course
6答
(1)GRANT SELECT ON TABLE Student TO U1;
(2)GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;
(3)GRANT SELECT ON TABLE student TO PUBLIC;
(4)GRANT DELETE ,UPDATE(grade),ON TABLE sc TO U1 whth grant option;
(5)REVOKE UPDATE(grade) ON TABLE sc FROM U1;
(6)REVOKE SELECT ON TABLE SC FROM PUBLIC;