2、设学生-课程数据库中包括三个表:
学生表:Student (Sno,Sname,Sex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade)
其中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
(3)UPDATE S_CS_VIEW SET SNAME =‘王慧平’ WHERE SNAME =‘王平’
(4) CREATE VIEW datascore_view
AS
SELECT SNO 学号,SNAME 姓名,
GRADE 成绩
FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME=’ 数据库’
WHERE Sdept=’CS’
WHERE SCY.SNO = ' 1042'
AND NOT EXISTS
(SELECT * FROM SC SCZ
WHERE SCZ.SNO=SCX.SNO
AND
SCZ.CNO=SCY.CNO));
(2) CREATE VIEW S_CS_VIEW
AS
SELECT SNO,SNAME,SEX FROM STUDENT
第四章 数据库的安全性
一、选择题
1、下面哪个不是数据库系统必须提供的数据控制功能 B 。
A.安全性
2、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的 A 。
A.安全性
3、数据库的 B 是指数据的正确性和相容性。
A.安全性
4、在数据系统中,对存取权限的定义称为 B 。
A.命令
5、数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的 D 。
A.可靠性
6、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的
是 C
A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC C.REVOKE UPDATE(XH) ON STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC
7、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是 C
A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAO
C)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO
8、在SQL Server 中删除触发器用( B )。
B.一致性
C.完整性
D.安全性
B.授权
C.定义
D.审计
B.完整性
C.并发控制
D.恢复
B.完整性
C.并发控制
D.恢复
B.可移植性
C.完整性
D.并发控制
A.ROLLBACK B. DROP C.DELALLOCATE D. DELETE
二、填空题
1、保护数据安全性的一般方法是 设置用户标识和存取权限控制 。
2、安全性控制的一般方法有 用户标识鉴定 、 存取控制 、 审计 、 数据加密 和 视图的保护 五级安全措施。
3、存取权限包括两方面的内容,一个是要存取的数据对象 ,另一个是对此数据对象进行操作的类型 。 4、在数据库系统中对存取权限的定义称为 授权 。
5、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用 GRANT 语句,收回所授的权限使用 REVOKE 语句。
6、DBMS存取控制机制主要包括两部分: 自主存取控制 、 强制存取控制 。
7、当对某一表进行诸如(INSERT)、 (DELETE)、 (UPDATE) 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句。
第五章 数据库完整性
一、选择题:
1、在数据库系统中,保证数据及语义正确和有效的功能是 ( D )
A.并发控制
2、关于主键约束以下说法错误的是( C )
A. 一个表中只能设置一个主键约束
B.允许空值的字段上不能定义主键约束
B.存取控制
C.安全控制
D.完整性控制
C.允许空值的字段上可以定义主键约束
D.、可以将包含多个字段的字段组合设置为主键
3、在表或视图上执行除了( D )以外的语句都可以激活触发器。
A.Insert
4、数据库的( B )是指数据的正确性和相容性。
A.安全性
5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的( C )约束。
A.实体完整性
B、参照完整性
C、用户自定义
D、用户操作
B.完整性
C.并发控制
B. Delete
C. Update
D. Create
D.恢复
二、填空题
1.数据库的完整性是指数据的 实体完整性 、 参照完整性 和 用户定义完整性 。 2、实体完整性是指在基本表中, 主属性不能取空值 。
3、参照完整性是指在基本表中, 外码可以是空值或者另一个关系主码的有效值 。
4、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS就 拒绝此操作 。
三、设计题
在学生课程管理数据库中创建一触发器,当向学生选课表插入记录时,检查该记录的学号在学生表中是否存在,检查该记录的课程号在课程表中是否存在,及选课成绩是否在0到100范围,若有一项为否,则不允许插入。
答案:
create trigger stu_ins_tri on sc for insert as begin
declare @s# char(6),@c# char(5),@grade int select @s#=sno,@c#=cno,@grade=score from inserted
if (@s# not in(select sno from student)) or (@c# not in (select cno from course) )or (@grade not between 0 and 100)
rollback transaction else
print '成功插入' end
数据库系统概论试题及标准答案整理版



