计算机四级数据库工程师冲刺试题.docx
- 文档编号:13059892
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:17
- 大小:25.86KB
计算机四级数据库工程师冲刺试题.docx
《计算机四级数据库工程师冲刺试题.docx》由会员分享,可在线阅读,更多相关《计算机四级数据库工程师冲刺试题.docx(17页珍藏版)》请在冰点文库上搜索。
计算机四级数据库工程师冲刺试题
计算机四级数据库工程师冲刺试题
一
1.数据库的安全性是指保护数据库以防止不合法的使用所造成的_______、_______或______。
(问答题)
答案
数据泄漏更改破坏
2.什么是数据库的安全性?
(填空题)
答案
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
3.数据库安全性和计算机系统的安全性有什么关系?
(填空题)
答案
安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,
4.计算机系统有三类安全性问题,即________、_________和________。
(问答题)
答案
技术安全类管理安全类政策法律类
5.用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。
常用的方法有通过输入________和________来鉴别用户。
(问答题)
答案
用户名口令
6.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。
(填空题)
答案
各个国家在计算机安全技术方面都建立了一套可信标准。
目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(TrustedComputerSystemEvaluationCriteria,简称TCSEC,又称桔皮书)。
TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(TrustedDatabaseInterpretation简称TDI,又称紫皮书)。
在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。
每个方面又细分为若干项。
7.________和________一起组成了DBMS的安全子系统。
(问答题)
答案
用户权限定义合法权检查机制
8.试述TCSEC(TDI)将系统安全级别划分为四组七个等级的基本内容。
(填空题)
答案
根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)七个等级,依次是D;C(C1,C2);B(B1,B2,B3);A(A1),按系统可靠或可信程度逐渐增高。
这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
各个等级的基本内容为:
D级D级是最低级别。
一切不符合更高标准的系统,统统归于D组。
C1级只提供了非常初级的自主安全保护。
能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。
C2级实际是安全产品的最低档次,提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。
B1级标记安全保护。
对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。
B2级结构化保护。
建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。
B3级安全域。
该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。
A1级验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。
9.当前大型的DBMS一般都支持________,有些DBMS同时还支持________。
(问答题)
答案
自主存取控制(DAC)强制存取控制(MAC)
10.试述实现数据库安全性控制的常用方法和技术。
(填空题)
答案
实现数据库安全性控制的常用方法和技术有:
1)用户标识和鉴别:
该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
2)存取控制:
通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC);3)视图机制:
为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
4)审计:
建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
5)数据加密:
对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
二
1.用户权限是由两个要素组成的:
________和________。
(问答题)
答案
数据对象操作类型
2.什么是数据库中的自主存取控制方法和强制存取控制方法?
(填空题)
答案
自主存取控制方法:
定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限。
防止不合法用户对数据库的存取。
强制存取控制方法:
每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
*解析:
自主存取控制中自主的含义是:
用户可以将自己拥有的存取权限“自主”地授予别人。
即用户具有一定的“自主”权。
3.在数据库系统中,定义存取权限称为________。
SQL语言用________语句向用户授予对数据的操作权限,用________语句收回授予的权限。
(问答题)
答案
授权GRANTREVOKE
4.SQL语言中提供了哪些数据控制(自主存取控制)的语句?
请试举几例说明它们的使用方法。
(填空题)
答案
SQL中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。
如:
GRANTSELECT,INSERTONStudentTO王平WITHGRANTOPTION;就将Student表的SELECT和INSERT权限授予了用户王平,后面的“WITHGRANTOPTION”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。
REVOKEINSERTONStudentFROM王平CASCADE;就将Student表的INSERT权限从用户王平处收回,选项CASCADE表示,如果用户王平将Student的INSERT权限又转授给了其他用户,那么这些权限也将从其他用户处收回。
5.对数据库模式的授权由DBA在________时实现。
(问答题)
答案
创建用户
6.为什么强制存取控制提供了更高级别的数据库安全性?
(填空题)
答案
强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。
7.理解并解释MAC机制中主体、客体、敏感度标记的含义。
(填空题)
答案
主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。
敏感度标记被分成若干级别,例如绝密(TopSecret)、机密(Secret)、可信(Confidential)、公开(Public)等。
主体的敏感度标记称为许可证级别(ClearanceLevel),客体的敏感度标记称为密级(ClassificationLevel)。
8.一个DBA用户可以拥有________、________和________权限,一个RESOURCE用户可以拥有________权限。
(问答题)
答案
CREATEUSERCREATESCHEMACREATETABLECREATETABLE
9.数据库角色是被命名的一组与________相关的权限,角色是________的集合。
(问答题)
答案
数据库操作权限
10.什么是数据库的审计功能,为什么要提供审计功能?
(填空题)
答案
审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。
利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
11.统计数据库中存在何种特殊的安全性问题?
(填空题)
答案
统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。
但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。
12.通过________可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(问答题)
答案
视图机制
13.审计一般可以分为________审计和________审计。
(问答题)
答案
用户级系统级
三
1.并发操作带来的数据不一致性包括:
________、________和________。
(问答题)
答案
丢失修改不可重复读读“脏”数据
2.在数据库中为什么要并发控制?
(填空题)
答案
数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
3.多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为________的调度。
(问答题)
答案
可串行化
4.并发操作可能会产生哪几类数据不一致?
用什么方法能避免各种不一致的情况?
(填空题)
答案
并发操作带来的数据不一致性包括三类:
丢失修改、不可重复读和读“脏”数据。
(1)丢失修改(LostUpdate)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。
(2)不可重复读(Non-RepeatableRead)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。
不可重复读包括三种情况:
详见《概论》8.1p266。
(3)读“脏”数据(DirtyRead)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法就是并发控制。
最常用的并发控制技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
5.基本的封锁类型有两种:
________和________。
(问答题)
答案
排它锁(ExclusiveLocks,简称X锁)共享锁(ShareLocks,简称S锁)
6.什么是封锁?
(填空题)
答案
封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
7.在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为________。
(问答题)
答案
死锁
8.基本的封锁类型有几种?
试述它们的含义。
(填空题)
答案
基本的封锁类型有两种:
排它锁(ExclusiveLocks,简称X锁)和共享锁(ShareLocks,简称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做任何修改。
9.什么是封锁协议?
不同级别的封锁协议的主要区别是什么?
(填空题)
答案
在运用封锁技术对数据加锁时,要约定一些规则。
例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。
这些约定或者规则称为封锁协议(LockingProtocol)。
对封锁方式约定不同的规则,就形成了各种不同的封锁协议。
不同级别的封锁协议,例如《概论》8.3中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。
一级封锁协议:
事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
二级封锁协议:
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。
三级封锁协议:
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
10.________被称为封锁的粒度。
(问答题)
答案
封锁对象的大小
四
1.不同封锁协议与系统一致性级别的关系是什么?
(填空题)
答案
不同的封锁协议对应不同的一致性级别。
一级封锁协议可防止丢失修改,并保证事务T是可恢复的。
在一级封锁协议中,对读数据是不加S锁的,所以它不能保证可重复读和不读“脏”数据。
二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。
在二级封锁协议中,由于读完数据后立即释放S锁,所以它不能保证可重复读。
在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。
所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
2.什么是活锁?
什么是死锁?
(填空题)
答案
如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。
T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。
然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。
如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。
接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。
这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。
3.试述活锁的产生原因和解决方法。
(填空题)
答案
活锁产生的原因:
当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。
避免活锁的简单方法是采用先来先服务的策略。
当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
4.请给出预防死锁的若干方法。
(填空题)
答案
在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。
防止死锁的发生其实就是要破坏产生死锁的条件。
预防死锁通常有两种方法:
(1)一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。
(2)顺序封锁法预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
5.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
(填空题)
答案
数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。
DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。
超时法是:
如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。
超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。
若时限设置得太长,又不能及时发现死锁发生。
DBMS并发控制子系统检测到死锁后,就要设法解除。
通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。
当然,对撤销的事务所执行的数据修改操作必须加以恢复。
6.什么样的并发调度是正确的调度?
(填空题)
答案
可串行化(Serializable)的调度是正确的调度。
可串行化的调度的定义:
多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。
7.试述两段锁协议的概念。
(填空题)
答案
两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。
?
在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;?
在释放一个封锁之后,事务不再申请和获得任何其他封锁。
“两段”的含义是,事务分为两个阶段:
第一阶段是获得封锁,也称为扩展阶段。
在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。
第二阶段是释放封锁,也称为收缩阶段。
在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。
8.试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。
(填空题)
答案
首先以两个并发事务T1和T2为例,存在多个并发事务的情形可以类推。
根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况:
1.事务T1写某个数据对象A,T2读或写A;2.事务T1读或写某个数据对象A,T2写A。
下面称A为潜在冲突对象。
设T1和T2访问的潜在冲突的公共对象为{A1,A2,…,An}。
不失一般性,假设这组潜在冲突对象中X={A1,A2,…,Ai}均符合情况1。
Y={Ai+1,…,An}符合所情况2。
?
x?
X,T1需要Xlockx①T2需要Slockx或Xlockx②
(1)如果操作①先执行,则T1获得锁,T2等待由于遵守两段锁协议,T1在成功获得X和Y中全部对象及非潜在冲突对象的锁后,才会释放锁这时如果?
w?
X或Y,T2已获得w的锁,则出现死锁否则,T1在对X、Y中对象全部处理完毕后,T2才能执行这相当于按T1、T2的顺序串行执行根据可串行化定义,T1和T2的调度是可串行化的。
(2)操作②先执行的情况与
(1)对称因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。
9.为什么要引进意向锁?
意向锁的含义是什么?
(填空题)
答案
引进意向锁是为了提高封锁子系统的效率。
该封锁子系统支持多种封锁粒度。
原因是:
在多粒度封锁方法中一个数据对象可能以两种方式加锁—显式封锁和隐式封锁(有关概念参见《概论》8.7.1)。
因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突;还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突;显然,这样的检查方法效率很低。
为此引进了意向锁。
意向锁的含义是:
对任一结点加锁时,必须先对它的上层结点加意向锁。
例如事务T要对某个元组加X锁,则首先要对关系和数据库加IX锁。
换言之,对关系和数据库加IX锁,表示它的后裔结点—某个元组拟(意向)加X锁。
引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。
例如,事务T要对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了IX,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。
10.试述常用的意向锁:
IS锁,IX锁,SIX锁,给出这些锁的相容矩阵。
(填空题)
答案
IS锁如果对一个数据对象加IS锁,表示它的后裔结点拟(意向)加S锁。
例如,要对某个元组加S锁,则要首先对关系和数据库加IS锁IX锁如果对一个数据对象加IX锁,表示它的后裔结点拟(意向)加X锁。
例如,要对某个元组加X锁,则要首先对关系和数据库加IX锁。
SIX锁如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX=S+IX。
五
1.试述DBMS的基本功能?
(填空题)
答案
DBMS主要是实现对共享数据有效的组织、管理和存取。
DBMS的基本功能有:
(1)数据库定义功能;
(2)数据存取功能;(3)数据库运行管理功能;(4)数据组织、存储和管理功能;(5)数据库的建立和维护功能;(6)其他功能
2.试述DBMS四种进程组织方案,并分析各种方案的特点和优缺点。
(填空题)
答案
DBMS四种进程组织方案是:
N方案:
N个DB用户应用程序对应N个用户进程,DBMS作为应用程序的子程序被连入用户应用程序中。
因此这种方案也称为连入式方案。
数据库系统中共有N个进程。
2N方案:
每个用户进程有一个DBMS进程为之服务,因此N个用户进程就有N个DBMS进程,共2N个进程。
N+1方案:
N个用户进程仅有一个DBMS进程为它们服务,因此共N+1个进程,共N+1个进程。
N+M方案:
用M个DBMS进程为N个用户进程提供服务,一般M 这四个方案各自的特点和优缺点请参见《概论》11.2.1、11.2.2、11.2.3、11.2.4。 3.理解并解释下列术语的含义: 进程、任务、“轻权”进程、线程、线索。 (填空题) 答案 进程: 操作系统中的核心概念,进程是程序的一次执行过程。 进程既是资源分配的最小单位也是操作系统调度的基本单位。 任务: 在单处理器系统中任务与进程是类似的概念。 随着多处理器系统以及并行计算技术的发展,进程概念被进一步细划为任务(Task)与线程(Thread)的概念。 任务是申请资源的基本单位,而线程是调度和运行的基本单位。 轻权进程: 线程又被称为“轻权”或“轻量”进程。 线索: 是数据库系统中的概念,它借鉴了操作系统中“线程”的概念: 整个DBMS可以看作是一个Task,当有一个用户申请数据库服务时,Task分配多个Thread为之服务,多个Thread并行工作,共享资源。 一般地讲,DBMS中的线索是DBMS的一个执行流。 4.什么是DBMS的多线索机制? 有什么优点? (填空题) 答案 DBMS借鉴了操作系统中“线程”的概念和技术,在DBMS的实现中采用多线索机制。 一般地讲,DBMS中的线索是D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 级数 工程师 冲刺 试题