关系数据库系统
- 格式:docx
- 大小:29.94 KB
- 文档页数:11
9.1 名词解释(1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。
(2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。
(3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。
也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。
(4)嵌套关系模型:是从平面关系模型发展而成的。
它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。
嵌套关系突破了1NF的定义框架,是“非1NF关系”。
(5)复合对象模型:在嵌套关系模型上进一步放宽要求。
在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。
(6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。
当在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。
(7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。
(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能)(8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。
也就是说,超类型所具有的属性,在子类上也具有。
(9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。
(10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。
数据库系统2-7:关系代数的等价变换规则前面介绍的三种关系运算的能力是等价的,它们之间都可以相互等价转换,也都可以转换成关系代数表达式,所以研究关系运算等价变换原则可以从关系代数表达式开始。
关系代数的变换规则记为:E1oE2。
关系代数表达式经过等价变换后,其结果与变换前的关系表达式等价。
常用等价变换规则:1.连接、笛卡儿积的交换律E1XE2o E2XE1E1 >< E2o E2 >< E1 自然连接E1 >F< E2o E2 >F< E1 其中F为连接运算条件2.连接、笛卡儿积结合律设E1、E2、E3为关系代数表达式,F1、F2为连接运算条件。
则(E1XE2)XE3o E1X(E2 XE3)(E1 >< E2)>< E3o E1 >< ( E2 >< E3)(E1 > < F1 E2)>< F2E3o E1 >< F1( E2 >< F2E3)3.投影的串接定律设E为关系代数表达式,Ai(i=1,2,3….n),Bj(j=1,2,3,….m)是属性名,且AiíBj 则 ?A1,A2,…An(?B1,B2,….Bm(E))o?A1,A2,….An(E)4.选择的串接律设E为关系代数表达式,F1、F2为选择条件。
σ-F1(σ-F2( E ) ) o σ-F1ùF2( E )5.选择和投影的交换律a)选择条件只涉及属性Ai(i=1,2,3….n)σ-F(?A1,A2,…An ( E ) ) o?A1,A2,…An(σ-F( E ) )b)选择条件涉及的属性有不属于A1,A2,…An的属性B1,B2,….Bm ,则规则为:?A1,A2,…An( σ-F( E ) ) o?A1,A2,…An( σ-F(?A1,A2,…An,B1,B2,….Bm( E )) ) ?A1,A2,…An(σ-F( E ) )不能等于σ-F(?A1,A2,…An ( E ) ),因为投影时属性A1,A2,…An不包含B1,B2,….Bm ,致使选择时缺乏有关属性B1,B2,….Bm 。
数据库系统定义数据库系统(Database System,简称DBS)是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
数据独立性数据库中的数据独立于应用程序,即数据的逻辑结构和物理结构分离,使得数据的定义和描述可以从应用程序中分离出来。
数据结构化数据库中的数据按照一定的数据模型组织、描述和存储,具有较高的结构化程度。
数据完整性保障数据库系统提供了一套完整的数据完整性保障机制,确保数据的正确性、有效性和相容性。
数据共享性高数据库中的数据可以被多个用户、多个应用程序共享使用,避免了数据冗余和不一致性。
数据安全性控制数据库系统提供了数据安全性控制机制,可以对数据进行加密、权限控制等操作,确保数据的安全性和保密性。
数据库系统定义与特点数据库技术发展历史层次数据库和网状数据库阶段20世纪60年代至70年代初,出现了层次数据库和网状数据库,它们采用树形或图状结构表示数据及其之间的联系。
关系数据库阶段20世纪70年代至80年代,关系数据库逐渐取代了层次数据库和网状数据库,成为主流的数据库技术。
关系数据库采用二维表格的形式表示数据及其之间的联系,具有严格的数学理论基础和简洁的数据操作语言。
面向对象数据库阶段20世纪90年代至今,随着面向对象编程技术的发展,面向对象数据库逐渐兴起。
面向对象数据库采用类和对象的形式表示数据及其之间的联系,支持复杂数据类型和继承等面向对象特性。
企业信息化数据库系统是企业信息化的重要组成部分,广泛应用于企业资源规划(ERP)、客户关系管理(CRM)、供应链管理(SCM)等领域。
电子商务网站需要处理大量的商品信息、用户信息和交易数据等,数据库系统为电子商务提供了高效、可靠的数据存储和管理解决方案。
金融领域涉及大量的客户数据、交易数据和风险控制数据等,数据库系统为金融行业提供了安全、稳定的数据存储和处理支持。
科学研究领域需要处理大量的实验数据、观测数据和模拟数据等,数据库系统为科学研究提供了高效、灵活的数据管理和分析工具。
数据库系统工程师-关系数据库基本理论(一)(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:33,分数:51.00)1.在关系代数表达式的查询优化中,不正确的叙述是______。
A.尽可能早地执行连接B.尽可能早地执行选择C.尽可能早地执行投影D.把笛卡儿积和随后的选择合并成连接运算(分数:1.00)A. √B.C.D.解析:关系模式R(U,F),其中U=(W,X,Y,Z),F=WX→Y,W→X,X→Z,Y→W。
关系模式R的候选码是(1) ,(2) 是无损连接并保持函数依赖的分解。
(分数:2.00)(1).A.W和Y B.WY C.WX D.WZ(分数:1.00)A. √B.C.D.解析:(2).A.ρ={R1(WY),R2(XZ)} B.ρ={R1(WZ),R2(XY)}C.ρ{R1(WXY),R2(XZ)) D.ρ={R1(WX),R2(YZ))(分数:1.00)A.B.C. √D.解析:2.下列公式中一定成立的是______。
A.πA1,A2 (σF(E))≡σF (πA1,A2 (E))B.σF(E1×E2)≡σF(E1)×σF (E2)C.σF (E1-E2)≡σF (E1)-σF (E2)D.πA1,A2,B1,B2 (E E)≡πA1,A2πB1,B2 (E)(分数:1.00)A.B.C. √D.解析:3.在元组关系演算中,与公式(s)(P1(s))等价的公式是______。
A.┐(s)(P1(s)) B.(s)( ┐P l(s))C.┐(s)( ┐P1(s)) D s)( ┐P1(s))(分数:1.00)A.B.C.D. √解析:4.关系规范化中的删除操作异常是指______。
A.不该删除的数据被删除 B.不该删除的关键码被删除C.应该删除的数据未被删除 D.应该删除的关键码未被删除(分数:1.00)A. √B.C.D.解析:5.在元组关系演算中,与公式P1=>P2等价的公式是______。
全关系系统基本准则与关系系统分类胡经国本文作者的话本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。
以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。
希望能够得到大家的指教和喜欢!下面是正文关系型数据库管理系统(RDBMS),简称关系系统,是目前应用最广泛的数据库管理系统。
在实际应用中,各类关系系统产品的功能都是有差异的。
根据其支持运算的不同,关系系统可分为(最小)关系系统、完备关系系统和全关系系统三种类型。
下面简介全关系系统基本准则及关系系统分类;在开发实际系统时,作为选择关系系统产品的依据。
一、全关系系统的十二条基本准则下面是关系模型的奠基人埃德加·科德(E.F.Codd)提出的全关系系统的十二条基本准则。
只有遵循这些准则的RDBMS才算是全关系系统;以此可作为评价或购买RDBMS产品的标准。
准则0:一个关系型数据库管理系统必须能完全通过自身的关系能力来管理数据库。
这意味着一个关系系统必须能在关系这个级别支持数据库的插入、修改和删除。
准则0是下面十二条准则的基础。
不满足准则0的系统(数据库管理系统)都不能算是关系系统。
准则1:信息准则关系型数据库管理系统的所有信息都应在逻辑一级用同一个方法——表(Table)中的值显示地表示出来。
而且,每个表的表名、表中的列名和域名等,都是用系统内的数据字典表中的值表示的。
数据字典本身是一个描述元数据的关系型数据库。
准则2:保证访问准则依靠表名、主码和列名的组合,应保证能够访问关系型数据库中的每个数据项值(数据项)。
保证访问准则规定,关系系统不能采用面向机器的寻址法,而必须采用关系系统独有的关联寻址的访问模式。
准则3:空值的系统化处理准则全关系的关系数据库管理系统(即:全关系系统)支持空值的概念,并用系统化的方法处理空值。
空值是“不知道”或“无意义”的值。
它不是一个具体的值(如零、空字符串等)。
空值的概念很重要。
全关系系统支持空值的概念,就是要用一个系统化的方式处理空值。
2011年第3期 重庆三峡掌院学报 No3.2oil
箍 2鲞!. 三 塑2 Q Q里 Q QQ ! 里垦 Q 垦 IvERsrrY Vo1.27 No.132
三种关系型数据库管理系统的比较研究 ——Vi Stla 1 FoxPro,Acces s和SQL Server 傅荣会 (内江师范学院计科学院,9)1l内江641112)
摘要:文章从数据库的区别、安全性、DBMS和数据库的物理位置、学习和使用的难度等方 面进行比较,希望对Vi sual FoxPro,Access和SQL Server研究有一定的帮助. 关键词:关系型数据库管理系统;Vi sual FoxPr;Access;SQL Server;比较 中图分类号:TP311.1 38 文献标识码:A 文章编号:1009—8135(2011)03—0058—02
纵观当今的商用数据库市场,自20世纪70年代关系模型提出后,由于其突出的优点,迅速被商用数 据库系统所采用.据统计,1970年代以来新发展的DBMS系统中,近90%是采用关系数据模型,其中涌 现出了许多性能优良的商品化关系数据库管理系统.例如,小型数据库系统VisualFoxPro,Access,MySQL 等,大型数据库系统DB2,Ingers,Oracle,Informix,Sybase,SQL Server等. 所谓关系型数据库,是指采用了关系模型来组织数据的数据库.关系模型是在1970年由IBM的研究 员E.F.Codd博士首先提出,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为数据库架构 的主流模型.简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的 联系组成的一个数据组织. 目前,大学计算机数据库课接触比较多的有Visual FoxPro,Access和SQL Server,前两种列为了计算 机二级考试科目.下面对这三种关系型数据库管理系统进行比较研究.
第二章关系数据库1 .试述关系模型的三个组成部分;答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成;2 .试述关系数据语言的特点和分类;答:关系数据语言可以分为三类:关系代数语言;关系演算语言:元组关系演算语言和域关系演算语言;SQL:具有关系代数和关系演算双重特点的语言;这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用;3 略4 .5 . 述关系模型的完整性规则;在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值;若属性或属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应基本关系R和S 不一定是不同的关系,则对于R中每个元组在F上的值必须为:或者取空值F的每个属性值均为空值;或者等于S中某个元组的主码值;即属性F本身不是主属性,则可以取空值,否则不能取空值;6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1求供应工程J1零件的供应商号码SNO:πSnoσJno=‘J1’SPJ2求供应工程J1零件P1的供应商号码SNO:πSnoσJno=‘J1’∧Pno=‘P1‘SPJ3求供应工程J1零件为红色的供应商号码SNO:πSnoπSno,,PnoσJno=‘J1‘SPJ∞πPnoσCOLOR=’红‘P4求没有使用天津供应商生产的红色零件的工程号JNO:πJno SPJ- πJNOσcity=‘天津’∧Color=‘红‘S∞SPJ∞P5求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno SPJ÷πPnoσSno=‘S1‘SPJ7. 试述等值连接与自然连接的区别和联系;答:连接运算符是“=”的连接运算称为等值连接;它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉;8.关系代数的基本运算有哪些如何用这些基本运算来表示其他运算答:并、差、笛卡尔积、投影和选择5种运算为基本的运算;其他3种运算,即交、连接和除,均可以用这5种基本运算来表达;第三章关系数据库语言SQL1 .试述sQL 语言的特点;答:l综合统一; sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体;2高度非过程化;用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成;3面向集合的操作方式; sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合;4以同一种语法结构提供两种使用方式; sQL 语言既是自含式语言,又是嵌入式语言;作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用;5语言简捷,易学易用;2.3 1 select from S where A='10';2 select A,B from S;3 select A,B,S.C,S.D,E,F from S ,T where S.C=T.C and S.D=T.D;4 select from S ,T where S.C=T.C;5 select from S ,T where S.A<T.E;6 select S.C,S.D,T. from S ,T ;4.用sQL 语句建立第二章习题6中的4 个表;答:对于S 表:S SNO , SNAME , STATUS , CITY ;建S 表:CREATE TABLE S Sno C2 UNIQUE,Sname C6 ,Status C2,City C4;对于P 表:P PNO , PNAME , COLOR , WEIGHT ;建P 表:CREATE TABLE PPno C2 UNIQUE,Pname C6,COLOR C2, WEIGHT INT;对于J 表:J JNO , JNAME , CITY ;建J 表:CREATE TABLE JJno C2 UNlQUE,JNAME C8, CITY C4对于sPJ 表:sPJ sNo , PNo , JNo , QTY ;建SPJ 表:SPJSNO,PNO,JNO,QTYCREATE TABLE SPJSno C2,Pno C2,JNO C2, QTY INT针对建立的4 个表用sQL 语言完成第二章习题6中的查询;l 求供应工程Jl 零件的供应商号码SNO ;SELECT DIST SNO FROM SPJ WHERE JNO=’J1’2 求供应工程Jl 零件Pl 的供应商号码SNO ;SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'3 求供应工程Jl 零件为红色的供应商号码SNO ;SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'4 求没有使用天津供应商生产的红色零件的工程号JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO;5 求至少用了供应商Sl 所供应的全部零件的工程号JNO ;由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是P1,P2B、查询哪一个工程既使用P1零件又使用P2零件;SELECT JNO FROM SPJ WHERE PNO='P1'AND JNO IN SELECT JNO FROM SPJ WHERE PNO='P2'5.针对上题中的四个表试用SQL语言完成以下各项操作:1找出所有供应商的姓名和所在城市;SELECT SNAME,CITY FROM S2找出所有零件的名称、颜色、重量;SELECT PNAME,COLOR,WEIGHT FROM P3找出使用供应商S1所供应零件的工程号码;SELECT DIST JNO FROM SPJ WHERE SNO='S1'4找出工程项目J2使用的各种零件的名称及其数量;SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'5找出上海厂商供应的所有零件号码;SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'6出使用上海产的零件的工程名称;SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO7找出没有使用天津产的零件的工程号码;注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津' 适用于JNO是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况8把全部红色零件的颜色改成蓝色;UPDATE P SET COLOR='蓝' WHERE COLOR='红'9由S5供给J4的零件P6改为由S3供应;UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'10从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录;A、DELETE FROM S WHERE SNO=’S2’B、DELETE FROM SPJ WHERE SNO=‘S2’11请将S2,J6,P4,200插入供应情况关系;INSERT INTO SPJ V ALUES‘S2’,‘J6’,‘P4’,2006 .什么是基本表什么是视图两者的区别和联系是什么答:基本表是本身独立存在的表,在sQL 中一个关系就对应一个表;视图是从一个或几个基本表导出的表;视图本身不独立存储在数据库中,是一个虚表;即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中;视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图;7 .试述视图的优点;答l 视图能够简化用户的操作; 2 视图使用户能以多种角度看待同一数据; 3 视图对重构数据库提供了一定程度的逻辑独立性; 4 视图能够对机密数据提供安全保护;8 .哪类视图是可以更新的哪类视图是不可更新的各举一例说明;答:基本表的行列子集视图一般是可更新的;若视图的属性来自集合函数、表达式,则该视图肯定是不可以更新的;所有的视图是否都可以更新为什么答:不是;视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新;因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.9 .请为三建工程项目建立一个供应情况的视图,包括供应商代码SNO、零件代码PNO、供应数量QTY;CREATE VIEW VSP AS SELECT SNO,SPJ.PNO,QTY FROM SPJ,JWHERE SPJ.JNO=J.JNO AND J.JNAME='三建'针对该视图VSP完成下列查询:1找出三建工程项目使用的各种零件代码及其数量;SELECT DIST PNO,QTY FROM VSP2找出供应商S1的供应情况;SELECT DIST FROM VSP WHERE SNO='S1'第4章数据库安全性1 .什么是数据库的安全性答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏;2 .数据库安全性和计算机系统的安全性有什么关系答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题;只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出;系统安全保护措施是否有效是数据库系统的主要指标之一;数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,4 .试述实现数据库安全性控制的常用方法和技术;答:实现数据库安全性控制的常用方法和技术有:l 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份;每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权;2 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据;例如CZ 级中的自主存取控制DAC , Bl 级中的强制存取控制MAC ;3 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护;4 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;5 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容;5.什么是数据库中的自主存取控制方法和强制存取控制方法答:自主存取控制方法:定义各个用户对不同数据对象的存取权限;当用户对数据库访问时首先检查用户的存取权限;防止不合法用户对数据库的存取;强制存取控制方法:每一个数据对象被强制地标以一定的密级,每一个用户也被强制地授予某一个级别的许可证;系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象;6. 1 GRANT ALL PRIVILEGES ON Student,ClassTO U1WITH GRANT OPTION ;2GRANT SELECT,UPDATE家庭住址,DELETE ON Student TO U2;3GRANT SELECT ON Class TO PUBLIC;4GRANT SELECT,UPDATE ON Student TO R1;5GRANT R1 TO U1 WITH ADMIN OPTION ;7 .SQL 语言中提供了哪些数据控制自主存取控制的语句请试举几例说明它们的使用方法; 答:SQL 中的自主存取控制是通过GRANT语句和REVOKE语句来实现的;如:GRANT SELECT , INSERT ON StudentTO 王平WITH GRANT OPTION ;就将Student 表的SELECT 和INSERT 权限授予了用户王平,后面的“WITH GRANT OPTION ”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户;REVOKE INSERT ON Student FROM 王平CASCADE ;就将Student 表的INSERT 权限从用户王平处收回,选项CASCADE 表示,如果用户王平将Student 的INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回;7.请用SQL的GRANT 和REVOKE语句加上视图机制完成以下授权定义或存取控制功能: a 用户王明对两个表有SELECT 权力;GRANT SELECT ON 职工,部门TO 王明b 用户李勇对两个表有INSERT 和DELETE 权力;GRANT INSERT,DELETE ON 职工,部门TO 李勇c 每个职工只对自己的记录有SELECT 权力;GRANT SELECT ON 职工WHEN USER=NAMETO ALL;d 用户刘星对职工表有SELECT 权力,对工资字段具有更新权力;GRANT SELECT,UPDATE工资ON 职工TO 刘星e 用户张新具有修改这两个表的结构的权力;GRANT ALTER TABLE ON 职工,部门TO 张新;f 用户周平具有对两个表所有权力读,插,改,删数据,并具有给其他用户授权的权力;GRANT ALL PRIVILIGES ON 职工,部门TO 周平WITH GRANT OPTION;g 用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资;CREATE VIEW 部门工资ASSELECT 部门.名称,MAX工资,MIN工资,A VG工资FROM 职工,部门WHERE 职工.部门号=部门.部门号GROUP BY 职工.部门号GRANT SELECT ON 部门工资TO 杨兰;8 .把习题8 中1---7的每一种情况,撤销各用户所授予的权力1 REVOKE SELECT ON 职工,部门FROM 王明;2 REVOKE INSERT , DELETE ON 职工,部门FROM 李勇;3 REOVKE SELECT ON 职工WHEN USER =NAMEFROM ALI ;4 REVOKE SELECT , UPDATE ON 职工FROM 刘星;5 REVOKE ALTER TABLE ON 职工,部门FROM 张新;6 REVOKE ALL PRIVILIGES ON 职工,部门FROM 周平;7 REVOKE SELECT ON 部门工资FROM 杨兰;DROP VIEW 部门工资;9.理解并解释MAC 机制中主体、客体、敏感度标记的含义;答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程;客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等;对于主体和客体,DBMS 为它们每个实例值指派一个敏感度标记Label ;敏感度标记被分成若干级别,例如绝密Top Secret 、机密Secret ·可信Confidential 、公开PubliC 等;主体的敏感度标记称为许可证级别ClearanCe 玫vel ,客体的敏感度标记称为密级Classification Level ;11 .什么是数据库的审计功能,为什么要提供审计功能答:审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中;因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在;利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;第5章数据库完整性1什么是数据库的完整性答:数据库的完整性是指数据的正确性和相容性;2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系答:数据的完整性和安全性是两个不同的概念,但是有一定的联系;前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出Garba : e In Garba : e out 所造成的无效操作和错误结果;后者是保护数据库防止恶意的破坏和非法的存取;也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据;3 .什么是数据库的完整性约束条件可分为哪几类答完整性约束条件是指数据库中的数据应该满足的语义约束条件;一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束;静态列级约束是对一个列的取值域的说明,包括以下几个方面:l 对数据类型的约束,包括数据的类型、长度、单位、精度等; 2 对数据格式的约束; 3 对取值范围或取值集合的约束; 4 对空值的约束; 5 其他约束;静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上;静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束;常见的静态关系约束有:l 实体完整性约束; 2 参照完整性约束; 3 函数依赖约束;动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:l 修改列定义时的约束; 2 修改列值时的约束;动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件;动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件;4 . DBMS 的完整性控制机制应具有哪些功能答:DBMS 的完整性控制机制应具有三个方面的功能:l 定义功能,即提供定义完整性约束条件的机制; 2 检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;3 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性;5 . RDBMS 在实现参照完整性时需要考虑哪些方面答RDBMs 在实现参照完整性时需要考虑以下几个方面:l 外码是否可以接受空值;2 册l 除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:l 级联删除CASCADES ; 2 受限删除RESTRICTED ;3 置空值删除NULLIFIES ; 3 在参照关系中插入元组时的问题,这时系统可能采取的作法有:l 受限插入;2 递归插入;4 修改关系中主码的问题;一般是不能用UPDA TE 语句修改关系主码的;如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中;如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改;然后要区分是参照关系还是被参照关系;6 .假设有下面两个关系模式:职工职工号,姓名,年龄,职务,工资,部门号,其中职工号为主码;部门部门号,名称,经理名,电话,其中部门号为主码;用sQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60 岁;答CREATE TABLE DEPTDeptno NUMBER2,Deptname V ARCHAR10,Manager V ARCHAR10,PhoneNumber Char12CONSTRAINT PK_SC RIMARY KEYDeptno;CREATE TABLE EMPEmpno NUMBER4,Ename V ARCHAR10,Age NUMBER2,CONSTRAINT C1 CHECK Aage<=60,Job V ARCHAR9,Sal NUMBER7,2,Deptno NUMBER2,CONSTRAINT FK_DEPTNOFOREIGN KEYDeptnoREFFERENCES DEPTDeptno;7 .关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理;而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性;第6章关系数据库理论1 .理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码All 一key 、1 NF 、ZNF 、3NF 、BcNF 、多值依赖、4NF ;定义1:设RU是属性集U上的关系模式;X,Y是属性集U的子集;若对于RU的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y;即只要X上的属性值相等,Y上的值一定相等;术语和记号:X→Y,但Y不是X的子集,则称X→Y是非平凡的函数依赖;若不特别声明,总是讨论非平凡的函数依赖;X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖;若X→Y,则X叫做决定因素Determinant;若X→Y,Y→X,则记作X←→Y;若Y不函数依赖于X,则记作X → Y;定义2:在RU中,如果X→Y,并且对于X的任何一个真子集X’,都有X’→ Y,则称Y对X完全函数依赖若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式1NF; 定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF ;即1NF消除了非主属性对码的部分函数依赖则成为2NF;定义5:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性ZZ不是Y的子集使得X→Y,Y → X,Y → Z成立,则称R<U,F>∈3NF;定义6:关系模式R<U,F>∈1NF ;若X→Y且Y不是X的子集时,X必含有码,则R<U,F>∈BCNF;定义7:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→YY不是X的子集,Z=U-X-Y不为空,X都含有码,则称R<U,F>∈4NF;2.建立一个关于系、学生、班级、学会等诸信息的关系数据库;学生:学号、姓名、出生年月、系名、班号、宿舍区;班级:班号、专业名、系名、人数、入校年份;系:系名、系号、系办公地点、人数;学会:学会名、成立年份、办公地点、人数;语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生;一个系的学生住在同一宿舍区;每个学生可参加若干学会,每个学会有若干学生;学生参加某学会有一个入会年份;请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖;指出各关系模式的候选码、外部码,有没有全码存在解:1关系模式如下:学生:SSno,Sname,Sbirth,Dept,Class,Rno 班级:CClass,Pname,Dept,Cnum,Cyear 系:DDept,Dno,Office,Dnum学会:MMname,Myear,Maddr,Mnum2每个关系模式的最小函数依赖集如下:A、学生S Sno,Sname,Sbirth,Dept,Class,Rno 的最小函数依赖集如下:Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,DEPT→Rno传递依赖如下:由于Sno→Dept,而Dept→Sno ,Dept→Rno宿舍区所以Sno与Rno之间存在着传递函数依赖;由于Class→Dept,Dept → Class,Dept→Rno所以Class与Rno之间存在着传递函数依赖;由于Sno→Class,Class→Sno,Class→Dept所以Sno与Dept之间存在着传递函数依赖;B、班级CClass,Pname,Dept,Cnum,Cyear的最小函数依赖集如下:Class→Pname,Class→Cnum,Class→Cyear,Pname→Dept.由于Class→Pname,Pname→Class,Pname→Dept所以C1ass与Dept之间存在着传递函数依赖;C、系DDept,Dno,Office,Dnum的最小函数依赖集如下:Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖;D、学会MMname,Myear,Maddr,Mnum的最小函数依赖集如下:Mname→Myear,Mname→Maddr,Mname→Mnum该模式不存在传递依赖;3各关系模式的候选码、外部码,全码如下:A、学生S候选码:Sno;外部码:Dept、Class;无全码B、班级C候选码:Class;外部码:Dept;无全码C、系D候选码:Dept或Dno;无外部码;无全码D、学会M候选码:Mname;无外部码;无全码7.下面的结论哪些是正确的哪些是错误的对于错误的请给一个反例说明之;1任何一个二目关系是属于3NF;答:正确;因为关系模式中只有两个属性,所以无传递;2任何一个二目关系是属于BCNF.答:正确;按BCNF的定义,若X→Y,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码;详细证明如下:任何二元关系模式必定是BCNF;证明:设R为一个二目关系RA1,A2,则属性A1和A2之间可能存在以下几种依赖关系:A、A1→A2,但A2→A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF;B、A1→A2,A2→A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF;包含码;R是BCNF;C、R的码为A1,A2即A1 →A2,A2 →A1,决定因素都第七章数据库设计1.试述数据库设计过程;答:这里只概要列出数据库设计过程的六个阶段:l 需求分析; 2 概念结构设计; 3 逻辑结构设计; 4 数据库物理设计; 5 数据库实施; 6 数据库运行和维护;这是一个完整的实际数据库及其应用系统的设计过程;不仅包括设计数据库本身,还包括数据库的实施、运行和维护;设计一个完善的数据库应用系统往往是上述六个阶段的不断反复;2 .试述数据库设计过程各个阶段上的设计描述;答:各阶段的设计要点如下:l 需求分析:准确了解与分析用户需求包括数据与处理; 2 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型; 3 逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化; 4 数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构包括存储结构和存取方法; 5 数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行; 6 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改;3 .试述数据库设计过程中结构设计部分形成的数据库模式;答:数据库结构设计的不同阶段形成数据库的各级模式,即:l 在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是E 一R 图; 2 在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图Vi 娜,形成数据的外模式; 3 在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式;5 .什么是数据库的概念结构试述其特点和设计策略;答:概念结构是信息世界的结构,即概念模型,其主要特点是:l 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型; 2 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键; 3 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; 4 易于向关系、网状、层次等各种数据模型转换;概念结构的设计策略通常有四种:l 自顶向下,即首先定义全局概念结构的框架,然后逐步细化; 2 自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构; 3 逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;4 混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构;7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修;请用 E 一R 图画出此学校的概念模型;答:。
简述数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统使用的一种模式,包括物理模式、逻辑模式和视图模式,是深受计算机领域广泛使用的数据库设计方法。
本文将对三级模式结构的定义、内容及其在计算机领域的应用进行介绍。
三级模式结构是由E.F.Codd在1970年提出的,它是一种基于多级架构的模式结构,将数据库系统分为三层,其分层原则是:高一级的模式不能依赖于低一级的模式。
三级模式结构包括物理模式、逻辑模式和视图模式。
物理模式是最低一级的模式,它是描述底层数据存放格式的模式,例如定义物理文件、数据字典和索引的模式,它的主要作用是提供程序操作数据的工具,并确定数据在内存中的架构,确定数据文件的存储位置和存储模式。
逻辑模式是中间一级的模式,它是描述数据库信息结构和内容的模式,并将数据库中的信息实体和实体之间的关系表示出来,它的主要作用是描述数据库的逻辑结构,例如实体、属性、实体属性间的关系等,它还能描述实体间的关系,比如实体之间的约束条件。
视图模式是最高一级的模式,它是面向用户视角的模式,它是用户可视化方式展示信息的模式,它可以将在逻辑模式上定义的信息转换为用户所需要的格式,它可以根据用户自定义的要求,将数据库中的信息转换为表格、报表等形式展示,使用户可以易于查看和理解信息内容。
三级模式结构的典型应用是基于关系的数据库系统,它是指将数据库结构设计为关系结构,将信息按照规则存储在表中。
关系型数据库系统中,三级模式结构可以明确地给出关系数据库的物理结构,提供逻辑结构和实现结构,将关系表中的数据转换为合理的信息结构,提供简单、方便的数据库查询和维护操作,从而极大地提高了数据库系统的性能。
三级模式结构在实际应用中发挥着重要作用,它使数据库系统能够更好地实现物理数据存储、信息结构规划、视图设计和操作的封装等功能,是数据库系统实现和构建的重要基础。
它的实施使得数据库系统更加有效、更加安全,更加易用,为用户提供方便、可靠、有效的数据库服务,是数据库系统当前发展的重要动力。
《数据库系统概论》第六章关系数据理论复习题及答案一、选择题1、关系规范化中的删除操作异常是指①,插入操作异常是指②。
A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入答案:①A ②D2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是。
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑答案:A3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及冗余度大的缺陷。
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失答案:C4、当关系模式R(A,B)已属于3NF,下列说法中是正确的。
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A 和C都是答案:B5、关系模型中的关系模式至少是。
A.1NF B.2NF C.3NF D.BCNF 答案:A 6、在关系DB中,任何二元关系模式的最高范式必定是。
A.1NF B.2NF C.3NF D.BCNF 答案:D7、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是。
A.2NF B.3NF C.4NF D.BCNF 答案:C8、候选关键字中的属性称为。
A.非主属性 B.主属性 C.复合属性 D.关键属性答案:B9、消除了部分函数依赖的1NF的关系模式,必定是。
A.1NF B.2NF C.3NF D.4NF 答案:B10、关系模式的候选关键字可以有①,主关键字有②。
A.0个B.1个 C.1个或多个 D.多个答案:①C ②B 11、关系模式的分解不惟一。
A.惟一 B.不惟一答案:B12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式? 。
部门(部门号,部门名,部门成员,部门总经理)A.部门总经理 B.部门成员 C.部门名 D.部门号答案:B二、填空题1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为。
数据库管理系统是数据库系统的核心 数据库系统是在文件系统的基础上发展而来的 数据库最大的特点是“数据的三级抽象和二级独立” 数据库是存储在计算机内有结构的数据集合 数据库应用系统包括数据库和数据库应用程序 关系数据库系统: 是支持关系模型的数据库系统 数据模型的三要素是: 数据结构、数据操作和数据完整性 关系模型的组成
1. 关系数据结构 2. 关系操作集合 3. 关系完整性约束 关系模型中常用的关系操作: 选择、投影、并、差、笛卡尔积是5种基本操作 关系操作的特点: 集合操作方式,即操作的对象和结果都是集合 关系代数 是一种抽象的查询语言 用对关系的运算来表达查询 关系代数运算的三个要素 运算对象:关系 运算结果:关系 运算符:四类关系代数运算符 关系运算的分类:分为传统的集合运算和专门的关系运算 SQL的功能特点 数据查询 数据定义(DDL) 数据操纵(DML) 数据控制(DCL) 约束条件类型 PRIMARY KEY(主键约束) UNIQUE(惟一约束) NOT NULL(非空约束) FOREIGN KEY(外键约束) CHECK(检查约束) 建立索引的目的:基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。 数据库异常问题 1. 冗余太大 2. 插入异常 3. 删除异常 4. 修改异常 数据依赖:是一个关系内部属性与属性之间的一种约束关系,是语义的体现。分为函数依赖和多值依赖。 泛关系模式:就是最初设计的关系模式,或者说是存在异常问题的关系模式。 数据库模式:根据范式理论,将不符合用户需求的泛关系模式分解成一系列的关系集合。 若R∈1NF,且R中的每一个非主属性都完全函数依赖于R的任一候选码,则R∈2NF。 如果关系模式R∈BCNF,必定有R∈3NF 如果R∈3NF,且R只有一个候选码,则R必属于BCNF。 任何的二元关系必定是BCNF 查询优化:从查询的多个执行策略中进行合理选择的过程。 查询优化的分类:代数优化和物理优化 数据保护也叫数据控制,主要包括: 数据库恢复 并发控制 数据的安全性 数据的完整性 事务(Transaction) 是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务可以是一组SQL语句、一条SQL语句或整个程序,在通常情况下,一个应用程序里包含多个事务。 事务生成: 用户显式地定义事务 由DBMS按缺省自动划分事务 事务的特性 1.原子性(Atomicity) 一个事务中对数据库的操作,是一个不可分割的整体。 2.一致性(Consistency) 数据不会因事务的执行而遭受破坏。 3.隔离性(Isolation) 在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。 4.持久性(Durability) 一个事务一旦完成全部操作,它对数据库的所有更新应永久地反映在数据库中。 事务是数据库恢复和并发控制的基本单位 数据库故障恢复的基本单位是事务,因此在数据恢复时主要使用事务撤销(UNDO)与事务重做(REDO)两个操作。 1. 事务级故障 事务内部执行所产生的逻辑错误与系统错误,它由诸如数据输入错误、数据溢出、资源不足以及死锁等引起,使得事务尚未运行到终点即告夭折 。 2. 系统级故障 指造成系统停止运转的任何事件,使得系统要重新启动,通常称为软故障。 3. 介质级故障 也称为硬故障(Hard Crash),如磁盘损坏、磁头碰撞、瞬时强磁场干扰等。这类故障将破坏数据库或部分数据库。 数据转储的概念 转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本(backup)或后援副本。 (1)静态转储:是在系统中无运行事务时进行的转储操作。静态转储得到的一定是一个数据一致性的副本。 (2)动态转储:是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。 3、海量转储和增量转储 (1)海量转储:每次转储全部数据库。 (2)增量转储:每次只转储上一次转储后更新过的数据 日志文件(log file)—用来记录事务对数据库的更新操作的文件。 日志文件的作用 进行事务故障、系统故障恢复,并协助后备副本进行介质故障恢复。 系统故障的恢复: 恢复操作: 要撤销故障发生时未完成的事务(撤销队列进行UNDO) 重做已完成的事务(重做队列进行REDO) 介质故障的恢复需要DBA介入。 动态维护日志文件的方法是周期性地执行: 建立检查点,保存数据库状态 具体步骤: ①将当前所有日志记录写入磁盘日志文件上; ②在日志文件中写入一个检查点记录; ③将当前所有数据记录写入磁盘的数据库中; ④把检查点记录在日志文件中的地址写入一个重新开始文件。 在数据库系统中,为了提高性能,多个事务并发执行是必要的。 提高CPU和硬盘的使用效率,从而增加事务的吞吐率。 减少事务的平均响应时间(即等待CPU的时间),短时间事务无需等待长时间事务。 并发操作—在多用户共享系统中,多个用户同时存取同一数据的情形称为并发操作。 并发操作可能带来的问题: (1)破坏数据库的一致性 (2)破坏事务的隔离性 并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法,商用的DBMS一般都采用封锁方法。 封锁:指事务T在对某个数据对象操作之前,对其加锁。在T未释放锁之前,其他的事务不能更新此数据对象。 封锁协议:对数据对象加锁时,约定的规则。 常用的封锁协议:三级封锁协议 活锁:使某个事务永远处于等待状态,而得不到执行的现象称为活锁。(实际上是有可能被激活的) 避免活锁的方法:先来先服务( FCFS) 死锁:若干个事务都处于等待状态,相互等待对方解除封锁, 而造成这些事务都无法运行,均处于对锁的循环等待。 调度:事务的执行次序。 调度方式: (1)串行调度:多个事务依次执行的调度。 (2)并行调度:利用分时的方法处理多个事务的调度。 串行调度是正确的; 可串行化调度 :如果一个并发调度执行的结果等价于某一个串行调度的结果,称这种调度策略为可串行化的调度。 一组事务并发调度的正确性准则:可串行化调度。 冲突操作是指不同的事务对同一个数据的读写操作和写写操作 一个调度是冲突可串行化,一定是可串行化的调度。 保证并发调度的可串行性的方法有三种 封锁方法:两段锁协议(目前DBMS普遍采用的) 时标方法 乐观方法 所谓两段锁协议(Two-Phase Locking,简称2PL)是指所有事务必须分两个阶段对数据项提出加锁和解锁申请 封锁粒度:封锁对象的大小。 封锁对象:属性、元组、关系、数据库 封锁粒度与系统的并发度和并发控制的开销密切相关: 封锁的粒度越大,并发度越小,系统开销越小; 封锁的粒度越小,并发度越高,系统开销越大。 多粒度封锁:一个系统中同时支持多种封锁粒度供不同的事务选择的封锁方法。 封锁粒度选择原则: (1)需处理大量元组的事务以关系为封锁粒度; (2)需处理多个关系的大量元组的事务以数据库为封锁粒度; (3)只处理少量元组的事务以元组为封锁粒度。 多粒度封锁方式:显式封锁和隐式封锁 显式封锁是应事务的要求直接加到数据对象上的封锁; 隐式封锁是该数据对象没有独立加锁,是由于其上级结点加锁而使该数据对象加上了锁 意向锁加锁原则:如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的上层结点加意向锁。 锁的强度是指它对其他锁的排斥程度 具有意向锁的多粒度封锁方法的调用步骤 任意事务T要对一个数据对象加锁,必须先对它的上层结点加意向锁 申请封锁时应该按自上而下的次序进行 释放封锁时则应该按自下而上的次序进行 恢复的实现技术 1.数据转储 2.日志文件----具有检查点的恢复技术 3.数据库镜像--远程备份 恢复策略 1.事务故障的恢复 2.系统故障的恢复 3.介质故障的恢复(计算机病毒) 并发控制 并发控制可能产生的数据不一致 封锁的类型(X锁和S锁)及三级封锁协议 并发调度的可串行性 两段锁协议(获得封锁及释放封锁) 封锁粒度 (多粒度封锁、意向锁) 在数据库设计中,表示用户业务流程的常用方法是DFD 授权定义经过编译后存储在数据字典中 事务工作完成的标志是事物的“提交标志”已经安全的存入相关的日志文件 数据库系统中的死锁属于事务故障 DBA的职责是什么?