您好,欢迎访问三七文档
一、度量数据库管理系统的数据处理性能有哪两个指标?论述数据库系统中提高数据处理性能的途径与方法。答:实物吞吐量(transactionthroughput)和响应时间(responsetime)提高数据库处理性能的途径和方法:企业的数据都几种存储在数据库中,海量的数据。从海量的数据中查找和定位的效率的策略:1、挖掘和利用;2、数据特性;3、硬件特性;4、数据的访问特性。提高数据性能方法:1、排序;2、索引(哈希索引);3、连续的磁盘存储;4、分类、聚簇、分区;5减少联接;6、内存缓冲;7、并发执行;8、查询优化;9、日志和数据分盘存储。二、银行账号表(Account)1)现从汪兵的账上划转500元钱到周山的账上,写出这一交易的SQL的语句;2)数据库管理系统中有哪几类故障?分别给出每种故障的容错途径与方法。答:1)TRANSACTIONBEGINUPDATEAccountSETbalance=balance-500WHEREaccountNo=’2008043214’UPDATEAccountSETbalance=balance+500WHEREaccountNo=’2008043101’COMMIT;2)故障的种类:1.事物故障2.系统崩溃故障3.介质故障(数据库磁盘故障,日志磁盘故障)4通信故障[1]事物故障的恢复方法:执行Rollback:读取日志文件,找到该事物的Tistart记录,然后顺着扫描日志记录,对Ti的记录执行undo(Ti)操作,使用旧值恢复数据项的原有值,即撤销事务所做的数据操作;[2]系统故障的恢复方法:重启数据库管理系统;从日志磁盘读取日志文件;反向扫描日志,也就是从日志文件的结束位置开始后向扫描。当发现一个事务在日志记录中没有Ticommit记录时,执行undo(Ti)操作,使用旧值恢复数据项:然后从日志文件的开始位置顺向扫描。对日志记录中含有Ticommit的事务,执行redo(Ti)操作,使用新值恢复数据项;[3]介质故障:数据库磁盘故障,把dump的备份数据库文件拷贝到新的数据库磁盘上;从日志文件的末尾逆向扫描直至dump记录,再顺向扫描日志记录,对有Ticommit日志记录的事务做redo(Ti)操作。日志磁盘故障:不再接收事务请求,让当前的所有活动事务执行完毕;输出数据库缓冲区中的缓冲数据到数据库磁盘中(即checkpoint);执行Dump操作,把磁盘中的数据库文件拷贝到另一个磁盘上;更换日志磁盘;[4]通信故障:修复由线路故障,通信协议等故障使客户能够访问数据库。三、分布式数据库的事务处理中,两阶段提交协议(2PC)包括哪三个协议?请分别给出其工作过程。答:2PC包括线性2PC、分布式2PC、终止协议、故障恢复协议。协调者,参与者Phase1:协调者收集参与者执行子事务的结果;2:全体成员对事务结果作出一直的处理。全局提交规则:全票通过则提交,一票否决则放弃;终止协议(非阻塞-理想状态):协调者,参与者在ready状态,没有接收到协调者的最终状态和结果消息。超时有两种情况:单点故障,中有协调者出现故障;多故障:协调者和参与者都出现故障。须进一步判断最终结果消息。故障恢复协议(独立恢复-理想状态):系统重启,检查日志文件。有五种可能性情况,其中四种情况可独立恢复,有一种情况需要咨询协同者来判定最终结果消息。(下面别人的另一种解答)2Pc把事务的提交过程分为两个阶段:第一阶段是表决阶段,目的是形成一个共同的决定。第二阶段是执行阶段,目的是实现这个决定.根据协调者的指令.参与者或者提交事务,或者撤销事务,并给协调者发送确认消息。此时,协调者在日志中写入一条事务结束记录并终止事务。首先,两阶段提交协议允许参与者可以单方面撤销事务;其次,一旦参与者确定了提交或撤销提议.它就不能再更改它的提议;第三,当参与者处于就绪状态时,根据协调者发出的消息的种类,参与者可以转换为提交状态或撤销状态;第四,协调者依据全局提交规则做出全局终止决定;最后,注意协调者和参与者可能进入某些相互等待对方发送消息的状态。为了确保它们能够从这些状态中退出并终止,要使用定时器。每个进程进入一个状态时都要设置定时器。如果所期待的消息在定时器超时之前没有到来,定时器向进程报警,进程于是调用它自己的超时协议。分布式数据库系统中系统失败的原因:软故障和硬故障软故障:间歇性和瞬变性故障硬故障:永久性故障基本的容错方法和技术:1.容错和错误预防容错:指设计出一种使系统识别出可能会发生的错误的方法.它试图在系统中建立一种机制,使错误在造成系统故障之前就会被检测出来,并且被清除或得到补偿.错误预防:保证所实现的系统不包含任何错误.它有两个方面的含义:第一是错误回避,指那些保证系统中不会带入错误的技术,如设计方法学,质量控制;第二是错误清除,用于清查那些在使用了错误回避技术后,还残留在系统中的错误并且清除它们.2.故障检测3.冗余:所有的容错系统的设计中都采用的基本原则是在系统的组件中提供冗余.容余组件可以使发生错误的作用得到及时补偿.分布式可靠性协议的组成:包括提交协议、终结协议和恢复协议.事务阻断和阻断协议:事务阻断是指某个站点上本来可以终结(提交或撤消)的子事务,由于分布式数据库系统的故障,它必须等到有故障的子事务修复后,取得必要的信息才能决定.而故障的恢复又不可预料,所以它占有的资源也不能释放,也没法继续执行,此时称该事务处于事务阻断状态。阻断协议是指发生类型故障时,使分布式事务可能处于阻断状态。终结协议:允许一事务在有故障情况下仍能正确地结束.它允许在协调者站点发生故障时,事务可在所有可工作的站点(未发生故障)终结.但只对如下两种情况:(1)至少有一个站点已收到结果命令.此时,可由该站点告诉其他参与者关于该事务的结果,并由它们来终结该事务.(2)没有一个参与者曾收到过结果命令,并且只有协调者站点出故障.此时所有参与者站点都是可工作的.参与者可以选举一个新的协调者,然后继续.恢复协议:确定失效站点重新启动后,其进程恢复它的状态的过程.保证使各个冗余数据库相互一致.四、给定四个模式:Customer(custid,name,sex,mobile,email)Item(itemid,name,price)tiemSale(transid,itemid,quantity)transaction(transid,custid,date)1)用DDL语句定义上述4个table,在定义的过程中要考虑数据库的完整性约束。2)写出下面的SQL语句(a)找出每一顾客(customer)购买商品的数量和金额;(b)找出最贵商品(item)的名称和价格;(c)按商品销售的数量降序排名,找出每个月销售前5名的商品;(d)从数据库中删除从来也没有销售过的商品;(e)修改商品的价格,对商品单价低于商品平均单价15%的商品提价5%。答:1)CREATETABLEcustomer(custidnumericprimarykey,namevarchar(20)notnull,sexchar(2)check(sex=’男’andsex=’女’),mobilevarchar(11),emailvarchar(50));CREATETABLEitem(itemidnumericprimarykey,namevarchar(20)notnull,pricedecimal);CREATETALBLEitemSale(transidnumericprimarykey,itemidnumericforeignkeyreferencesitem(itemid),quantitynumeric);CREATETABLEtransaction(transidnumericforeignkeyreferencesitemSale(transid),custidnumericforeignkeyreferencescustomer(custid),datedate);2)//找出每个顾客购买商品的数量和金额,selectcustomer.name,sum(itemSale.quantity)AS'购买量',sum(item.price*itemSale.quantity)AS‘金额’fromcustomer,itemSale,transact,itemwherecustomer.custid=transaction.custidanditemSale.transid=transaction.transidanditem.itemid=itemSale.itemidgroupbycustomer.name//找出最贵商品的名称和价格selectprice,namefromitemwhereprice=(selectmax(price)fromitem)//按商品销售的数量降序排名,找出每个月销售前5名的商品selecttop5item.name,datepart(mm,date)fromitemSale,item,transactionwhereitem.itemid=itemSale.itemidandtransaction.transid=itemSale.transidgroupbydatepart(mm,date),itemidorderbysum(quantity)desc//从数据库中删除从来没有销售过的产品deletefromitemwhereitem.itemidnotin(selectitemSale.itemidfromitemSale);//修改商品价格,对商品单价低于商品平均单价15%的商品提价5%updateitemsetprice=price*1.05whereprice=(select0.85*avg(price)fromitem);五、试分析数据库系统的安全需求,并举例说明如何从技术上保障数据库安全。答:数据库主要的安全需求是数据库的完整性、可靠性、保密性、可用性,其中完整性包括物理完整性、逻辑完整性和元素完整性;保密性要求包括访问控制、用户认证、审计跟踪、数据加密等内容。数据库的安全策略:是指导信息安全的高级准则,即组织、管理、保护和处理敏感信息的法律、规章及方法的集合。它包括安全管理策略、访问控制策略和信息控制策略。实现数据库安全性控制的常用方法和技术有:安全性问题主要是指保护数据库以防止不合法的使用造成数据泄露、更改或破坏。数据库安全可分为二类:(1)系统安全性:指在系统级控制数据库的存取和使用的机制。(2)数据安全性:指在对象级控制数据库的存取和使用的机制。1用户标识和鉴定:通过核对用户的名字或身份(ID),决定该用户对系统的使用权。数据库系统不允许一个未经授权的用户对数据库进行操作。2存取控制模型(1)访问控制矩阵模型(2)扩展的访问控制矩阵模型(3)多级安全模型(4)信息流安全模型3视图:有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上。即通过定义不同的视图及有选择地授予视图上的权限,可以将用户、组或角色限制在不同的数据子集内。4加密存储:(1)数据库密码系统的选择:可采用对称加密体制。(2)数据库加密的范围,数据库中不能加密的部分包括:索引字段、关系运算的比较字段、表间的连接码字段。(3)数据库加密对数据库管理系统原有功能的影响
本文标题:数据库试卷解答1
链接地址:https://www.777doc.com/doc-2333262 .html