华南理工大学数据库期末考试卷考点整理(共13页)_第1页
华南理工大学数据库期末考试卷考点整理(共13页)_第2页
华南理工大学数据库期末考试卷考点整理(共13页)_第3页
华南理工大学数据库期末考试卷考点整理(共13页)_第4页
华南理工大学数据库期末考试卷考点整理(共13页)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华南(Hunn)理工(l n)大学(dxu)数据库期末考试卷考点整理第一章1.DBMS功能(1)数据定义功能(2)数据组织、存储和管理(3)数据操纵功能(4)数据库的事务管理和运行管理(5)数据库的建立和维护功能(6)其它功能2.数据库系统的特点(1)数据结构化(与文件系统的本质区别)(2)数据的共享性高,冗余度低,易扩充(3)数据独立性高(4)数据由DBMS统一管理和控制3.试述数据库系统的组成。 数据库系统一般由数据库,数据库管理系统(及其开发工具),应用系统,数据库管理员和用户构成。3.两类数据模型(1)概念模型(2)逻辑模型(关系模型)和物理模型4.数据模型的组成要素(1)数据结构(静

2、态特性)(2)数据操作(动态特性)(3)完整性约束5.E-R图(1)实体:矩形(2)属性:椭圆(3)联系:菱形6.关系模型关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表关系(表)元组(行)属性(列)7.数据库系统结构(1)三级模式外模式(用户)、模式(逻辑)、内模式(存储)(2)二级映像外模式/模式映像(逻辑独立性)、模式/内模式映像(物理独立性)第三章1.SQL特点(tdin)(1)综合(zngh)统一(2)高度(god)非过程化(3)面向集合的操作方式(非关系数据模型面向记录)(4)以同一种语法结构提供多种使用方式(5)语言简洁,易学易用定义功能:定义表、视图、索引。分为:数

3、据定义,数据查询,数据更新和数据控制4大部分。2.定义模式CREATE SCHEMA AUTHORIZATION |3.删除模式DROP SCHEMA CASCADE(级联)4. 定义基本表CREATE TABLE ( , , ); CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); CREATE TABLE Course ( Cno CHAR(4) PR

4、IMARY KEY, Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) ); Cpno是外码、被参照表是Course、被参照列是CnoCREATE TABLE SC (Sno CHAR(9), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /* 主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /* 表级完整性约束条件,

5、Sno是外码,被参照表是Student */ FOREIGN KEY (Cno) REFERENCES Course(Cno) /* 表级完整性约束条件, Cno是外码,被参照(cnzho)表是Course*/); 5.修改(xigi)基本(jbn)表ALTER TABLE ADD 完整性约束 DROP ALTER COLUMN ;ALTER TABLE Student ALTER COLUMN Sage INT;6.删除基本表(RESTRICT不能删除有视图)DROP TABLE RESTRICT| CASCADE;DROP TABLE Student CASCADE ;7.建立索引CREA

6、TE UNIQUE CLUSTER INDEX ON (, );CREATE CLUSTER INDEX Stusname ON Student(Sname);CREATE UNIQUE INDEX Stusno ON Student(Sno);CREATE UNIQUE INDEX Coucno ON Course(Cno);CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); Student表按学号升序建唯一索引 Course表按课程号升序建唯一索引 SC表按学号升序和课程号降序建唯一索引8.删除索引DROP INDEX ;9.数据查询SELE

7、CT ALL|DISTINCT(去重) , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;10.数据更新INSERTINTO (,)VALUES ( , )11.修改数据 UPDATE SET =,= WHERE ;12.删除数据 DELETE FROM WHERE ;13.建立视图 CREATE VIEW ( ,) AS WITH CHECK OPTION;14.删除(shnch)视图(sht)DROP VIEW (CASCADE级联);第四章自主存取控制:1.2.1.授权GRANT语句的一般格式:GRANT ,. ON TO ,.WITH

8、GRANT OPTION;WITH GRANT OPTION子句:指定:可以再授予没有指定:不能传播不允许循环授权2.回收REVOKE授予的权限可以由DBA或其他授权者用REVOKE语句收回REVOKE语句的一般格式为: REVOKE ,. ON FROM ,.;3. 数据库角色被命名的一组与数据库操作相关的权限角色是权限的集合 可以为一组具有相同权限的用户创建一个角色简化授权的过程一、角色的创建CREATE ROLE 二、给角色授权 GRANT , ON 对象名 TO ,三、将一个角色授予其他的角色或用户GRANT ,TO , WITH ADMIN OPTION 四、角色权限的收回 REVO

9、KE ,ON FROM ,4.审计(shn j)例15对修改SC表结构或修改SC表数据的操作进行审计 AUDIT ALTER,UPDATE ON SC;例16取消对SC表的一切审计 NOAUDIT ALTER,UPDATE ON SC;5.什么是数据库的审计功能,为什么要提供审计功能? 审计功能指DBMS的审计模块在用户对数据库的所有操作自动地记录下来放入审计日志中。因为任何系统的安全措施都不是完美无缺的,蓄意盗窃,破坏数据的人总是想法设法打破控制。DBA可以通过审计跟踪的信息,找出非法存取数据的人,时间和内容等。6. 什么是基本表?什么是视图?两者的区别和联系是什么?答:基本表是实际存储在数

10、据库中的二维表,它是本身独立存在的表,在SQL中一个关系就对应一个表。视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。区别:视图是从一个或几个基本表(或视图)中导出的表,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。7.简述关系数据库系统中视图(VIEW)的定义,引进VIEW的概念有什么优点?1.简化用户操作2.视图使用户能以多个不同的方式看待同一数据3.视图对重构数据库提供了一定程度的逻辑独立性4.视图能够对机密数据提供安全保护5.适当使用视图可以更清晰的表达查询8.所有的视图是否都可以更新?为什么?不是。视图是不实际存储数

11、据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.不是所有的视图都可以更新,因为视图不是实际存在的表,而是通过对基本表的查询得出的数据视图,例如视图用集函数AVG对表查询得出平均值,则不能更新视图,因为系统无法通过修改表的各项值使平均值变成更新的值。9. 试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:(l)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。(2)存取

12、控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ级中的自主存取控制(DAC),Bl级中的强制存取控制(MAC)。(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。(4)审计:建立(jinl)审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用(lyng)审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知(huzh)

13、数据的内容。10. 什么是数据库中的自主存取控制方法和强制存取控制方法?答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。第五章什么是数据库的完整性?数据库的完整性是指数据的正确性和相容性。1.完整性约束实体完整性参照完整性用户定义的完整性1.定义触发器 CREATE TRIGGER BEFORE | AFTER ON FOR EACH R

14、OW | STATEMENT WHEN 2.删除触发器SQL语法: DROP TRIGGER ON ;3.DBMS的完整性控制机制应具有哪些功能?答:应具有三方面的功能:(1)提供定义完整性约束条件的机制。数据必须满足语义约束条件(2)提供完整性检查方法检查功能。DBMS检查是否满足完整性约束条件。(3)违约处理。如果发现用户的操作请求违背了完整性约束条件,则采取一定的动作来保证数据的完整性。4.三类完整性对应的检查机制1)实体完整性(要有主码PRIMARY KEY)检查和违约处理:(全盘扫描)检查主码值是否唯一,如果不唯一则拒绝插入或修改检查主码的各个属性是否为空,只要有一个为空就拒绝插入或

15、修改2)参照完整性(外码FOREIGN KEY)检查和违约机制:当可能(knng)破坏(phui)参照(cnzho)完整性时,拒绝执行(NO ACTION),为默认策略级连操作(CASCADE),级连删除或修改设置为空值3)用户定义的完整性a) 属性上: 列值非空(NOT NULL) 列值唯一(NUIQUE) 检查列值是否满足一个布尔表达式(CHECK)b) 元组上:CHECK检查和违约机制:RDBMS检查XX上的约束条件是否满足,不满足则拒绝。7.什么是数据库的完整性约束条件?答:完整性约束条件是指数据库中的数据应满足的语义约束条件。一般可以分为六类:1)静态列级约束2)静态元组约束3)静态

16、关系约束动态列级约束动态元组约束动态关系约束第六章1. 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM: 属性向域的映象集合F: 属性间数据的依赖关系集合4试给出BCNF的定义,并说明满足BCNF的关系有哪些特性。关系模式R属于1NF,若xy且y不属于x时x必含有码,则R是BCNF。特性:1.所有非主属性对每一个码是完全函数依赖2.所有的主属性对每一个不包含它的码,也是完全函数依赖。3.没有任何属性完全函数依赖于非码的任何一组属性Armstrong:(1)合并规则:若XZ,XY,则有XYZ ;

17、(2)伪传递规则:由XY,WYZ有XWZ;(3)分解规则:XY,Z属于Y,有XZ。证明过程如下:(1)对任一关系(gun x)r中任意(rny)两个元组t,s,若tX=SX,由于(yuy)XY,有tY=SY;由于XZ,有tZ=SZ;所以tYtZ= SYSZ,即tYZ=SYZ,也就是有XYZ。(2)由于XY,根据A2增广律,WXWY;又有WYZ,根据A3传递律,就有WXZ。(3)由于Z属于Y,根据A1自反律,有YZ,又由XY,根据A3传递律,就有XZ。第七章1.数据库设计分6个阶段1.需求分析阶段:进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最

18、困难,最耗时的一步。2.概念结构设计阶段:概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合,归纳与抽象形成一个独立于具体DBMS的概念模型。3.逻辑结构设计阶段:逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并进行优化。4.数据库物理设计阶段:数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。5.数据库实施阶段:在此阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6.数据库运行与维护阶段:在数据库运行过程中必须不断地对其进行评价,调整和

19、修改。2.“三分_技术_,七分_管理_,十二分_基础数据_”是数据库建设的基本规律。7. 数据字典的内容和作用是什么?答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(l)数据项;(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。7.在建立一个数据库应用系统时,为什么要首先调试运行DBMS的恢复功能?简述一下你所了解的数据库系统的恢复方法。在数据库试运行阶段,由于系统还不稳定,硬,软件故障随时都可能发生,而系统的操作人员对新系统还不熟悉,误操作也不可避免,因此首先调试DBMS的恢复功能,一旦发生故障可以尽快恢复减少破坏。数据转储和登记日志文件是数据库恢复的基

20、本技术第八章1.PL/SQL块的基本结构定义部分:DECLARE执行和异常处理部分:BEGIN EXCEPTION WHEN THEN END使用动态参数(cnsh)的步骤:1.声明(shngmng)SQL语句(yj)主变量。2.准备SQL语句(PREPARE)。 EXEC SQL PREPARE FROM ; 3.执行准备好的语句(EXECUTE)EXEC SQL EXECUTE INTO USING ;1. 创建存储过程:CREATE Procedure 过程名(参数1,参数2,.) AS;重命名存储过程ALTER Procedure 过程名1 RENAME TO 过程名2;2. 执行存储

21、过程: CALL/PERFORM Procedure 过程名(参数1,参数2,.);3. 删除存储过程 DROP PROCEDURE 过程名();4. 存储过程的优点经编译和优化后存储在数据库服务器中,运行效率高 降低客户机和服务器之间的通信量 有利于集中控制,方便维护5.ODBC工作流程操作步骤:一、 配置数据源二、 初始化环境三、 建立连接 四、 分配语句句柄五、 执行SQL语句六、 结果集处理七、 中止处理第九章1.RDBMS查询处理4个阶段 : 1. 查询分析:首先,对查询语句进行扫描、词法分析和语法分析。从查询语句中识别出语言符号,如SQL关键字、属性名和关系名等,进行语法检查和语法

22、分析,即判断查询语句是否符合SQL语法规则。2. 查询检查:根据数据字典对合法的查询语句进行语义检查,即检查语句中的数据库对象,如属性名,关系名,是否存在和是否有效。还要根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查。(查询树)3. 查询(chxn)优化:每个查询(chxn)都会有许多可供选择的执行策略和操作算法,查询(chxn)优化就是选择一个高效执行的查询处理策略。4. 查询执行:依据优化器得到的执行策略生成查询计划,由代码生成器生成执行这个查询计划的代码。2.查询优化分类 :代数优化:指关系代数表达式的优化物理优化:指存取路径和底层操作算法的选择3.试述查询优化的一般准

23、则。答:下面的优化策略一般能提高查询效率:(l)选择运算应尽可能先做;(2)把投影运算和选择运算同时进行;(3)把投影同其前或其后的双目运算结合起来执行;(4)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;(5)找出公共子表达式;(6)选取合适的连接算法。4. 试述查询优化的一般步骤。答:各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下:(l)把查询转换成某种内部表示,通常用的内部表示是语法树。(2)把语法树转换成标准(优化)形式。即利用优化算法,把原始的语法树转换成优化的形式。(3)选择低层的存取路径。(4)生成查询计划,选择代价最小的。第十章事务的ACID特性:原子性

24、:事务是一个不可分割的单位。是用户定义的一个数据库操作序列。一致性:事务对数据库操作的结果是将数据库从一个一致性状态变为另一个一致性状态。隔离性:多个事务的并发执行不互相干扰。持续性:事务一旦提交,它对数据库中数据的改变就是永久性的。1. 怎样进行事务故障的恢复答:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是: 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。这样,如

25、果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空)。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。 继续反向扫描(somio)日志文件,查找该事务的其他更新操作,并做同样处理。 如此处理下去,直至读到此事务的开始标记,事务故障恢复(huf)就完成了。2.怎样进行糸统故障(gzhng)的恢复?系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤消故障发生时未完成的事务,重做已完成的事务。 正向扫描日志文件(即从头扫描日志文件),

26、找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录),将其事务标识记入撤消(UNDO)队列。 对撤消队列中的各个事务进行撤消(UNDO)处理。进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。 对重做队列中的各个事务进行重做(REDO)处理。进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件

27、登记的操作。即将日志记录中“更新后的值”写入数据库。3. 怎样进行介质故障的恢复?答:发生介质故障后,磁盘上的物理数据和日志文件被破坏,恢复方法是重装数据库,然后重做已完成的事务。具体地说就是: 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。 装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即:首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。然后正向扫描

28、日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。4. 试述使用检查点方法进行恢复的步骤。答:1)从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。这里建立两个事务队列:UNDO-LIST:需要执行undo操作的事务(shw)集合;REDO-LIST需要执行redo操作(cozu)的事务集合。把ACTIVE-LIST暂时(znsh)放入UNDO-LIST队列,REDO队列暂时为空。检查点开始正向扫描日志文件:如果有新开始的事务

29、Ti,把Ti暂时放入UNDO-LIST队列;如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。第十一章1.避免活锁:采用先来先服务的策略当多个事务请求封锁同一数据对象时按请求封锁的先后次序对这些事务排队该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁2.解决死锁两类方法1. 预防死锁2. 死锁的诊断与解除3.请给出预防死锁的若干方法。答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。预防死锁通常有两种方法:1)一次封锁法。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。2)顺序封锁法。顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。4. 请给出检测死锁发生的方法,当发生死锁后如何解决死锁?答:一般使用超时法或事务等待图法。 超时法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论