WHERE C#=“C2” AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=“C2”
C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC
WHERE S.S#=SC.S#
D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC C.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=“C2”)
2、视图是一个虚表,它是从 ① 中导出的表。在数据库中,只存放视图的 ② ,不存放视图的 ③ 。 答案:①一个或几个基本表 ②定义 ③视图对应的数据 3、设有如下关系表R:
R(No,NAME,SEX,AGE,CLASS) 主关键字是NO
其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。 写出实现下列功能的SQL语句。
①插入一个记录(25,“李明”,“男”,21,“95031”); 。 ②插入“95031”班学号为30、姓名为“郑和”的学生记录; 。 ③将学号为10的学生姓名改为“王华”; 。 ④将所有“95101”班号改为“95091”; 。 ⑤删除学号为20的学生记录; 。 ⑥删除姓“王”的学生记录; 。
答案:
①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)
②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”) ③UPDATE R SET NAME=“王华”WHERE NO=10
④UPDATE R SET CLASS=“95091”WHERE CLASS=“95101” ⑤DELETE FROM R WHERE NO=20
⑥DELETE FROMR WHERE NAME LIKE“王%”
第3章书面作业
1、设学生课程数据库中有三个关系:
学生关系S(S#,SNAME,AGE,SEX) 学习关系SC(S#,C#,GRADE) 课程关系C(C#,CNAME)
其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。
用SQL语句表达下列操作
(1)检索选修课程名称为“MATHS”的学生的学号与姓名 (2)检索至少学习了课程号为“C1”和“C2”的学生的学号
(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄 (4)检索平均成绩超过80分的学生学号和平均成绩 (5)检索选修了全部课程的学生姓名 (6)检索选修了三门课以上的学生的姓名
答案:(1)SELECT SNAME,AGE FROM S,SC,C
WHERE S.S#=SC.S# AND C.C#=SC.C#
AND CNAME=’ MATHS’ (2) SELECT S# FROM SC
WHERE CNO=’C1’ AND S# IN( SELECT S# FROM SC WHERE CNO=’C2’)
(3)SELECT S#,SNAME,AGE FROM S
WHERE AGE BETWEEN 18 AND 20
(4) SELECT S# ,AVG(GRADE) ‘平均成绩’ FROM SC GROUP BY S#
HAVING AVG(GRADE)>80 (5) SELECT SNAME
2、设学生-课程数据库中包括三个表:
学生表:Student (Sno,Sname,Sex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade)
FROM S
WHERE NOT EXISTS
(SELECT * FROM C
WHERE NOT EXISTS (SELECT * FROM SC
WHERE S#=S.S# AND C#=C.C# )
)
(6) SELECT SNAME FROM S,SC WHERE S.S#=SC.S# GROUP BY SNAME
HAVING COUNT(*)>3
其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。 试用SQL语言完成下列项操作:
(1)查询选修课程包括“1042”号学生所学的课程的学生学号
(2)创建一个计科系学生信息视图S_CS_VIEW,包括Sno学号、Sname姓名、Sex性别; (3)通过上面第2题创建的视图修改数据,把王平的名字改为王慧平
(4)创建一选修数据库课程信息的视图,视图名称为datascore_view,包含学号、姓名、成绩。 答案:(1) SELECT DISTINCT SNO FROM SC SCX WHERE NOT EXISTS (SELECT * FROM SC SCY
WHERE SCY.SNO = ' 1042'
AND
NOT EXISTS (SELECT *
FROM SC SCZ WHERE
SCZ.SNO=SCX.SNO AND
O=O)); (2) CREATE VIEW S_CS_VIEW AS
SELECT SNO,SNAME,SEX FROM STUDENT WHERE Sdept=’CS’
(3)UPDATE S_CS_VIEW SET SNAME=’ 王慧平’ WHERE SNAME=’ 王平’ (4) CREATE VIEW datascore_view AS
SELECT SNO 学号、SNAME 姓名、GRADE
第4章数据库的安全性
一、选择题
1、下面哪个不是数据库系统必须提供的数据控制功能
A.安全性
B.可移植性
C.完整性
成绩
FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND O=O AND CNAME=’ 数据库’
D.并发控制 答案:B
2、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的 。
A.安全性
B.完整性
C.并发控制
D.恢复 答案:A
3、数据库的 是指数据的正确性和相容性。
A.安全性
B.完整性
C.并发控制
D.恢复 答案:B
4、在数据系统中,对存取权限的定义称为 。
A.命令
B.授权
C.定义
D.审计 答案:B
5、数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的
A.可靠性
B.一致性
C.完整性
D.安全性 答案:D