填空题部分:
Chp 8 安全性与完整性
part 1:
- 数据库的安全性是指保护数据库以防止不合法的使用所造成的( 数据泄露、更改或破坏 )。
- 计算机系统有三类安全性问题,即( 技术安全 )、管理安全和政策法规。
- 数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未授权的人员无法接近数据,这主要通过数据库系统的( 存取控制 )机制实现。
- 完整性检查和控制的防范对象( 不正确的数据 ),防止它们进入数据库。安全性控制的防范对象是( 非法操作 ),防止他们对数据库数据的存取。
- TDI/TCSEC标准中关于“安全策略”内容中提出了DAC和( MAC )两种存取控制技术。其中,DAC技术从安全级别( C2 )开始明确提出。
- 用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入( 用户标识 )和口令来鉴别用户。
- 用户权限是由两个要素组成的:( 数据对象 )和操作类型_ 。
- 在数据库系统中,定义存取权限称为( 授权 )。SQL语言用( grant )语句向用户授予对数据的操作权限,用( revoke )语句收回授予的权限。
- 常用的数据库安全控制的方法和技术有用户标识与鉴别、存取控制、视图机制 、审计和( 数据加密 )等。
- 在强制存取控制(MAC)中,仅当主体的许可证级别( 大于或等于 )客体的密级时,该主体才能读取对应的客体。
- 数据库的( 完整性 )是指数据的正确性和相容性。
- 数据库( 角色 )是被命名的一组与数据库操作相关的权限。
- 触发器(Trigger)是用户定义在关系表上的一类由( 事件 )驱动的特殊过程。
- 完整性检查和控制的防范对象是( 不正确的数据 ),防止它们进入数据库;安全性控制的防范对象是( 非法操作 ),防止他们对数据库数据的存取。
- 实体完整性的违约处理是( 拒绝处理 )。
part2:
- ( 事务 )是并发控制的基本单位
- 事务的一致性是指( 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态 )。
- 事务的( 持续性 )是指事务一旦提交,对数据库的改变是永久的。
- 数据库中一个事务内部的操作及使用的数据不能被其他事务干扰,即并发执行的各个事务不能相互干扰,体现了事务的( 隔离 )特性。
- 多用户的数据库系统的目标之一是使它的每个用户好像面对着一个单用户的数据库一样使用它,为此数据库系统必须进行( 并发控制 )。
- 目前DBMS普遍采用封锁方法实现并发操作调度的可串行性,从而保证调度的正确性,其中封锁对象的大小称为( 封锁的粒度 )。
- 不允许任何其他事务对这个锁定目标再加任何类型的锁是( 排它锁 )。
- 封锁具有三个环节:第一个环节是申请加锁;第二个环节是获得锁 ;第三个环节是( 释放锁 ) 。
- 并发操作可能带来的数据不一致性,最根本的原因是违背了( 隔离性 )。
- 并发操作可能会导致:丢失修改、不可重复读和( 读脏数据 )。
- 解决死锁问题的方法有两类:死锁预防和( 允许发生死锁之后解除 )。
- 为保证数据库的可恢复性,登记日志文件时必须遵循两条原则:一是登记的次序严格按事务执行的时间次序;二是( 先写数据库后写日志文件 )。
- 事务故障的解决办法是恢复程序在不影响其他事务运行的情况下( 撤销该事务 )。
- 日志文件是用来记录对数据库的更新操作的文件。不同的数据库系统采用的日志文件格式不完全相同。日志文件主要有以记录为单位的日志文件和( 以数据块为单位的日志文件 )。
- 若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之间就被撤消,这种情况就称为( 事务故障 )。
- 在数据库系统中,死锁属于( 事务 )故障。
- ( 介质故障 )会破坏磁盘上的物理数据库和日志文件,这是最严重的一种故障。恢复方法是重装数据库后备副本,然后重做已完成的事务。
- 数据库恢复是将数据库从( 错误 )状态恢复到某一已知的正确状态的功能。
- 检查点是( 数据库恢复 )技术中出现的概念。
- 数据库镜像功能用于( 数据库恢复 )。
Chp 9 数据库集群基础
- 集群(cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以( 单一系统 )模式加以管理。
- 对比数据库集群和分布式技术可知,( 数据库集群 )是以缩短单个任务的执行时间来提升效率的,而( 分布式技术 )则是通过提高单位时间内执行的任务数来提升效率。
- ( 分布式计算)是集群系统中的核心技术。
- ( 高性能计算 )集群是并行计算的基础。
- 负载通常包括应用程序处理负载和( 系统 )负载。
- 负载均衡集群使负载可以在计算机集群中尽可能( 均匀 )处理。
- HA 高可用性集群,是指以减少( 中断时间 )为目标的服务器集群技术。
- ( MySQL Cluster )是MySQL适合于分布式计算环境的高实用、高冗余版本。
- 活动第二服务器的“0共享”体系结构中,一般在磁盘子系统中采用( RAID )技术或者采用冗余镜象磁盘来保证数据可用。
- 负载均衡集群一般用于( web )服务器和代理服 务器等搭建。
- Mysql主从复制是将主数据库的DDL和DML操作通过( 二进制日志 )传到从服务器上,然后在从服务器上对这些日志重新执行,从而使得主从服务器的数据保持同步。
- 请补充下面MySQL主从复制原理图的数字填空内容,使其表达正确合理。
这里, (1):( 主数据库 )
(2):( 二进制日志 )
(3):( I/O线程 )
(4):( 日志 )
(5):( 从数据库 )
(6):( SQL线程 )
- MySQL数据库中,proxy实现数据库的“读写分离”,主服务器处理事务性更新操作,从服务器处理( 查询 )操作。
- 在CPU、网络、磁盘和内存等诸多因素里,影响集群性能的主要瓶颈是( 网络 )。
- MySQL cluster采用的是一种( 分布式 )数据库架构设计。
Chp 10 非关系型数据库
- NoSQL数据库 泛指( 非关系型数据库 )。
- CAP原理三要素中的分区容忍性是指( 数据存储结构 )。
- MySQL和MongoDB之间最基本的区别是( 数据存储方式的不同 )。
- NoSQL两个核心理论基础是( BigTable )和Dynamo。
- MongoDB底层使用松散的( 文档 )结构作为数据存储格式。
- MongoDB的文档是由多个( 键值对 )有序组合在一起的数据单元。
- MongoDB的默认数据访问端口是( 27017 )。
- MMAPv1和( WiredTiger )是MongoDB使用的两个存储引擎。
- 试分别给出下面MongoDB查询表达式的等价SQL语句:
(1)db. stud.find({sage :{$gt:18, $lt:21}})
( select * from stud where sage>18 and sage<21; )
(2)db. stud.aggregate([
{$match:{ssex: "女"}},
{$group:{_id:"$sdept",count:{$sum:1},asage:{$avg:"$sage"}}},
{$project : {_id: 0,院系: "$_id",人数: "$count",平均年龄: "$asage"}}
]);
( select sdept as ‘院系’ , count(*) as ‘人数’, avg(sage) as ‘平均年龄’ from stud where ssex=’女’ group by sdept; )
- 一个在线考试系统,在设计存放试题的数据库时,如果使用一个名为questions的collections存放基础题、中档题和高难题,通过设置每一个实例的属性type:easy 或者 medium 或者 hard 来标识难易度信息,集合文档结构如下:
"no" : "1",
"title" : "下列选项中不属于javascript基本数据类型的选项是?",
"choose" : "A.boolen B.string C.function ",
"true" : "C",
"type" : "easy"
试设计以下问题的查询语句。
(1)查询10道type:easy的题目;
( db.questions.find({type: "easy"}).limit(10); )
(2)查询5道true : C 且type:easy的题目;
( db.questions.find({true: "C", type: "easy"}).limit(5); )
(3)查询5道true : A 或type:hard的题目;
( db.questions.find({$or: [{true: "A"}, {type: "hard"}]}).limit(5); )
(4)追加下面这道题;
99
集群的主要三种类型是
A.HAC、LBC和HPC B. HAC、LBC和SMP C. HAC、SMP和HPC D. SMP、LBC和HPC
答案:A
难度:medium
( db.questions.insert({
"no": "99",
"title": "集群的主要三种类型是",
"choose": "A.HAC、LBC和HPC B. HAC、LBC和SMP C. HAC、SMP和HPC D. SMP、LBC和HPC",
"true": "A",
"type": "medium"
}); )
(5)将标号no超过20、难度type:easy的题目,难度更改为medium;
( db.questions.update ({$and: [{no: {$gt: "20"}}, {type: "easy"}]}, {$set: {type: "medium"}}); )
(6)删除no:8的题目。
( db.questions.remove({no: "8"}); )
问答题部分:(待更新)
chp8:
chp9:
chp10: