第6章习题参考答案
发布时间:2024-11-21
发布时间:2024-11-21
SQl
第 6 章习题参考答案
1. 选择最适合的答案。
⑴ 用哪个选项建立的视图,保证通过视图加到表中的行可以通过视图访问?[ D ]
A. WHERE B. WITH ENCRYPTION C. WITH CHECK OPTION D. CREATE VIEW
⑵ 用下列代码建立一个视图,对该视图允许做什么操作?[ A,B,C,D ]
CREATE VIEW stud_view AS SELECT * FROM stud_info WHERE substring(stud_id,3,2) = '01' A. SELECT B. SELECT, UPDATE C. SELECT, DELETE D. SELECT, INSERT
⑶ 建立视图的哪一个选项,将加密 CREATE VIEW 语句的文本?[ D ]
A. WITH UPDATE B. WITH READ ONLY C. WITH CHECK OPTION D. WITH ENCRYPTION
⑷ 在CREATE VIEW 命令中哪个选项将强制所有通过视图修改的数据必须满足代码
中的SELECT语句中指定的选择条件?[ A ]
A. WITH CHECK OPTION B. WITH READ ONLY
C. WITH NO UPDATE
D. 没有这样的选项,假如用户对数据表有权限,用户可以更新视图。
⑸ 执行哪一个系统存储过程,可以查看视图的定义信息?[ A ]
A. sp_helptext B. sp_depends C. sp_help D. sp_rename
⑹ 下列 SQL语句中哪一行可能出错?[ C ]
① CREATE VIEW stud_view
② AS SELECT stud_id stud_id,
③ name stud_name
④ FROM stud_info
⑤ WHERE stud_id = '0401020201'
⑥ ORDER BY birthday
A. 第5行 B. 第2行 C. 第6行 D. 没有错误
2. 按照题目要求写出下列SQL命令,并在机器进行测试。
SQl
⑴ 选择学生基本信息表(stud_info)中的学号、姓名,选择学生成绩表(stud_grade)中的
考试成绩创建一个名为stud_view 的视图,该视图中的记录还必须满足院系编号为01(计算 机工程系)的条件。
USE student
GO
CREATE VIEW stud_view
AS
SELECT a.stud_id, http://, b.grade
FROM stud_info a, stud_grade b
WHERE substring(a.stud_id,3,2)='01'
⑵ 选择教师基本信息表(teacher_info)中的编号、姓名,选择课程信息表(lesson_info)
中的课程号 course_id、课程名course_name 创建一个名为 teacher_view 的视图,该视图中
的记录还必须满足专业编号为01(计算机应用)的条件。
USE student
GO
CREATE VIEW teacher_view
AS
SELECT a.teacher_id, http://, b.course_id, b.course_name
FROM teacher_info a, lesson_info b
WHERE substring(a.teacher_id,3,2)='01'
⑶ 创建一个名为 tea_view、计算机工程系学生计算机专业英语的平均成绩的视图。视
图包括的列有学号、姓名、平均成绩。
USE student
GO
CREATE VIEW tea_view
AS
SELECT stud_id, name, avg(grade)
FROM stud_grade
WHERE substring(stud_id,3,2)='01' AND substring(course_id,9,2)='01'
⑷ 说明下列 SQL语句的作用。
CREATE VIEW ser_view AS SELECT * FROM stud_info WHERE substring(stud_id,3,2)='04' GO INSERT INTO ser_view VALUES ('0404010812',N'张虹', '11/02/1986',
SQl
GO SELECT * FROM stud_info N'男',N'北京市丰台区','010-64112565','100081',570)
建立一个食品工程系的视图ser_view,再向 ser_view视图插入一条‘张虹’的数据记
录,再通过SELECT语句查询stud_info数据表。
⑸ 说明下列创建视图的SQL 语句中WITH ENCRYPTION子句的功用。
CREATE VIEW tee_view WITH ENCRYPTION AS SELECT * FROM teacher_info WHERE substring(teacher_id,3,2)='01' 当执行EXEC sp_helptext tee_view命令时会出现什么现象?
WITH ENCRYPTION 子句的功用表示加密选项;当执行EXEC helptext tee_view命令 时会出现:对象'tee_view' 的文本已加密。
⑹ 接上题。修改 tee_view 视图的定义,去掉 WITH ENCRYPTION 子句,但是增加
WITH CHECK OPTION 选项,上机运行下列命令时将出现什么状况?
⑺ 写出建立院系代码表(dept_code)、教研室信息表(staffroom_info)和教师基本信息表 UPDATE tee_view SET teacher_id = '010201' WHERE name = N'刘娜' 欲将tee_view视图中“刘娜”的teacher_id更新为'010201',将会失败。
(teacher_info)的视图命令,视图中的列为教师姓名、所属院系名称、所属教研室名称。
USE student
GO
CREATE VIEW new_view
AS
SELECT http:// 教师姓名,a.deptname 所属院系名称,b.jysh_name 所属教研室名称
FROM dept_code a, staffroom_info b, teacher_info c