数据库原理试题库
更新时间:2023-12-09 09:22:01 阅读量: 教育文库 文档下载
《数据库原理》试题库
一、 选择题
第一章 数据库的基础知识 数据库系统概述
1. 以下内容中不属数据库所具特点的是( c )。 A.数据共享 B.数据完整性 C.存储数据量大 D.最小宂余 2. 下列四项中,不属于关系数据库特点的是( ) A.数据冗余小 B.数据独立性高 C.数据共享性好 D.多用户访问 3. 以下表示数据库管理系统的是( ) A.DBA B.DBMS C.DB D.DATA 4. 数据库系统的核心是( )。 A.数据库 B.软件工具 C.数据模型 D.数据库管理系统 5. 数据库与文件系统的根本区别在于( ) A.提高了系统效率 B.方便了用户使用 C.数据的结构化 D.节省了存储空间 6. 数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( )
A.数据可共享 B.数据可长期保存
C.采用一定的数据模型组织数据 D.有专门的软件对数据进行管理 7.下面列出的条目中,哪些是数据库技术的主要特点( )。 Ⅰ.数据的结构化 Ⅱ.数据的冗余度小 Ⅲ.较高的数据独立性 Ⅳ.程序的标准化 A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ和Ⅱ C.Ⅰ、Ⅱ和Ⅳ D.都是 8. 在数据库中,下列说法( )是不正确的。 A.数据库避免了一切数据的重复
B.若系统是完全可以控制的,则系统可确保更新时的一致性 C.数据库中的数据可以共享 D.数据库减少了数据冗余
9. 下列四项中说法不正确的是( ) A.数据库减少了数据冗余 B.数据库中的数据可以共享 C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性 10.数据库系统的最大特点是( )。 A.数据的三级抽象和二级独立性 B.数据共享性 C.数据的结构化 D.数据独立性 11.下列哪个是存储在计算机内有结构的数据的集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 12.在以下所列的条目中,哪些是数据库管理员DDA的职责( )
1
① 决定数据库存取结构和存取策略 ② 决定数据库中的内容和结构
③ 定义数据安全性的要求和完整性约束条件 ④ 为用户提供资料和培训方面的帮助
A.①和② B.①、②和③ C.③和④ D.都是 13.在DBS中,DBMS和OS之间的关系是 ( ) A.相互调用 B.DBMS调用OS C.OS调用DBMS D.并发运行 14. 下面列出的条目中,哪些是数据库系统的组成成员?( )
Ⅰ.操作系统 Ⅱ.数据库管理系统 Ⅲ.用户 Ⅳ.数据库管理员 Ⅴ..数据库 A.Ⅱ、Ⅲ、Ⅳ和Ⅴ B.Ⅱ、Ⅳ和Ⅴ C.Ⅰ、Ⅱ、Ⅳ和Ⅴ D.都是 15. 下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段没有专门的软件对数据进行管理( )。 Ⅰ.人工管理阶段 Ⅱ.文件系统阶段 Ⅲ.数据库阶段 A.只有Ⅰ B. 只有Ⅱ C.Ⅰ和Ⅱ D.Ⅱ和Ⅲ
数据模型
16.在数据库技术中,实体—联系模型是一种( ) A.概念模型 B.结构模型 C.物理模型 D.逻辑模型 17.数据库设计中的概念模型独立于( )。 A.现实世界 B.E-R图 C.信息世界 D.具体的机器和DBMS 18.在数据库技术中,独立于计算机系统的模型是( ) A.E-R模型 B.层次模型 C.关系模型 D.面向对象的模型 19.在下面列出的数据模型中,哪一个是概念数据模型( )。 A.关系模型 B.层次模型 C.网状模型 D.实体-联系模型 20. 目前应用最广泛的数据库数据模型是( )。 A.层状模型 B.网状模型 C.混合模型 D.关系模型 21. 下列数据模型中,数据独立性最高的是( ) A.网状数据模型 B.关系数据模型 C.层次数据模型 D.非关系模型 22. 下列四项中,必须进行查询优化的是( ) A.关系数据库 B.网状数据库 C..层次数据库 D.非关系模型 数据库系统结构
23. 数据库系统的体系结构是( )
2
A.两级模式结构和一级映象 B.三级模式结构和一级映象 C.三级模式结构和两级映象 D.三级模式结构和三级映象 24. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( )。 A.外模式 B.内模式 C.存储模式 D.模式 25. 数据库系统的三级模式结构是指( ) A.外模式、模式、子模式 B.子模式、模式、概念模式 C.模式、内模式、存储模式 D.外模式、模式、内模式 26. 保证数据库的数据独立性,需要修改的是( ) A.三层模式之间的两种映射 B.模式与内模式 C.模式与外模式 D.三层模式 27. 在关系数据库中,关系模式是三级模式结构中的( )。 A.外模式 B.模式 C.存储模式 D.内模式 28. 单个用户使用的数据视图的描述称为 ( ) A. 外模式 B. 概念模式 C.内模式 D.存储模式
29. 在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、( )和存储级三个层次。 A.管理员级 B.外部级 C.概念级 D.内部级 30. 以下选项中不属于数据库系统三级模式结构的是( )。 A.外模式 B.模式 C.内模式 D.概念模式
31. 数据库的三级模式结构由外模式、模式和内模式组成,它适合于哪个(些)类型的数据库( )
Ⅰ.关系型数据库 Ⅱ.层次型数据库 Ⅲ.网状型数据库 A. 只有Ⅰ B. Ⅰ和Ⅱ C. Ⅱ和Ⅲ D. 都适合 32.子模式DDL用来描述 ( )
A.数据库的总体逻辑结构 B.数据库的局部逻辑结构 C.数据库的物理存储结构 D.数据库的概念结构 33. 数据库三级模式体系结构的划分,有利于保持数据库的( ) A.数据独立性 B. 数据安全性 C.结构规范化 D.操作可行性 第二章 关系数据库 关系数据结构
34.关系数据模型通常由三部分组成,它们是( ) A.数据结构、数据通信、关数据操作 B.数据结构、数据操作、完整性约束 C.数据通信、数据操作、完整性约束 D.数据结构、数据通信、完整性约束 35.数据模型组成的要素是( ) A.实体、数据、数据依赖
B.数据结构、数据通信、关系操作
C.数据结构、数据操作、数据的完整性约束条件
3
D.数据结构、数据属性、数据依赖
关系数据库与关系代数
36.关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点( ) A.结构简单 B.适用于集合操作
C.有标准语言 D.可表示复杂的语义 37.用二维表结构表示实体以及实体间联系的数据模型称为( )。
A.网状模型 B.层次模型 C.关系模型 D.面向对象模型 38.同一个关系模型的任两个元组值( )。 A.不能全同 B.可全同 C.必须全同 D.以上都不是 39.一个关系中的各元组( )。
A.前后顺序不能任意颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响关系
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同 D.前后顺序不能任意颠倒,一定要按照码的属性列顺序排列 40.组成关系模型二维表的最小数据单位是( )。 A.记录 B.数据项 C.字段 D.数据库文件 41.关系数据模型的三个组成部分中,不包括( ) A.完整性规则 B.数据结构 C.恢复 D.数据操作 42.关系数据库中的码是指( )。
A.能唯一关系的属性 B.不能改动的专用保留字
C.关键的很重要的属性 D.能唯一表示元组的属性或属性集合 43.根据关系模式的完整性规则,一个关系中的“主码” 。
A.不能有两个 B.不能成为另外一个关系的外码 C.不允许为空 D.可以取值
44.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为( )。
A.外码 B.候选码 C.主码 D.超码 45.在关系模型中,一个码是( )。 A.可由多个任意属性组成 B.至多由一个属性组成
C.可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成 D.以上都不是
46.关系数据库管理系统应能实现的专门关系运算包括( )。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 47.在关系代数运算中,五种基本运算为( )。 A.并、差、选择、投影、自然连接 B.并、差、选择、交、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积
4
48.五种基本关系代数运算是 ( ) A.∪,-,×,π和σ B.∪,-,∞,π和σ C.∪,∩,×,π和σ D.∪,∩,∞,π和σ
49.关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影,选择和( ) A.交 B.笛卡尔积 C.自然连接 D.除法 50.取出关系中的某些列,并消去重复元组的关系代数运算称为( )。 A.取列运算 B.投影运算 C.连接运算 D.选择运算 51.自然连接是构成新关系常用方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( )。 A.元组 B.行 C.记录 D.属性 52.设有关系R和S,关系代数表达式R-(R-S)表示的是( ) A.R∩S B.R-S C.R∪S D.R÷S
53.在如下2个数据库的表中,若雇员信息表EMP的主键是雇员号,部门信息表DEPT的主健是部门号若执行所列出的操作,哪个操作不能执行( ) EMP DEPT
______________________________ ____________________________ 雇员号 雇员名 部门号 工资 部门号 部门名 主任 001 张 山 02 2000 01 业务部 李 建 010 王宏达 01 1200 02 销售部 应伟东 056 马林生 02 1000 03 服务部 周 垠
101 赵 敏 04 1500 04 财务部 陈力胜 ______________________________ ____________________________
A.从雇员信息表EMP中删除行'010','王宏达','01','1200'. B.在雇员信息表EMP中插入行'102','赵敬','01','1500'. C.将雇员信息表EMP中雇员号='010'的工资改为1600元 D.将雇员信息表EMP中雇员号='101'的部门号改为'05'
54.在上题雇员信息表关系EMP中,哪个属性是外码(foreign key) ( )。 A. 雇员号 B.雇员名 C.部门号 D.工资 55.设关系R和关系S的元素个数分别是3和4,关系T是R与S的笛卡尔积,即:T=R×S,则关系T的元数个数是( ) A.7 B.9 C.12 D.16
56.设有关系R和S,在下列的关系运算中,哪一种运算不要求:“R和S具有相同的元数,且它们对应属性的数据类型也相同”( ) A. R∪S B.R∩S C.R-S D.R×S 57.设有关系R(A,B,C),在下列的等式中,哪一个是不成立的( )
A.σA<2(πA, B(R))=πA, B(σA<2 (R))
5
B.πA, C(σA<2(R))=σA<2(πA, C(R)) C.πB, C(σA<2(R))=σA<2(πB,C(R)) D.πA(πA, B (R))=πA (R)
58.设关系R和关系S具有相同的元数,且对应的属性取自相同的域。集合{t/t∈R∧t∈S}标记的是( )。 A. R∪ S B. R-S C. R×S D. R∩S 59.已知关系R和关系S以及结果关系如下表所示,在下面四个选项中能得到该结果关系的一项是( )
关系R: 关系S : A B C A B E
a1 b1 5 a1 b1 3
a1 b2 6 a1 b2 7
a2 b3 8 a2 b3 10
a2 B4 12 a2 b3 2
结果关系表: A
a1
a2
B b1 b3
C 5 8 E 3 2 A.R∞S B.R ∞ C >ES C. R∞C
60.设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是( )。 A.?A(R)???D(S) B.R?S C.?B(R)??B(S) D.R??S
61.有两个关系R和S,分别包含15个和10个元组,则在R?S,R-S,R ?S中不可能出现的元组数目情况是( )。
A.15,5,10 B.18,7,7 C.21,11,4 D.25,15,0 62.设W=R??S,且W,R,S的元组个数分别为p,m,n,那么三者之间满足( )。
A.p<(m+n) B.p<=(m+n) C.p<(m*n) D.p<=(m*n)
6
63.设关系R和S的属性个数分别为2和3,那么R??S(1<2)等价于( )。
A.?1?2(R*S) B.?1?4(R*S) C.?1?2(R??S) D.?1?2(R??S)
64.有关系:R(A,B,C)(主码为A)和S(D,A)(主码为D,外码为A)参照于R的A属性。关系R和S的元组如图所示: 关系R 关系S
A 1 2 3
B 2 1 6 C 3 3 8 D 1 2 3 4 A 2 NULL 3 4 指出关系S中违反完整性规则的元组是( )。 A.(1,2) B.(2,null) C.(3,3) D.(4,1)
65.支持关系数据结构、选择、投影和(自然)连接运算,且对这些运算不必要求定义任何物理存取路径的关系系统称为( )。 A.表式系统 B.最小关系系统 C.关系完备的系统 D.全关系系统
第三章 SQL语言
66.SQL是下面哪个的缩写。( ) A.Standard Query Langu年龄 B.Select Query Langu年龄 C.Structured Query Langu年龄 D.以上都不是 67.SQL语言称为( )。 A.结构化定义语言 B.结构化控制语言 C.结构化查询语言 D.结构人操纵语言 68.SQL语言是( )的语言,简单易学。 A.过程化 B.非过程化 C.格式化 D.导航式 69.SQL语言的操作对象( )。
A.只能是一个集合 B.可以是一个或多个集合 C.不能是集合 D.可以是集合或非集合 70.SQL语言具有的功能是( )。
A.关系规范化,数据操纵,数据控制 B.数据定义,数据操纵,数据控制 C.数据定义,关系规范化,数据控制 D.数据定义,关系规范化,数据操纵
71.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中CREATE、DROP、ALTER语句实现哪种功能的( )
7
A.数据查询 B.数据操纵 C.数据定义 D.数据控制 72.SQL语言具有两种使用方式,分别称为交互式SQL和( )。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 73.在SQL语言的SELECT语句中,实现投影操作的是哪个子句( )。 A.select B.from C.where D.group by 74.SQL中,“SALARY IN (1000,2000)”语义是( )。 A.SALARY <= 2000 AND SALARY >= 1000 B.SALARY < 2000 AND SALARY > 1000 C.SALARY = 1000 AND SALARY = 2000 D.SALARY = 1000 OR SALARY = 2000
75.SQL中,下列涉及空值的操作,不正确的是 ( ) A.年龄 IS NULL
B.年龄 IS NOT NULL
C.年龄 = NULL D.NOT (年龄 IS NULL) 76.SQL语言中,实现数据检索的语句是( )。 A.SELECT B.INSERT C.UPDATE D.DELETE 77.下列SQL语句中,修改表结构的是( )。 A.ALTER B.CREATE C.UPDATE D.DELETE 78.下列SQL语句中,修改表结构的是( )。 A.CREATE B.ALTER C.UPDATE D.INSERT 79.SQL语言的GRANT和REVOKE语句主要用来维护数据库的( ) A.安全性 B.完整性 C.可靠性 D.一致性 80.SQL中,与“NOT IN”等价的操作符是 。 A.=ANY B.<>ANY C.=ALL D.<>ALL 81.设有关系R=(A,B,C)。与SQL语句SELECT DISTINCT A FROM R WHERE B=17等价的关系代数表达式是( ) A.πA (R) B.πB=17(R)
C.πA(σB=17(R)) D.σB=17 (πA (R))
82.设有关系R(A,B,C)和S(C,D)。与SQL语句 select A,B,D from R,S where R.C=S.C
等价的关系代数表达式是( )。 A.σR.C=S.C(πA,B,D(R×S))
B.πA,B,D(σR.C=S.C (R×S)) D.σR.C=S.C(πD((πA,BR)×S))
C.σR.C=S.C((πA,BR)×(πDS))
83.若用如下SQL语句创建一个表student:
CREATE TABLE student (NO CHAR(4) NOT NULL,
NAME CHAR(8)NOT NULL, SEX CHAR(2), 年龄 INT)
可以插入到student 表中的是( )。
8
A.(?1031?,?曾华?,男,23) B.(?1031?,?曾华?,NULL,NULL) C.(NULL,?曾华?,?男?,?23?) D.(?1031?,NULL,?男?,23) 84.在SQL语言中的表(Table)是数据库的( ) A.内模式 B.模式 C.外模式 D.概念模式 85.当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是( ) A. 左外联接 B. 右外联接 C. 外部并 D. 全外联接 86.下列聚合函数中不忽略空值 (null) 的是 ( )
A. SUM (列名) B. MAX (列名) C. COUNT ( * ) D. AVG (列名) 87.基本SQL语言中,不可以实现( ) A.定义视图 B.定义基表 C.查询视图和基表 D.并发控制88.允许在嵌入式的SQL域具中,引用宿主语言的程序变量,在引用时 ( )。 A.直接引用
B.这些变量前面必须加符号“*” C.这些变量前面必须加符号“:” D.这些变量前面必须加符号“&” 89.下列不属于视图的作用是( ) A.视图能简化用户的操作
B.视图能使用户以多种角度看待同一数据 C.视图能够对机密数据提供安全保护 D.视图能够保证数据的完整性 90.视图是( )。 A.基本表 B.外视图 C.概念视图 D.虚拟表 91.下面列出的关于“视图(View)”的条目中,哪一条是不正确的( )。 A.视图是外模式 B.视图是虚表
C.使用视图可以加快查询语句的执行速度 D.使用视图可以简化查询语句的编写 92.在视图上不能完成的操作是( ) A.更新视图 B.查询
C.在视图上定义新的基本表 D.在视图上定义新视图 93.SQL语言中的”视图view.”对应于数据库系统三级模式结构中的( ) A.外模式 B.模式 C.内模式 D.都不对应 94.以下有关视图查询的叙述中正确的是( )。
A.首先查询出视图中所包含的数据,再对进行查询 B.直接对数据库存储的视图数据进行查询 C.将对视图的查询转换为对相关基本表的查询 D.不能对基本表和视图进行连表操作 95.索引的作用之一是( )。 A.节省存储空间 B.便于管理
9
C.加快查询速度 D.建立各数据表之间的关系 96.以下有关索引的叙述中正确的是( )。 A.索引越多,更新速度越快 B.索引需要用户维护 C.并置索引中列的个数不受限制 D.索引可以用来提供多种存取路径 97.以下有关UNIQUE约束的叙述中不正确的是( )。 A.UNIQUE约束中不允许出现空值
B.UNIQUE用于保证列或列组合的值唯一性 C.可以定义多个UNIQUE约束
D.系统为定义了UNIQUE约束的那些列建立唯一索引 98.以下关于空值的叙述中不正确的是( )。 A.用=NULL查询指定列为空值的记录 B.包含空值的表达式其计算结果为空值 C.聚集函数通常忽略空值
D.对允许空值的列排序时,包含空值的记录总是排在最前面 99.部分匹配查询中有关通配符“%”的叙述中正确的是( )。 A.“%”代表一个字符 B.“%”代表多个字符 C.“%”可以代表零个或多个字符 D.“%”不能与“_”同使用
100.在分组检索中,要去掉不满足条件的分组,应当( )。 A.使用WHERE子句 B.使用HAVING子句
C.先使用WHERE子句,再使用HAVING子句 D.先使用HAVING子句,再使用WHERE子句 101.以下有关子查询的叙述中不正确的是( )。 A.子查询可以向其外部查询提供检索条件的条件值 B.子查询可以嵌套多层
C.子查询的结果是一个集合 D.子查询总是先于其外部查询
102.以下有关ORDER BY子句的叙述中不正确的是( )。 A.ORDER BY 子句可以对多个列进行排序
B.在SELECT语句中,ORDER BY 只能在所有其他子句之后,作为最后一个子句出现 C.子查询也可以使用ORDER BY子句 D.在视图中不能使用ORDER BY子句
103.以下有关WHERE子句的叙述中不正确的是( )。 A.WHERE子句中可以包含子查询
B.连接条件和选择条件之间应当使用OR逻辑运算
C.不包含WHERE子句的SELECT语句进行的是单纯的投影操作
D.如果FROM子句中引用了N个表,则FROM子句中至少应当包括N-1个连接条件
10
是:SELECT 姓名,成绩 FROM S,SC,C WHERE 课程名='数据库技术'AND_ S.学号=SC.学号_AND SC.课程号=C.课程号
38. 设有两个关系R (A,B,C) 和S (C,D,E),用SQL查询语句表达下列关系代数表
达式πA,E (σB = D (R∞S))的语句是SELECT
39. 一个SQL语句原则上可产生或处理一组记录,而主语句一次只能处理一个记录,为
此必须协调两种处理方式,这是通过使用游标 或 Cursor机制来解决的。
40. 数据库管理系统(DBMS)由以下三类程序组成:语言、控制数据库运行和维护数据库,
其中的语言系统分为主语言和SQL语言。 41. 删除操作、修改操作和插入操作可以引发触发器
(关系数据理论)
42. 在关系数据库的规范化设计中,对模式进行等价分解时,要具有无损连接性和保持函
数依赖
43. 在函数依赖中,平凡的函数依赖根据Armstrong推理规则中的 自反律就可推出。 44. 设有关系模式R (A,B,C,D),F是R上成立的函数依赖集,F = {D→A,D→B},
关系模式R的候选键是 CD 。 45. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→A,B→C},则分解ρ = {AB,
AC}丢失的FD是 B→C。
46. 设关系模式R (A,B,C),F是R上成立的函数依赖集F = {B→A,B→C},则将R
分解为:R1(A,B),R2(A,C),这个分解相对于R来说丢失的函数依赖是 。 47. 关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,
其中最重要的是函数依赖和多值依赖 。
48. 一个关系R不属于2NF就会产生插入异常、删除异常和修改复杂。 49. 两个函数依赖集F和G等价的充分必要条件F? G+,和G? F+ 50. 关系模式规范化过程中,若要求分解保持函数依赖,那么模式分解一定可以达到3NF,
但不一定能达到BCNF。
51. 如果一个满足1NF关系的所有属性合起来组成一个关键字,则该关系最高满足的范式
是3NF (在1NF、2NF、3NF范围内)。 52. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据
冗余度大、修改异常、插入异常和删除异常。 (数据库设计)
53. 在数据库设计的各阶段中,每个阶段都有自己的设计内容,“为哪些表,在哪些属性
上建立什么样的索引”这一设计内容应该属于_数据库物理设计_阶段。 54. 一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软件
的可重用性 (或共享性) 。
55. 数据库设计分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、
数据库设施、运行和维护。
56. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为子类型
21
57. 概念结构是对现实世界中的一种抽象,这种抽象有分类、聚集、概括。 58. 将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中逻辑结构
或 逻辑设计阶段的任务。 59. 在设计分E-R图时,由于各个子系统分别有不同的应用,所以各个分E-R图之间难免
有不一致的地方,这些冲突主要有属性、命名和结构三类。
(数据库管理系统)
60. 在计算机软件系统的体系结构中,数据库管理系统位于用户和操作系统 之间。
61. IBM DB2对关系型数据库进行面向对象的扩展,提供对面向对象的支持,主要包括:
用户定义数据类型(UDT),用户定义函数(UDF)和大对象(LOB),形成新一代对象关系型_数据库系统。
62. 如果多个事务在某个调度下的执行结果与这些事务在某个串行调度下的执行结果相
同,则称这个调度为可串行化调度。
63. 为保证对故障恢复的支持,登记日志记录时必须先把日志记录写到外存的日志文件
中,再把相应的数据库修改写到外存的数据库中。这称做先写日志 原则。
64. 事务必须具有的四个性质是:原子性、一致性、隔离性和持久性。通过加锁可以保证
处理程序并发时的数据一致性。
65. 事务有活动状态、局部提交状态、失败状态、中止状态和提交状态。
66. DB并发操作通常会带来三类问题,它们是丢失更新、 不可重复读和读脏数据。 67. 数据库管理系统(DBMS) 提供数据操纵语言(DML) 及它的翻译程序,实现对数据库
数据的操作,包括数据插入、删除、更新和查询 。 68. 恢复的实现技术有转储和登记日志文件。
69. 设两个关系有参照和被参照的联系,当在被参照关系中删除元组时有:级联删除、不
允许删除和置空值删除三种不同的策略。
70. 在数据库并发控制中,两个或更多的事务同时处于相互等待状态,称为死锁。 71. 数据库的完整性是指数据的实体的完整性和参照完整性 。 72. ________ 和________ 一起组成了DBMS的安全子系统 73. 基本的封锁类型有排它锁和共享锁两种。 74. 若事务T对数据对象A加了S锁,则其他事务只能对数据A再加 S锁 ,不能加 X
锁 ,直到事务T释放A上的锁。
75. 安全性控制的一般方法有______ 、______、______、_______、______。
76. 数据库系统在运行过程中,可能会发生故障,故障主要有事务故障、系统故障、介质故
障、病毒故障四类。
77. 数据转储可分为静态存储和动态存储两种方式。 78. 封锁对象的大小称为封锁粒度 。
79. ______是对数据库系统的静态特性的描述,______是对数据库动态特性的描述。 80. 数据库保护包含数据的________、 _____、_____、
81. 关系的完整性约束是指实体的完整、参照的完整性、用户定义的完整性。 82. 数据库系统是利用存储在外存上的其他地方的来重建被破坏的数据库,它主要有数据
22
库和日志文件两种。
83. 在数据库中,死锁的预防通常有_____和_____两种。 84. 数据库完整性的静态约束条件分为:值的约束和______。 85. DBMS并发控制的单位为事务。
86. 数据库恢复要涉及到的两个技术是转储和登记日志文件。
87. (其它)
88. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和不相
交条件。
89. 分布式数据库系统中透明性层次越高,应用程序的编写越简单 (或容易)。
90. 数据库中常用的四种文件组织方式是:顺序文件、随机文件、散列文件、倒排文件。 91.
92. 关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的______、语言
一体化、并且是建立在数学理论基础之上。
93. 数据库的物理设计主要考虑三方面的问题:选择存取方法、分配存储空间、实现存取
路径。
94. 构成系统说明书的两个重要文档是______。
95. 当数据库系统的概念模式改变时()要作相应的改变,以保证外模式保不变。 96. 函数依赖X→Y能由Armstrong推理规则导出的充分必要条件是()。 97. 嵌入式SQL需要用(游标)把集合操作转换成单记录处理方式。 98. 在SQL中表达完整性约束的规则有多种形式,其主要约束有()。 99. 客户/服务器体系结构的关键在于( )。
100. 在数据库管理系统的层次结构中,数据存取层处理的对象是单个【元组 或 记录】。
它把上层的集合操作转化为单记录操作。
101. 一般来说,商品化的数据库管理系统,如Oracle,其产品主要包括数据库服务器软
件、【开发工具或工具】软件和连接软件三类。
102. PowerDesigner是SYBASE公司提供的CASE工具,它包括多个模块,其中用于数
据库概念数据建模(CDM)的模块是【DataArchitect】。
103. 一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软
件的__可重用性 (或共享性)__。 104. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和____
不相交条件___。
105. 分布式数据库系统中透明性层次越高,应用程序的编写越______简单 (或容易_________。
106. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为______子类型_________。
三、 判断题
1. 数据库系统与数据库管理系统概念是一样的。 (×)
2. 完整的数据库系统是由计算机硬件、操作系统、数据库管理系统、数据库及在其上面
23
开发的应用软件的全体组成。(√)
3. 关系模型是以图的形式来描述实体之间的联系。(×) 4. 组成关系模型二维表的最小数据单位是数据项。(√) 5. 数据库事务的原子性是指事务在执行过程中不能中断。(√) 6. 对关系模型来说,范式级别越高,实际应用效果越好。(×) 7. 关系模式实质上是一个二维表。(×)
8. 4.应用程序员的职责是设计和编写应用系统的程序模块,并进行调试和安装。(√) 9. 在关系连接运算中自然连接和等值连接是相同的。(×) 10.关系模式和关系是相同的。(×)
11.在关系中列的顺序无所谓,即列的次序可以任意交换。(√) 12.任意两个元组不能完全相同。(√)
13.若关系R满足2NF,则在R中不存在传递函数依赖。(×) 14.若关系R满足2NF,则在R中不存在部分函数依赖。(√) 15.若关系R满足BCNF,则在R中每个确定因素都包含码。(√) 16.面向集合的操作方式是SQL语言的特点之一。(√) 17.设关系R(A,B,C)和S(A,D,E,F),有R.A= S.A。用SQL语句:
18.SELECT R.A,R.B,S.D,S.F FROM R,S WHERE R.A(*)=S.A 进行连接查询。
这个连接是右连接。(×)
19.视图是关系数据库系统提供给用户以多种角度观察数据库中的数据的重要机制。(√) 20.视图也是一个表。(×)
21.日志文件是记录用户对数据库所做的操作。(×)
22.如果事务T获得了数据项Q上的排它锁,则T对Q不能读不能写(× )。
四、 名词解释
1. 数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文
等等。数据与其语义是不可分的。
2. 数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的
数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
3. 数据库系统:数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。数
据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 4. 数据库管理系统 :数据库管理系统 (DBMS)是位于用户与操作系统之间的一层数据
管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 5. 实体:客观存在并可以相互区分的事物叫实体。
6. 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽
象和刻画同类实体称为实体型。
7. 实体集:同型实体的集合称为实体集。
8. 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画
24
9. 码:唯一标识实体的属性集称为码。
10.候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
( Candidate key)。
11.主码:若一个关系有多个候选码,则选定其中一个为主码( Primary key)。
12.外部码:设 F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本
关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreign key),简称外码。基本关系 R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。 13.关系模式:
关系的描述称为关系模式( Relation Schema)。它可以形式化地表示为: 7 R(U,D,dom,F)
其中 R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。 14.关系:
在域 D1,D2,?,Dn上笛卡尔积D1×D2×?×Dn的子集称为关系,表示为: R(D1,D2,?,Dn) 15.关系数据库:
关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。 16. 相关子查询
在嵌套查询中,子查询中查询条件依赖于外层查询中的某个值,所以子查询的处理不只一次,要反复求值,以供外层查询使用。这种嵌套查询称为相关子查询。 17. 连接查询
查询时先对表进行笛卡尔积操作,然后再做等值联接、选择、投影等操作。联接查询的效率比嵌套查询低
18.基本表:基本表是本身独立存在的表,在 SQL中一个关系就对应一个表。 19. 视图
视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图
20. 交互式SQL:在终端交互方式下使用的SQL语言称为交互式SQL。
21. 嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言称为嵌入式SQL。 22.主变量:在嵌入的SQL语句中引用宿主语言的程序变量称为主变量。
23.游标:游标是与某一查询结果相联系的符号名,用于把集合操作转换成单记录处理方
式。
24. 数据库的安全性 :数据库的安全性是指保护数据库以防止不合法的使用所造成的数
据泄露、更改或破坏。
25
25. 数据库的完整性:数据库的完整性是指数据的正确性和相容性。
26. 关系模式的规范化:把一个低一级的关系模式分解为高一级关系模式的过程。 27.函数依赖
设 R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同, 而在Y上的属性值不同, 则称\函数确定Y\或\函数依赖于X\,记作X→Y。 28.完全函数依赖和部分函数依赖
在 R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有Y不函数依赖 X′,则称Y对X完全函数依赖;若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖; 29.传递依赖
在关系模式中,如果X→Y,Y→Z,且X决定Y,和Z不属于Y,那么称Y→Z是传递依赖。
30.1NF(第一范式)
如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。
第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。
31.2NF(第二范式)
如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 32.3NF(第三范式)
如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。
33. BCNF (BC范式)
如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式
34. 4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立
非平凡多值依赖X→→Y时,X必是R的超键,那么称R是第四范式的模式。
35. 推理规则的正确性和完备性:正确性是指,如果X→Y是从推理规则推出的,那么
X→Y在F+中。完备性是指,不能从F使用推理规则导出的函数依赖不在F+中。 36. 依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,
则称F和G是等价的。如果F和G等价,则可称F覆盖G或G覆盖F。
37.最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单
属性;(2)F中的任一函数依赖X→A,其F-{X→A}与F是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集。(F-{X→A}∪{Z→A}与F不等价。则称F为最小函数
26
依赖集合,记为Fmin。 38. 无损联接:设R是一关系模式,分解成关系模式ρ={R1,R2...,Rk},F是R上的一个函
数依赖集。如果对R中满足F的每一个关系r都有r=πR1(r)|X|πR2(r)|X|...|X|πRk(r)则称这个分解相对于F是\无损联接分解\。
39.保持依赖集:谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不
变,即关系模式R到ρ={R1,R2,...,Rk}的分解,使函数依赖集F被F这些Ri上的投影蕴涵。 40.多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y,
用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) X→→Y在关系模式R中成立。
41. 事务:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做 ,是一
个不可分割的工作单位。
42.日志文件 :日志文件是用来记录事务对数据库的更新操作的文件。 43. 数据库镜像
数据库镜像即根据 DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。 44. 封锁
封锁就是事务 T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。 45.排它锁(X锁)
排它锁又称为写锁。若事务 T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 46.共享锁(S锁))
共享锁又称为读锁。若事务 T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 五、 简答题 (本大题共10小题,每小题3分,共30分) 1. 试述文件系统与数据库系统的区别和联系。
答:文件系统与数据库系统的区别:
文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。
数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
文件系统与数据库系统的联系是:
27
2.
3.
4.
5.
6.
文件系统与数据库系统都是计算机系统中管理数据的软件。 试述数据库系统的特点。
答:数据库系统的主要特点有: 1)数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
2)数据的共享性高,冗余度低,易扩充
数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
3)数据独立性高
数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
4)数据由 DBMS统一管理和控制
数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此, DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。 简述逻辑数据的独立性。
答:当对数据库的概念模式进行修改时,内模式尽可能保持不变或尽量少的作修改,即对概念模式的修改尽量不影响外模式和应用程序,称数据库达到了逻辑数据独立性。 数据库管理系统的主要功能有哪些? 答:①数据库定义功能; ②数据存取功能; ③数据库运行管理;
④数据库的建立和维护功能。
试述数据模型的概念、数据模型的作用和数据模型的三个要素。
答:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。
②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 试述概念模型的作用。
28
答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
7. 试给出三个实际情况的E-R图,要求实体型之间具有一对一、一对多、多对多各种不同
的联系。
1 1 1 n 零部件 学校 学校 担任 设置 校长 系 n 组装 m 数量 实体内部的多对多联系
8. 试给出一个实际部门的E-R图,要求有三个实体型,而且三个实体型具有多对多的联系。三
个实体型之间的多对多联系和三个实体型两两之间的多对多的联系等价吗?为什么? 答:
旅行社 n 组团 人数 供应商 n 供应 人数 m 景点 p 游客 m 项目 p 零件 三个实体型的多对多的定义:
若对实体集E1, E2, E3??En,存在对实体集中的Ej(j=1,2, ??i-1,i+1, ??En)中给定的实体,可和Ei中多个实体相联系。反过来,对于实体Ei中给定的实体也只与Ej(j=1,2, ??i-1,i+1, ??En)多个相联系,则称三个实体型具有多对多的联系。 9. 试述关系模型的三个组成部分
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
10. 数据库的三级模式和两级映象体系结构中,模式/内模式映象存在于概念级和内部级之
间,用于定义概念模式和内模式间的对应性。其主要作用是什么?
答:由于概念模式和内模式的两级的数据结构可能不-致,即记录类型、字段类型的命名、组成可能不一致,用这个映象说明概念记录和内部记录间的对应性。 11. 试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类: 关系代数语言 例如 ISBL
关系演算语言 (元组关系演算语言 例如 APLHA,QUEL 和 域关系演算语言 例如QBE)
具有关系代数和关系演算双重特点的语言 例如 SQL
29
这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
12. 在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
答:在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。 例如,在下面的 “学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。
学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)
而在下面的 “选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。 课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
13. 试叙述等值连接与自然连接的区别和联系
答:自然连接( Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。 14. 关系代数的其本运算有哪些?
答:基本运算有:并、差、笛卡尔积、选择、投影。 15. 关系模式和关系实例有什么区别?
答:关系模式是型,是对关系的描述,描述元组集合的结构、元组语义以及完整性约束条件和属性间的数据依赖关系集合。
关系实例是值,是某时刻关系的值 16. 试述SQL语言的特点。
答:SQL语言具有以下特点:
(1)综合统一。 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
(2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。
(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。 17. 试述SQL的定义功能。
答:SQL的数据定义功能包括定义表、定义视图和定义索引。 SQL语言使用CREATE TABLE语句定义建立基本表,;ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;建立索引使用CREATE INDEX语句建立索引, DROP INDEX语句删除索引表;SQL语言使用CREATE VIEW命令建立视图,DROP VIEW语句删
30
除视图。
18. 什么是基本表?什么是视图?两者的区别和联系是什么?
答:基本表是本身独立存在的表,在 SQL中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
19. 两个关系进行外连接时有哪几种类型? 20. 试述视图的优点。
答:视图有以下优点:
(1)视图能够简化用户的操作。
(2)视图使用户能以多种角度看待同一数据。
(3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。 21. 所有的视图是否都可以更新?为什么?
答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。
22. 试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。
答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《 DoD 可信计算机系统评估标准》 (伽sted Co 哪uter system Evaluation criteria ,简称TcsEc ,又称桔皮书)。(TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《 可信计算机系统评估标准关于可信数据库系统的解释》 (Tmsted Database Interpretation 简称TDI , 又称紫皮书)。在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。
23. 试述TcsEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。
答:根据计算机系统对安全性各项指标的支持情况,TCSEC ( TDI )将系统划分为四组(division ) 7 个等级,依次是D 、C ( CI , CZ )、B ( BI , BZ , B3 )、A ( AI ) ,按系统可靠或可信程度逐渐增高。
31
这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:
D 级D 级是最低级别。一切不符合更高标准的系统,统统归于D 组。 Cl 级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制(DAC ) ,保护或限制用户权限的传播。
C2 级实际是安全产品的最低档次,提供受控的存取保护,即将Cl 级的DAC 进一步细化,以个人身份注册负责,并实施审计和资源隔离。
Bl 级标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC )以及审计等安全机制。
B2 级结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC 和MACo
B3 级安全域。该级的TCB 必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。
Al 级验证设计,即提供B3 级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。
24. 什么是数据库的安全性?
答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
25. 数据库安全性和计算机系统的安全性有什么关系?
答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,
26. 试述实现数据库安全性控制的常用方法和技术。
答:实现数据库安全性控制的常用方法和技术有: (1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每
次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 (2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,
32
所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); (3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用
户隐藏起来,从而自动地对数据提供一定程度的安全保护。 (4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,
DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 (5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法
获知数据的内容。
27. 什么是数据库中的自主存取控制方法?
答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 28. 什么是数据库中的强制存取控制方法?
答:强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
29. 为什么强制存取控制提供了更高级别的数据库安全性?
答:强制存取控制( MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。
30. 理解并解释MAC 机制中主体、客体、敏感度标记的含义。
答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和 客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label )。
敏感度标记被分成若干级别,例如绝密(Top Secret )、机密(Secret )· 可信( Confidential )、公开(PubliC )等。主体的敏感度标记称为许可证级别(ClearanCe 玫vel ) ,客体的敏感度标记称为密级(班级ification Level )。 31. 什么是数据库的审计功能,为什么要提供审计功能?
答:审计功能是指 DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能, DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 32. 什么是数据库的完整性?
答:数据库的完整性是指数据的正确性和相容性。
33. 数据库的完整性概念与数据库的安全性概念有什么区别和联系?
答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓
33
垃圾进垃圾出( Garb年龄 In Garb年龄 Out)所造成的无效操作和错误结果。 后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
34. 什么是数据库的完整性约束条件?可分为哪几类?
答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。
35. DBMS的完整性控制机制应具有哪些功能?
答: DBMS的完整性控制机制应具有三个方面的功能: 1) 定义功能,即提供定义完整性约束条件的机制。
2) 检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。
3) 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的
动作来保证数据的完整性。
36. SQL中表达完整性约束的规则主要有哪几种?
答:有主键约束、外键约束、属性值约束和全局约束等。 37. RDBMS在实现参照完整性时需要考虑哪些方面?
答: RDBMS在实现参照完整性时需要考虑以下几个方面: 1)外码是否可以接受空值
2)删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种: (a) 级联删除(CASCADES); (b) 受限删除(RESTRICTED); (c) 置空值删除(NULLIFIES)
3)在参照关系中插入元组时的问题,这时系统可能采取的作法有: (a)受限插入 (b)递归插入
4)修改关系中主码的问题
一般是不能用 UPDATE语句修改关系主码的。如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。
如果允许修改主码,首先要保证主码的唯一性和非空,否则拒绝修改。然后要区分是参照关系还是被参照关系。
38. 设有关系R和S,其中R为参照关系,S为被参照关系。为了实现完整性约束,SQL规
定可以对R的删除操作采取哪三种措施? 答:(1) RESTRICT (或 约束删除)
(2) CASCADE (或级联删除) (3) SET NULL (或外键值置空)
39. 关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一
般是如何分别进行处理的?
答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处
34
理。而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。
40. 两个函数依赖集F和G等价的充分必要条件是什么?
答:F中每个FD在G+ 中,并且G中每个FD也在F+ 中。 41. 什么是多值依赖中的数据依赖?举例说明。
答:在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。例如,教师和学生之间没有直接联系,但教师和学生可通过系名,或任课把教师和学生联系起来。
42. 试述数据库设计过程。
答:数据库设计过程为: 1) 需求分析 2) 概念结构设计 3) 逻辑结构设计 4) 数据库物理设计 5) 数据库实施
6) 数据库运行和维护
这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
43. 试述数据库设计过程的各个阶段上的设计描述。 答:各阶段的设计要点如下:
1) 需求分析:准确了解与分析用户需求(包括数据与处理)。 2) 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS
的概念模型。 3) 逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。 4) 数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储
结构和存取方法)。
5) 数据库实施:设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设
计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6) 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 44. 试述数据库设计过程中结构设计部分形成的数据库模式。
答:数据库结构设计的不同阶段形成数据库的各级模式,即:
在概念设计阶段形成独立于机器特点,独立于各个 DBMS产品的概念模式,即E-R图; 在逻辑设计阶段将 E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式; 在物理设计阶段,根据 DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
35
概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是 DBMS支持的模式,属于数据模型的层次。可以在DBMS中加以描述和存储。 45. 试述数据库设计的特点。
答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:
1) 数据库建设是硬件、软件和干件(技术与管理的界面)的结合。
2) 从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整
个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。
46. 需求分析阶段的设计目标是什么?
答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 47. 需求分析阶段调查的内容是什么?
答:调查的内容是 “数据”和“处理”,即获得用户对数据库的如下要求: (1) 信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数
据要求,即在数据库中需要存储哪些数据。 (2) 处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式
是批处理还是联机处理。 (3) 安全性与完整性要求。
48. 为什么说需求分析是数据库系统开发中最困难的任务之一?
答:(1)系统本身的需求是不断变化的;
(2)由于用户缺少计算机信息系统设计方面的专业知识,要准确表达需求很困难; (3)通过需求分析可以沟通用户与设计人员。 49. 数据库系统生存期是什么?
答:把数据库应用系统从开始规划、系统分析、系统设计、实施、投入运行后的维护到最后由新的系统替换原有的数据库系统的整个期间。 50. 数据字典的内容和作用是什么?
答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:数据项、数据结构、数据流、数据存储、处理过程五个部分
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。 51. 什么是数据库的概念结构及特点?
答: 概念结构是信息世界的结构,即概念模型,其主要特点是: (1) 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据
的处理要求。是对现实世界的一个真实模型。 (2) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数
据库的设计成功的关键。
36
(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 (4) 易于向关系、网状、层次等各种数据模型转换。 52. 试述概念结构的设计策略。
答:概念结构的设计策略通常有四种:
? 自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
? 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概
念 结构;
? 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步
生成其他概念结构,直至总体概念结构;
? 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结
构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
53. 什么叫数据抽象?试举例说明。
答: 数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。
如分类这种抽象是:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的 “is member of”的语义。在E-R模型中,实体型就是这种抽象。例如在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研。 54. 试述数据库概念结构设计的重要性和设计步骤。
答:数据库概念结构设计的重要性是:
数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一 DBMS实现这些需求。 设计步骤为:
概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第 1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构
55. 为什么要视图集成?
答:在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。 56. 视图集成的方法是什么?
答:一般说来,视图集成可以有两种方式: · 多个分 E-R图一次集成; · 逐步集成,用累加的方式一次集成两个分 E-R图。
无论采用哪种方式,每次集成局部 E-R图时都需要分两步走:
37
(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。 (2)修改和重构。消除不必要的冗余,生成基本E-R图。 57. 什么是数据库的逻辑结构设计?试述其设计步骤。
答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。 设计步骤为:
(1) 将概念结构转换为一般的关系、网状、层次模型;
(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换; (3) 对数据模型进行优化。
58. 规范化理论对数据库设计有什么指导意义?
答:规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。 59. 试述数据库物理设计的内容和步骤。
答:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的 DBMS 。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步: ( l )确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; ( 2 )对物理结构进行评价,评价的重点是时间效率和空间效率。
60. 试述查询优化在关系数据库系统中的重要性和可能性。
答:重要性:关系系统的查询优化既是 RDBMS 实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化?夕做得更好。
可能性:这是因为: ( l )优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引( B +树索引还是 HASH 索引或惟一索引或组合索引)等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。 ( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。 ( 3 )优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。 ( 4 )优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术。 61. 试述RDBMS查询优化的一般准则。 答:查询优化的一般准则是: (l)选择运算应尽可能先做;
(2)把投影运算和选择运算同时进行;
(3)把投影同其前或其后的双目运算结合起来执行;
(4)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;
38
(5)找出公共子表达式; (6)选取合适的连接算法。
62. 试述RDBMS查询优化的一般步骤。
答:各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下: (l)把查询转换成某种内部表示,通常用的内部表示是语法树。
(2)把语法树转换成标准(优化)形式。即利用优化算法,把原始的语法树转换成优化的形式。
(3)选择低层的存取路径。
(4)生成查询计划,选择代价最小的。 63. 试述事务的概念及事务的四个特性
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做 ,是一个不可分割的工作单位。
事务具有四个特性:原子性( Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性( Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 64. 恢复技术能保证事务的哪些特性?
65. 为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为 Q的某种零件从仓库1移到仓库2存放。
则可以定义一个事务 T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。
66. 数据库中为什么要有恢复子系统?它的功能是什么?
答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。
67. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏
数据库数据?
答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:
39
(1)事务内部的故障; (2)系统故障; (3)介质故障; (4)计算机病毒。
事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。
68. 据库恢复的基本技术有哪些?
答:数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
69. 数据库转储的意义是什么? 试比较各种数据转储方法。
答:数据转储是数据库恢复中采用的基本技术。所谓转储即 DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。
静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。 动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。
为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件( log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。 转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。 70. 什么是日志文件?为什么要设立日志文件? 答:(1)日志文件是用来记录事务对数据库的更新操作的文件。
(2)设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。
71. 登记日志文件时为什么必须先写日志文件,后写数据库?
答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次 UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
72. 数据库故障有哪些类型?针对不同的故障,试给出恢复的策略和方法。(即如何进行事务
40
故障的恢复?系统故障的恢复?介质故障恢复?)
答:数据库故障有:事务故障、系统故障、介质故障和计算机病毒。
1)事务故障的恢复:事务故障的恢复是由 DBMS自动完成的,对用户是透明的。 DBMS执行恢复步骤是:
(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。 (2)对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。 (3)继续反向扫描日志文件,做同样处理。
(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。 2)系统故障的恢复:
系统故障可能会造成数据库处于不一致状态:
一是未完成事务对数据库的更新可能已写入数据库;
二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。
因此恢复操作就是要撤销 (UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。
系统的恢复步骤是:
(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列(UNDO队列)。
(2)对撤销队列中的各个事务进行UNDO处理。
进行 UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”(Before Im年龄)写入数据库。 (3)对重做队列中的各个事务进行REDO处理。
进行 REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”(After Im年龄)写入数据库。 3) 介质故障的恢复:
介质故障是最严重的一种故障。
恢复方法是重装数据库,然后重做已完成的事务。具体过程是:
(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态。
(2)DBA装入转储结束时刻的日志文件副本
(3)DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。 73. 什么是检查点的记录?检查点的记录包含哪些检查点的记录? 74. 具有检查点的恢复技术有什么优点?
答:利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要 REDO,哪些事务需要UNDO。一般来说,需要检查所有日志记录。这样做有两个问题: 一是搜索整个日志将耗费大量的时间。
二是很多需要 REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。 检查点技术就是为了解决这些问题。 75. 试述使用检查点方法进行恢复的步骤。
41
答:① 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
② 由该检查点记录得到检查点建立时刻所有正在执行的事务清单 ACTIVE-LIST。 这里建立两个事务队列 : · UNDO-LIST: 需要执行undo操作的事务集合; · REDO-LIST: 需要执行redo操作的事务集合;
把 ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。 ③ 从检查点开始正向扫描日志文件 · 如有新开始的事务 Ti,把Ti暂时放入UNDO-LIST队列; · 如有提交的事务 Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;
④ 对 UNDO-LIST中的每个事务执行UNDO操作, 对REDO-LIST中的每个事务执行REDO操作。
76. 什么是数据库镜像?它有什么用途?
答:数据库镜像即根据 DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。 数据库镜像的用途有:
一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时 DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。
二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。 77. 在数据库中为什么要并发控制?并发控制能保证事务的哪些特性? 答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和 /或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
78. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读 “脏”数据。 (1)丢失修改(Lost Update)
两个事务 T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。
(2)不可重复读(Non-Repeatable Read)
不可重复读是指事务 T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。
(3)读“脏”数据(Dirty Read)
读 “脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。
42
避免不一致性的方法和技术就是并发控制。最常用的并发控制技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 79. 什么是封锁?基本的封锁类型有几种?试述它们的含义。
答:封锁就是事务 T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种 : 排它锁(Exclusive Locks,简称X锁) 和共享锁(Share Locks,简称S锁)。
排它锁又称为写锁。若事务 T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁又称为读锁。若事务 T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 80. 如何用封锁机制保证数据的一致性?
81. 什么是活锁?试述活锁的产生原因和解决方法。
答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。
避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
82. 什么东西是死锁?请给出预防死锁的若干方法。
答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。
防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法: ( 1)一次封锁法
要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。 ( 2)顺序封锁法
预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 不过,预防死锁的策略不大适合数据库系统的特点。
83. 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
答:数据库系统一般采用允许死锁发生, DBMS检测到死锁后加以解除的方法。 DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。
超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。
DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当
43
然,对撤销的事务所执行的数据修改操作必须加以恢复。 84. 什么样的并发调度是正确的调度?
答:可串行化( Serializable)的调度是正确的调度。
可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。 85. 设T1、T2、T3是如下的三个事务,设A的初始值为0; T1:A:=A+2; T2:A:=A*2; T3:A:=A**2;
若这3个事务允许并发执行,则有多少种可能的正确结果,请一一列出来; 请给出一个可串行化的调度,并给出执行结果; 请给出一个非串行化的调度,并给出执行结果;
若这三个事务遵守两段锁协议,请给出一个不产生死锁的可串行化调度; 若这三个事务遵守两段锁协议,请给出一个产生死锁的调度; 答:有六种正确的结果: 1. T1—T2—T3 16 2. T1—T3—T2 8 3. T2—T1—T3 4 4. T2—T3—T1 2 5. T3—T1—T2 4 6. T3—T2—T1 2
86. 如今有三个事务的一个调度r3(B),r1(A),w3(B),r2(B),r2(A),w2(B),r1(B),w1(A),该调度是冲
突可串行化调度吗?为什么? 答:是,因为:
r3(B),r1(A),w3(B),r2(B),r2(A),w2(B),r1(B),w1(A) 等价:
r3(B), w3(B),r2(B), r2(A),w2(B), r1(B), r1(A),w1(A),
87. 试述两段锁协议的概念。
答:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。 · 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; · 在释放一个封锁之后,事务不再申请和获得任何其他封锁。 “两段”的含义是,事务分为两个阶段:
第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。
第二阶段是释放封锁,也称为收缩阶段。在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。
88. 举例说明为什么要引进意向锁? 意向锁的含义是什么?
答:引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。
44
原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁 —显式封锁和隐式封锁。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突;还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突;显然,这样的检查方法效率很低。为此引进了意向锁。 意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。
例如事务 T要对某个元组加X锁,则首先要对关系和数据库加IX锁。换言之,对关系和数据库加IX锁,表示它的后裔结点—某个元组拟(意向)加X锁。
引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务 T要对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了IX,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。
89. 试述常用的意向锁:IS锁,IX锁,SIX锁,给出这些锁的相容矩阵。
答:
IS锁 ——如果对一个数据对象加 IS锁,表示它的后裔结点拟(意向)加S锁。例如,要对某个元组加S锁,则要首先对关系和数据库加IS锁 。
IX锁:——如果对一个数据对象加 IX锁,表示它的后裔结点拟(意向)加X锁。例如,要对某个元组加X锁,则要首先对关系和数据库加IX锁。
SIX锁——如果对一个数据对象加 SIX锁,表示对它加S锁,再加IX锁,即SIX = S + IX。
相容矩阵(略)
90. 什么是封锁协议?不同级别的封锁协议的主要区别是什么?
答:在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用 X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定或者规则称为封锁协议(Locking Protocol)。对封锁方式约定不同的规则,就形成了各种不同的封锁协议。不同级别的封锁协议,例如《概论》中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。
一级封锁协议:事务 T在修改数据R之前必须先对其加X锁,直到事务结束才释放。 二级封锁协议:一级封锁协议加上事务 T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。
三级封锁协议:一级封锁协议加上事务 T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
91. 不同封锁协议与系统一致性级别的关系是什么? 答:不同的封锁协议对应不同的一致性级别。
一级封锁协议可防止丢失修改,并保证事务 T是可恢复的。在一级封锁协议中,对读数据是不加S锁的,所以它不能保证可重复读和不读“脏”数据。
二级封锁协议除防止了丢失修改,还可进一步防止读 “脏”数据。在二级封锁协议中,由于读完数据后立即释放S锁,所以它不能保证可重复读。 在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。所以三级封锁协议除防止了丢失修改和不读 “脏”数据外,还进一步防止了不可重复读。
45
92. 数据库是一个共享资源,在多用户共享系统中,并发操作的含义是什么?
答:在多用户共享系统中,多个用户同时对同一数据进行操作称为并发操作。
1.设关系模式R(A,B) 和S(C,D),有关系代数表达式E = πA,C(σB = ?d?(R×S)),请画出表达式E的语法树。
2.什么是分布式数据库的分布透明性?
答: 分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。 3.什么是对象关系数据模型?
答:在传统的关系数据模型基础上,提供元组、数组、集合等数据类型以及处理新的数据类型操作的能力,这样形成的数据模型,称为“对象关系数据模型”。 4.简述ORDBS的中文含义。
答:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS) 5.没有关系R和S如下,写出R÷S计算结果。
R A B C a 1 2 b 1 2 b 3 4 c 1 2 d 3 4 S b C 1 2 3 4 R÷S计算结果R÷S
六、 设计题
1.设有描述学校情况的U关系。
U(S#,SD,MN,CN,G)
其中:S#属性表示学生学号,SD表示学生所在系名,MN表示系主任,CN表示课程名,G表示成绩。一个系有若干名学生,一个学生只属于一个系,一个系只有一名系主任,一个学生可选多门课,每个学生选每门课有一个成绩。试写出U关系中的函数依赖,并给每个函数依赖一个简短说明。 答:S#→SD 学生学号,决定其所在系名; SD→MN 系名决定了其所在系的系主任; S#,CN→G学号和课程决定该生此课程的成绩。
2.设有关系:职工关系EMPLOYEE (职工号,职工名,街道,城市)
工作关系WORKS (职工号,公司号,工资) 公司关系COMPANY (公司号,公司名,城市) (1) 假设一个职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为?C2?和?C5?公司兼职的职工的职工号。
46
(2)试用SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5﹪。
UPDATE WORKS
SET工资 = 工资 * 1.05 WHERE公司号IN (SELECT公司号 FROM COMPANY
WHERE公司名 =?联华公司?);
3.图书出版管理数据库中有两个基本表:
图书 (书号,书名,作者编号,出版社,出版日期) 作者 (作者编号,作者名,年龄,地址)
试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
SELECT 作者名,书名,出版社
FROM 图书,作者
WHERE 图书 . 作者编号 = 作者 . 作者编号 AND 年龄 < = (SELECT AVG (年龄) FROM 作者);
4.学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:
学生 (学号,姓名,专业,入学日期) 收费 (学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。
试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句) CREATE TABLE 学生 (学号 CHAR (8), 姓名 CHAR (8), 专业 CHAR (13), 入学日期 DATE,
PRIMARY KEY (学号)); CREATE TABLE 收费 (学年 CHAR (10), 学号 CHAR (8), 学费 NUMERIC (4), 书费 NUMERIC (5,2), 总金额 NUMERIC (7,2), PRIMARY KEY (学年,学号),
FOREIGN KEY (学号) REFERENCES 学生 (学号));
47
5.在“学生一选课一课程”数据库中的3个关系如下:
学生(学号,姓名,年龄,性别,班级) 选课(学号,课程号,成绩)
课程(课程号,课程名,学分,学时,任课教师) .
(一)试用关系代数表达式和SQL语言表示下列查询要求。 (1) 查询选修了课程名为DB的学生姓名和所在班级。
Π姓名,班级(学生∞选课∞ σ课程名='DB' (课程)) SELECT 姓名,姓名, 班级 FROM 学生
WHERE 学号 IN (SELECT 学号 FROM 选课,课程 WHERE 选课.课程号=课程.课程号 AND 课程名='DB') (2) 查询?刘军?老师所授课程的课程号、课程名。
π课程号,课程名(σ任课教师='刘军'(课程))
SELECT 课程号,课程名 FROM 课程 WHERE 任课教师=?LIU? (3) 求选修课程包含“刘军”老师所授课程之一的学生学号 (4) 查询年龄大于23岁的男学生的学号与姓名。 π学号,姓名(σ年龄>'23'∧性别='男'(学生))
SELECT 学号,姓名 FROM S WHERE (年龄>23) AND (性别=?男?) (5) 查询学号为S3学生所学课程的课程名与任课教师名。
π课程名,任课教师(σ学号='S3'∧选课.课程号=C.课程号(选课×课程))
(也可将两个关系自然连接后选择、投影)
π课程名,任课教师(σ学号='S3' ( 学生∞选课))
(6) 查询至少选修LIU老师所授课程中一门课程的女学生的姓名。
π姓名(σ性别='女'∧任课教师='刘军'(学生∞选课∞课程))
SELECT 姓名 FROM 学生 WHERE 性别=?女? AND 学号 IN (SELECT 学号 FROM 选课 WHERE 课程号 IN
(SELECT 课程号 FROM 课程 WHERE 任课教师=?LIU?)
(7) 查询WANG同学不学的课程号。
π课程号(选课)- π课程号(σ姓名='WANG'∧学生.学号=选课.学号(学生×选课))
SELECT 课程号 FROM C WHERE 课程号 NOT IN (SELECT 课程号 FROM 选课 WHERE 学号 IN
48
(SELECT 学号 FROM S WHERE 姓名='WANG'))
(8) 查询至少选修两门课程的学生学号。
π学号(σ1=4∧2≠5(选课×选课)) (选课自乘之后,同一个学号下两个课程号不同的元组)
SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(课程号)>=2 (9) 查询全部学生都选修的课程的课程号与课程名。
π课程号, 课程名 (选课∞(π学号,课程号(选课)?π学号(学生)))
(涉及到全部值时,应用除法,“除数”是全部量。)
SELECT 课程号,课程名 FROM 课程 WHERE NOT EXISTS (SELECT * FROM 学生 WHERE NOT EXISTS
(SELECT * FROM 选课 WHERE 选课.学号=学生.学号 AND 选课.课程号=课程.课程号))
(10) 查询选修课程包含刘军老师所授课程的学生学号。 π学号(σ任课教师='刘军'(学生∞选课∞课程))
SELECT 学号 FROM 学生 WHERE 学号 IN
(SELECT 学号 FROM 选课 WHERE 学生.学号=选课.学号 AND 课程号 IN (SELECT 课程号 FROM 课程 WHERE 任课教师='LIU')) (请讨论一下,本题是否可如此:SELECT DISTINGCT
学号 FROM 选课 WHERE EXISTS (SELECT 课程号 FROM 课程 WHERE 任课教师='LIU'))
(二)试用SQL查询语句表达下列对教学数据库中三个基本表学生、选课、课程的查询要求:
(1)统计有学生选修的课程门数。
SELECT COUNT(DISTINCT 课程号) FROM 选课 (2)求选修C4课程的学生的平均年龄。
SELECT AVG(年龄) FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 课程号='C4') (3)求LIU老师所授课程的每门课程的学生平均成绩。
SELECT 课程名,AVG(成绩) FROM 选课 ,课程 WHERE 课程号 IN (SELECT 课程号 FROM 课程 WHERE 任课教师='LIU') GROUP BY 课程号
(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修
人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 SELECT DISTINCT 课程号,COUNT(学号) FROM 选课
GROUP BY 课程号 HAVING COUNT(学号)>10 ORDER BY 2 DEC,课程号 (5)查询学号比WANG同学大,而年龄比他小的学生姓名。
SELCET 姓名 FROM 学生 AS X WHERE X.学号>SOME
49
(SELECT 学号 FROM 学生 AS Y WHERE Y.姓名='WANG' AND X.年龄 SELECT 姓名,年龄 FROM 学生 WHERE 姓名 LIKE 'WANG%' (7)在选课中检索成绩为空值的学生学号和课程号。 SELECT 学号,课程号 FROM 选课 WHERE 成绩 IS NULL (8)求年龄大于女同学平均年龄的男学生姓名和年龄。 SELECT 姓名,年龄 FROM 学生 AS X WHERE X.性别='男' AND X.年龄>(SELECT AVG(年龄) FROM 学生 AS Y WHERE Y.性别='女') (9)求年龄大于所有女同学年龄的男学生姓名和年龄。 SELECT 姓名,年龄 FROM 学生 AS X WHERE X.性别='男' AND X.年龄>ALL (SELECT 年龄 FROM 学生 AS Y WHERE Y.性别='女') (10)查询?刘军?老师所教的所有课程的课号和学时 (11)查询所有学生的基本情况 (12)求在本学期任课的全部教师姓名,担任两门课以上的教师只出现一次。 (13)查询23岁以上男生的学号和姓名。 (14)求所有男生的学号、姓名、年龄。要求按年龄递增排序。 (15)求关系S中学生总数 (16)求学习?C2?课的学生总数: (17)将关系C中课程号为C2的课程任课教师改为?WANG? (18)求任课教师总数. (19)求学生S1的总分数. (20)求学生的最大年龄. (21)求出年龄等于最大年龄的所有学生的姓名。 SELECT 学号,姓名 FROM 学生 WHERE 年龄=(SELECT MAX(年龄) FROM 学生 ) (22)求选修课程号为“C2”的课程的学生的姓名和专业 (23)求至少选修两门课程的学生学号 (三)试用SQL更新语句表达对教学数据库中三个基本表学生、选课、课程的各个更新操作: (1)往基本表学生中插入一个学生元组(?S9?,?WU?,18)。 INSERT INTO 学生(学号,姓名,年龄) VALUES('59','WU',18) (2)在基本表学生中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别, 并把检索到的值送往另一个已存在的基本表STUDENT(学号,姓名,性别)。 INSERT INTO STUDENT(学号,姓名,性别) SELECT 学号,姓名,性别 FROM 学生 WHERE NOT EXISTS (SELECT * FROM 选课 WHERE 成绩>=80 AND 学生.学号=选课.学号) (3)在基本表选课中删除尚无成绩的选课元组。 DELETE FROM 选课 WHERE 成绩 IS NULL 50
正在阅读:
数据库原理试题库12-09
中国社会不公平现状分析05-22
我爱蒲公英作文600字06-29
试胆量作文400字07-04
环评资质评价范围类别划分及新旧对照表05-05
固体物理1 晶体结构05-10
星光闪耀手抄报:科学家的故事02-16
六年级主题班会教案05-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试题库
- 原理
- 数据库
- 2014-2018年中国战略性新兴行业市场竞争格局及投资前景分析报告
- 艾默生直流分路计量设备接入艾默生FSU安装调试指导手册 - 图文
- quiz of unit 1-3
- 园林树木题库及参考答案一、名词解释62
- anylogic介绍--(社会力)行人疏散方面
- 公司行政管理全体员工行为规范
- 六年级上册第五单元读写结合训练指导
- 新立街道第六次人口普查实施方案
- 嘉祥县第一中学登记管理信息公开情况
- ArcGIS瓦片格式选择总结-hm
- 家长学校授课教案
- 增值税习题及答案
- 模糊c均值聚类 FCM算法的MATLAB代码
- 《大学物理》习题库 - 01 - 力学
- 最新驾考易错考题分析11(科目四)意外、救助、危险品73个 - 精品资料
- 实习报告1 - 图文
- 高中英语 Unit 3 Computers Reading Who am I教学设计 新人教版必修2
- C语言专升本1单项选择题(3月10日终版)
- 2017-2022年中国电光源制造市场投资前景预测研究报告(目录) - 图文
- 2019高考历史一轮复习选练习题(1)(含解析)新人教版