好文档 - 专业文书写作范文服务资料分享网站

华南理工大学数据库期末考试卷考点 

天下 分享 时间: 加入收藏 我要投稿 点赞

3.执行准备好的语句(EXECUTE)

EXEC SQL EXECUTE <语句名> [INTO <主变量表>] [USING <主变量或常量>]; 1.创建存储过程:

CREATE Procedure 过程名([参数1,参数2,...])AS ; 重命名存储过程

ALTER Procedure 过程名1 RENAME TO过程名2; 2.执行存储过程:

CALL/PERFORM Procedure过程名([参数1,参数2,...]); 3.删除存储过程

DROP PROCEDURE 过程名(); 4.存储过程的优点

经编译和优化后存储在数据库服务器中,运行效率高 降低客户机和服务器之间的通信量 有利于集中控制,方便维护 5.ODBC工作流程 操作步骤: 一、配置数据源 二、初始化环境 三、建立连接

16 / 22

四、分配语句句柄 五、执行SQL语句 六、结果集处理 七、中止处理 第九章

1.RDBMSxx4个阶段:

1.查询分析:首先,对查询语句进行扫描、词法分析和语法分析。从查询语句中识别出语言符号,如SQL关键字、属性名和关系名等,进行语法检查和语法分析,即判断查询语句是否符合SQL语法规则。

2.查询检查:根据数据字典对合法的查询语句进行语义检查,即检查语句中的数据库对象,如属性名,关系名,是否存在和是否有效。还要根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查。(查询树)

3.查询优化:每个查询都会有许多可供选择的执行策略和操作算法,查询优化就是选择一个高效执行的查询处理策略。

4.查询执行:依据优化器得到的执行策略生成查询计划,由代码生成器生成执行这个查询计划的代码。2.查询优化分类:

代数优化:指关系代数表达式的优化 物理优化:指存取路径和底层操作算法的选择 3.试述查询优化的一般准则。?

答:下面的优化策略一般能提高查询效率:? (?l?)选择运算应尽可能先做;? (?2?)把投影运算和选择运算同时进行;

(?3?)把投影同其前或其后的双目运算结合起来执行;?

17 / 22

(?4?)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;?

(?5?)找出公共子表达式;? (?6?)选取合适的连接算法。 4.试述查询优化的一般步骤。?

答:各个关系系统的优化方法不尽相同,大致的步骤可以归纳如

下:?(?l?)把查询转换成某种内部表示,通常用的内部表示是语法树。?(?2?)把语法树转换成标准(优化)形式。即利用优化算法,把原始的语法树转换成优化的形式。?(?3?)选择低层的存取路径。?

(?4?)生成查询计划,选择代价最小的。 第十章

事务的ACID特性:

原子性:事务是一个不可分割的单位。是用户定义的一个数据库操作序列。一致性:事务对数据库操作的结果是将数据库从一个一致性状态变为另一个一致性状态。

隔离性:多个事务的并发执行不互相干扰。

持续性:事务一旦提交,它对数据库中数据的改变就是永久性的。 1.怎样进行事务故障的恢复

答:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是:

⑴反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

18 / 22

⑵对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。这样,如果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空)。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。

⑶继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 ⑷如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。 2.怎样进行糸统故障的恢复?

系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤消故障发生时未完成的事务,重做已完成的事务。

⑴正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录),将其事务标识记入撤消(UNDO)队列。⑵对撤消队列中的各个事务进行撤消(UNDO)处理。

进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。

⑶对重做队列中的各个事务进行重做(REDO)处理。

进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”写入数据库。

3.怎样进行介质故障的恢复?

答:发生介质故障后,磁盘上的物理数据和日志文件被破坏,恢复方法是重装数据库,然后重做已完成的事务。具体地说就是:

⑴装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。

19 / 22

对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。

⑵装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即:首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。

然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。

4.试述使用检查点方法进行恢复的步骤。

答:1)从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。

2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。

这里建立两个事务队列:

①UNDO-LIST:需要执行undo操作的事务集合; ②REDO-LIST需要执行redo操作的事务集合。

把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂时为空。 6)检查点开始正向扫描xx文件:

①如果有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;

②如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。

第十一章

1.避免活锁:采用先来先服务的策略

20 / 22

华南理工大学数据库期末考试卷考点 

3.执行准备好的语句(EXECUTE)EXECSQLEXECUTE[INTO][USING];1.创建存储过程:CREATEProcedure过程名([参数1,参数2,...])AS;重命名存储过程ALTERProcedure过程名1RENA
推荐度:
点击下载文档文档为doc格式
1cq4q1f8yp6u75f0b3w102ra61x6wi01ded
领取福利

微信扫码领取福利

微信扫码分享