您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页数据库系统概论试题及答案版

数据库系统概论试题及答案版

来源:小侦探旅游网
数据库系统概论复习资料

第一章 绪论

一、选择题

1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系

统阶段。在这几个阶段中,数据独立性最高的是 A 阶段。

A.数据库系 理

B.文件系统 C.人工管理 D.数据项管

2. 数据库的概念模型独立于 A 。

A.具体的机器和DBMS 世界

B.E-R图 C.信息世界 D.现实

3. 数据库的基本特点是 B 。

A.(1)数据结构化 (2)数据独立性 统一管理和控制

(3)数据共享性高,冗余大,易移植 (4)

B.(1)数据结构化 (2)数据独立性 统一管理和控制

(3)数据共享性高,冗余小,易扩充 (4)

C.(1)数据结构化 (2)数据互换性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制

D.(1)数据非结构化 (2)数据独立性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制

4. B 是存储在计算机内有结构的数据的集合。

A.数据库系统

D.数据结构

B.数据库 C.数据库管理系统

5. 数据库中存储的是 C 。

A. 数据 B. 数据模型 C. 数据及数据间的联系 D. 信息

6. 数据库中,数据的物理独立性是指 C 。

A.数据库与数据库管理系统的相互独立

B.用户程序与DBMS的相互独立

C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的

D.应用程序与数据库中数据的逻辑结构相互独立

7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 D 。

A.同一个应用中的多个程序共享一个数据集合

B.多个用户、同一种语言共享数据

C.多个用户共享一个数据文件

D.多种应用、多种语言、多个用户相互覆盖地使用数据集合

8. 数据库系统的核心是 B 。

A.数据库 B.数据库管理系统 C.数据模型 D.软件

工具

9. 下述关于数据库系统的正确叙述是 A 。

A.数据库系统减少了数据冗余

B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型一致

D.数据库系统比文件系统能管理更多的数据

10. 数将数据库的结构划分成多个层次,是为了提高数据库的 B ① 和 B

② 。

①A.数据独立性 享

B.逻辑独立性 C.管理规范性 D.数据的共

②A. 数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范

11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是

A 。

A.DBS包括DB和DBMS B.DDMS包括DB和DBS

C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS

12. 在数据库中,产生数据不一致的根本原因是 D 。

A.数据存储量太大 B.没有严格保护数据

C.未对数据进行完整性控制 D.数据冗余

13. 数据库管理系统(DBMS)是 D 。

A.数学软件 软件

B.应用软件 C.计算机辅助设计 D.系统

14. 数据库管理系统(DBMS)的主要功能是 B 。

A. 修改数据库 保护数据库

B. 定义数据库 C. 应用数据库 D.

15. 数据库系统的特点是 A 、数据独立、减少数据冗余、避免数据不一致和加

强了数据保护。

A.数据共享 B.数据存储 C.数据应用 D.数据保密

16. 数据库系统的最大特点是 A 。

A. 数据的三级抽象和二级独立性 B. 数据共享性

C. 数据的结构化 D. 数据独立性

17. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种

功能称为 C 。

A. 数据定义功能 B. 数据管理功能 C. 数据操纵功能 D. 数据控制功能

18. 数据库管理系统是 B 。

A.操作系统的一部分 件

B.在操作系统支持下的系统软

C.一种编译程序 D.一种操作系统

19. 数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是

D 。

A. 外模式 B. 内模式 C. 存储模式 D. 模式

20. 数据库系统的数据独立性是指 B 。

A.不会因为数据的变化而影响应用程序

B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序

C.不会因为存储策略的变化而影响存储结构

D.不会因为某些存储结构的变化而影响其他的存储结构

21. 实体是信息世界中的术语,与之对应的数据库术语为 D 。

A.文件 B.数据库 C.字段 D.记录

22. 层次模型、网状模型和关系模型数据库划分原则是 D 。

A.记录长度 系

B.文件的大小 C.联系的复杂程度 D.数据之间的联

23. 传统的数据模型分类,数据库系统可以分为三种类型 C 。

A.大型、中型和小型 B.西文、中文和兼容

C.层次、网状和关系 D.数据、图形和多媒体

24. 层次模型不能直接表示 C 。

A.1 :1关系 B.1 :m关系

C.m :n关系 D.1 :1和1 :m关系

25. 数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是

C 。

A.层次数据模型 B.网状数据模型

C.关系数据模型 D.面向对象数据模型

二、填空题

1. 数据管理技术经历了 人工管理 、 文件系统 和 数据库系统 三个阶段。

2. 数据库是长期存储在计算机内、有 组织 的、可 共享 的数据集合。

3. DBMS是指 数据库管理系统 它是位于 用户 和 操作系统 之间的一层管理软

件。

4. 数据独立性又可分为 逻辑数据独立性 和 物理数据独立性 。

5. 当数据的物理存储改变,应用程序不变,而由DBMS处理这种改变,这是指数据

的 物理独立性 。

6. 数据模型是由 数据结构 、 数据操作 和 完整性约束 三部分组成的。

7. 数据结构 是对数据系统的静态特性的描述, 数据操作 是对数据库系统的动态

特性的描述。

8. 数据库体系结构按照 模式 、 外模式 和 内模式 三级结构进行组织。

9. 实体之间的联系可抽象为三类,它们是 一对一(1∶1) 、 一对多(1∶m) 和

多对多(m∶n) 。

10. 数据冗余可能导致的问题有 浪费存储空间及修改麻烦 和 潜在的数据不一致

性 。

三、简答题:

1. 什么是数据库?

答:数据库是长期储存在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

2. 数据库管理系统的主要功能有哪几个方面?

答: ① 数据定义功能

② 数据组织、存储和管理

③ 数据操纵功能

④ 数据库的事务管理和运行管理

⑤ 数据库的建立和维护功能

⑥ 其他功能

3. 数据库系统的构成有哪些?

答:一般有以下四个方面构成:

① 数据库

② 数据库管理系统(及其开发工具)

③ 应用系统

④ 数据库管理员

4. 数据库系统的特点有哪些?

答: ① 数据结构化

② 数据的共享性高、冗余度低、易扩充

③ 数据独立性高

④ 数据有DBMS统一管理和控制

5. 什么是数据库的数据独立性?

答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。

第一章补充作业部分

假设教学管理规定:

①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。

要求:根据上述语义画出E-R图,要求在图中画出实体的属性并注明联系的类型; 解答:

第二章 关系数据库

一、选择题

1. 关系数据库管理系统应能实现的专门关系运算包括 B 。

A.排序、索引、统计 B.选择、投影、连接

C.关联、更新、排序 D.显示、打印、制表

2. 关系模型中,一个关键字是 C 。

A.可由多个任意属性组成

B.至多由一个属性组成

C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成

D.以上都不是

3. 自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接

时,要求R和S含有一个或多个共有的 D 。

A.元组 B.行 C.记录 D.属

4. 关系运算中花费时间可能最长的运算是 C 。

A.投影 B.选择 C.笛卡尔积 D.除

5. 关系模式的任何属性 A 。

A.不可再分

B.可再分

C.命名在该关系模式中可以不惟一

D.以上都不是

6. 在关系代数运算中,五种基本运算为 C 。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影

C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积

7. 设有关系R,按条件f对关系R进行选择,正确的是 C 。

A.R?R B.R ?? R C. ?f(R) D.?f(R)

F

8. 如图所示,两个关系R1和R2,它们进行 D 运算后得到R3。

R2

R1

D E F A B C 1 M I A 1 X 2 N J C 2 Y 5 M K D 1 y R3

A B C E F A 1 X M I D 1 y M I C 2 Y N J A.交 B.并 C.笛卡尔积 D.连接

二、填空题

1. 一个关系模式的定义格式为 关系名(属性名1,属性名2,…,属性名n) 。

2. 一个关系模式的定义主要包括 关系名 、 属性名 、 属性类型 、 属性长度 和

关键字 。

3. 关系模型由 关系数据结构 、 关系操作集合 、 关系完整性约束 三部分组成。

4. 关系代数运算中,传统的集合运算有 笛卡尔积 、 并 、 交 和 差 。

5. 关系代数运算中,基本的运算是 并 、 差 、 笛卡尔积 、 选择 和 投影 。

6. 关系代数运算中,专门的关系运算有 选择 、 投影 和 连接 。

7. 关系数据库中基于数学上两类运算是 关系代数 和 关系演算 。

8. 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入

学日期,专业,系编号)两个关系。系关系的主关键字是 系编号 ,系关系的外关键字 无 ,学生关系的主关键字是 学号 ,外关键字 系编号 。

三、简答题

1. 关系的三类完整性约束条件是?

答: ① 实体完整性:规定主属性不能为空

② 参照完整性:规定参照关系中的外码的取值范围

③ 用户自定义的完整性

四、应用题

设有如下所示的关系:S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)、SC(S#,C#,GRADE)

试用关系代数表达式表示下列查询语句:

(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。

∏C#,CNAME(σTEACHER=‘程军’(C))

(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

∏S#,SNAME(σAGE>21∧SEX=‘男’(S))

(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。

∏SNAME{s?? [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]}

(4)检索”李强”同学不学课程的课程号(C#)。

∏C#(C)- ∏C#(σSNAME=‘李强’(S) ?? SC)

(5)检索至少选修两门课程的学生学号(S#)。

∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

∏C#,CNAME(C?? (∏S#,C#(sc)÷∏S#(S)))

(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。

∏S#(SC?? ∏C#(σTEACHER=‘程军’(C)))

(8)检索选修课程号为k1和k5的学生学号(S#)。

∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C))

(9)检索选修全部课程的学生姓名(SNAME)。

∏SNAME{s?? [∏S#,C#(sc)÷∏C#(C)]}

(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

∏S#,C#(sc)÷∏C#(σS#=’2’(SC))

关系R和S如下图所示,试计算R÷S。

R

A B C D a b c d a b e f a b h k b d e f b d d l c k c d c k e f R÷S

A B a b c k b d S

C D c d e f 第三章 关系数据库标准语言SQL

一、选择题

1. SQL语言是 B 的语言,易学习。

A.过程化 航式

B.非过程化 C.格式化 D.导

2. SQL语言是 C 语言。

A.层次数据库 B.网络数据库 据库

C.关系数据库 D.非数

3. SQL语言具有 B 的功能。

A.关系规范化、数据操纵、数据控制 控制

B.数据定义、数据操纵、数据

C.数据定义、关系规范化、数据控制 据操纵

D.数据定义、关系规范化、数

4. SQL语言具有两种使用方式,分别称为交互式SQL和 C 。

A.提示式SQL

D.解释式SQL

B.多用户SQL C.嵌入式SQL

5. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),

学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 D 。

A.S B.SC,C C.S,SC D.S,C,SC

6. 如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部

门号,SQL操作 不能执行 B 。

职工表

职工号 职工名 部门号 工资

001 李红 01 580

005 刘军 01 670

025 王芳 03 720

038 张强 02 650

部门表

部门号 部门名 主任

01 人事处 高平

02 财务处 蒋华

03 教务处 许红

04 学生处 杜琼

A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)

B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中

C.将职工号为‘001’的工资改为700

D.将职工号为‘038’的部门号改为‘03’

7. 若用如下的SQL语句创建一个student表:

CREATE TABLE student(

NO C(4) NOT NULL,

NAME C(8) NOT NULL,

SEX C(2),

AGE N(2))

可以插入到student表中的是 B 。

A. (‘1031’,‘曾华’,男,23)

B. (‘1031’,‘曾华’,NULL,NULL)

C. (NULL,‘曾华’,‘男’,‘23’)

D. (‘1031’,NULL,‘男’,23)

第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT)

C(C#,CN)

SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。

8. 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是 A 。

A.SELECT SN,AGE,SEX FROM S C.SELECT SN,AGE,SEX FROM S

>(SELECT AGE FROM S WHERE AGE>(SELECT AGE

“王华”) WHERE SN=“王华”).SELECT SN,AGE,SEX FROM S D.SELECT SN,AGE,SEX FROM S

=“王华” WHERE AGE>王华.AGE

WHERE AGE WHERE SN=

B WHERE SN9. 检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是 D 。

A.SELECT S# FORM SC C.SELECT S# FORM SC

WHERE C#=“C2” AND GRAD>= WHERE C#=“C2” AND GRADE NOT IN

(SELECT GRADE FORM SC (SELECT GRADE FORM SC

WHERE C#=“C2”) WHERE C#=“C2”)

B.SELECT S# FORM SC D.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE IN WHERE C#=“C2” AND GRADE>=ALL

(SELECT GRADE FORM SC (SELECT GRADE FORM SC

WHERE C#=“C2”) WHERE C#=“C2”)

10. 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是 C 。

A.SELECT S.SN,SC.C#,SC.GRADE FROM S

C.SELECT S.SN,SC.C#,SC.GRADE

FROM S,SC

WHERE S.S#=SC.S#

WHERE S.S#=SC.S#

B.SELECT S.SN,SC.C#,SC.GRADE

D.SELECT S.SN,SC.C#,SC.GRADE

FROM SC

FROM

WHERE S.S#=SC.GRADE

S

SC

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

来。正确的SELECT语句是 D 。

A.SELECT S#,SUM(GRADE)FROM SC (SELECT GRADE FORM SC

WHERE GRADE>=60 WHERE C#=“C2”)

GROUP BY S# C.SELECT S# FORM SC

ORDER BY 2 DESC WHERE HAVING COUNT(*)>=4 (SELECT GRADE FORM SC WHERE C#=“C2” AND GRADE>= WHERE C#= (SELECT GRADE FORM SC D WHERE C#=“C2”) WHERE B.SELECT S# FORM SC (SELECT GRADE FORM SC WHERE C#=“C2” AND GRADE IN WHERE C#=“C2” AND GRADE NOT IN

“C2”)

.SELECT S# FORM SC

C#=“C2” AND GRADE>=ALL

C#=“C2”)

二、填空题

1. SQL是 结构化查询语言 。

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“王%”

三、简答题

1. SQL的特点有哪些?

答:SQL集数据查询、数据操作、数据定义、数据控制功能于一体,主要特点包括:

① 综合统一

② 高度非过程化

③ 面向集合的操作方式

④ 以同一种语法结构提供多种使用方式

⑤ 语言简洁,易学易用

2. 视图的作用有哪些?

答: ① 视图能够简化用户的操作

② 视图使用户以多种角度看待同一数据

③ 视图对重构数据库提供一定程度的逻辑独立性

④ 视图能对机密数据提供安全保护

⑤ 适当的利用视图可以更清晰的表达查询

第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

答案: AND C.C#=SC.C#

(1)SELECT SNAME,AGE AND CNAME=’ MATHS’

FROM S,SC,C (2) SELECT S# FROM SC

WHERE S.S#=SC.S# WHERE CNO=’C1’ AND S# IN(

SELECT S# FROM SC (SELECT * FROM C

WHERE CNO=’C2’) WHERE NOT EXISTS

(3)SELECT S#,SNAME,AGE FROM S (SELECT * FROM SC

WHERE AGE BETWEEN 18 AND 20 WHERE S#=S.S#

(4) SELECT S#,AVG(GRADE) ‘平均成绩’FROM SC GROUP BY S# HAVING AVG(GRADE)>80

(5) SELECT SNAME FROM S

WHERE NOT EXISTS

AND C#=C.C#)) (6) SELECT SNAME FROM S,SC

WHERE S.S#=SC.S#

GROUP

BY SNAME COUNT(*)>3

HAVING

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

SCZ.CNO=SCY.CNO));

(SELECT * FROM SC SCY

(2) CREATE VIEW S_CS_VIEW

WHERE SCY.SNO = ' 1042'

AS

AND NOT EXISTS

(SELECT * FROM SC SCZ

WHERE SCZ.SNO=SCX.SNO

AND

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 成绩

FROM STUDENT,SC,COURSE

WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME=’ 数据库’第四章 数据库的安全性

一、选择题

1、下面哪个不是数据库系统必须提供的数据控制功能 B 。

A.安全性 B.可移植性 C.完整性 D.并发控制

2、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的 A 。

A.安全性 B.完整性 C.并发控制 D.恢复

3、数据库的 B 是指数据的正确性和相容性。

A.安全性 B.完整性 C.并发控制 D.恢复

4、在数据系统中,对存取权限的定义称为 B 。

A.命令 B.授权 C.定义 D.审计

5、数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的 D 。

A.可靠性 B.一致性 C.完整性 D.安全性

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 )。

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.允许空值的字段上不能定义主键约束 D.、可以将包含多个字段的字段组合设置为

B.存取控制

C.安全控制

D.完整性控

C.允许空值的字段上可以定义主键约束 主键

3、在表或视图上执行除了( D )以外的语句都可以激活触发器。

A.Insert

B. Delete

C. Update

D. Create

4、数据库的( B )是指数据的正确性和相容性。

A.安全性

B.完整性

C.并发控制

D.恢复

5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的( C )约束。

A.实体完整性 二、填空题

1.数据库的完整性是指数据的 实体完整性 、 参照完整性 和 用户定义完整性 。

B、参照完整性

C、用户自定义

D、用户操作

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

第六章 关系数据理论

一、选择题

1、关系规范化中的删除操作异常是指 A ,插入操作异常是指 D 。

A.不该删除的数据被删除 B.不该插入的数据被插入

C.应该删除的数据未被删除 D.应该插入的数据未被插入

2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 A 。

A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑

3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及 C 的缺陷。

A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失

4、当关系模式R(A,B)已属于3NF,下列说法中 B 是正确的。

A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常

C.一定属于BCNF D.A和C都是

5、关系模型中的关系模式至少是 A 。

A.1NF B.2NF C.3NF D.BCNF

6、在关系DB中,任何二元关系模式的最高范式必定是 D 。

A.1NF B.2NF C.3NF D.BCNF

7、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是 C 。

A.2NF B.3NF C.4NF D.BCNF

8、候选关键字中的属性称为 B 。

A.非主属性 B.主属性 C.复合属性 D.关键属

9、消除了部分函数依赖的1NF的关系模式,必定是 B 。

A.1NF B.2NF C.3NF 10、关系模式的候选关键字可以有 C ,主关键字有 B 。

A.0个 B.1个 C.1个或多个 D.4NF

D.多个

11、关系模式的分解 B 。

A.惟一 B.不惟一

12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式? B 。

部门(部门号,部门名,部门成员,部门总经理)

A.部门总经理 B.部门成员 C.部门名 D.部门号

二、填空题

1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为 外部键 。

2、对于非规范化的模式,经过 使属性域变为简单域 转变为1NF,

将1NF经过 消除非主属性对主关键字的部分依赖 转变为2NF,

将2NF经过 消除非主属性对主关键字的传递依赖 转变为3NF。

3、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和 无损连接性 。

三、概念解释:

平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖

非平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖

四、综合练习

1、已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。

(1)写出关系模式S的基本函数依赖和主码。

(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?

(3)将关系模式分解成3NF,并说明为什么?

(1)写出关系模式S的基本函数依赖和主码。

答: 关系模式S的基本函数依赖如下:

Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade

关系模式S的码为:(Sno,Course)。

(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?

答: 原关系模式S属于1NF。码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:

S1(Sno,Sname,SD,Sdname)

S2(Sno,Course,Grade)

(3)将关系模式分解成3NF,并说明为什么?

答: 将上述关系模式分解成3NF如下:

关系模式S1中存在Sno→SD,SD→Sdname,

即非主属性Sdname传递依赖于Sno,所以S1不是3NF。

进一步分解如下:

S11(Sno,Sname,SD) S12(SD,Sdname)

分解后的关系模式S11、S12满足3NF。

对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。

所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。

S11(Sno,Sname,SD)

S12(SD,Sdname)

S2(Sno,Course,Grade)

2、设有如下关系R

(1)它为第几范式? 为什么?

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

(1)它为第几范式? 为什么?

解: 它是2NF。 因为R的候选关键字为“课程名”。

依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

解: 分解为高一级范式如图所示。

R1如下: R2如下:

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

3、设某商业集团数据库中有一关系模式R如下:

R (商店编号,商品编号,数量,部门编号,负责人)

如果规定:

(1) 每个商店的每种商品只在一个部门销售;

(2) 每个商店的每个部门只有一个负责人;

(3) 每个商店的每种商品只有一个库存数量。

试回答下列问题:

(1) 根据上述规定,写出关系模式R的基本函数依赖;

答: 关系模式S的基本函数依赖如下:

(商店编号,商品编号)→部门编号,

(商店编号,部门编号)→负责人,

(商店编号,商品编号)→数量

(2) 找出关系模式R的候选码;

答: 关系模式R的码为:(商店编号,商品编号, 部门编号)。

(3) 试问关系模式R最高已经达到第几范式?为什么?

答: 原关系模式R是属于1NF的,码为(商店编号,商品编号, 部门编号),非主属性对码的函数依赖全为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:

R1(商店编号,商品编号, 部门编号, 数量)

R2(商店编号,部门编号, 负责人)

(4) 如果R不属于3NF,请将R分解成3NF模式集。

答:将R分解为

R1(商店编号,商品编号, 部门编号, 数量)

R2(商店编号,部门编号, 负责人)

分解后的R不存在传递的函数依赖,所以分解后的R已经是第3NF

第九章 关系查询处理和查询优化

课后作业:P275,2题: 答案:

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

Copyright © 2019- xiaozhentang.com 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务