北京科技大学数据库考试题库97899_第1页
北京科技大学数据库考试题库97899_第2页
北京科技大学数据库考试题库97899_第3页
北京科技大学数据库考试题库97899_第4页
北京科技大学数据库考试题库97899_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

习题一、选择题1数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()组成.A、系统分析员B、程序员C、数据库管理员D、操作员2.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是:()A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括和DBMS、DBSD、DBS就是DB,就是DBMS3.下面列出的数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的是()。I。人工管理阶段II文件系统阶段III数据为阶段A、I和IIB、只有IIC、II和IIID只有I4.下列4项中,不属于数据库系统特点的是()A、数据共享B、数据完整性C、数据冗余度高D、数据独立性高5.数据库系统的数据独立性体现在()A、不会因为数据的变化而影响到应用程序B、不会因为数据存储结构与数据逻辑结构的变化而影响应用程序C、不会因为存储策略的变化而影响存储结构D、不会因为某些存储结构的变化而影响其他的存储结构6.描述数据库全体数据的全局逻辑结构和特性的是()A、模式B、内模式C、外模式7.要保证数据库的数据独立性,需要修改的是()A、模式与外模式B、模式与内模式C、三级模式之间的两层映像D、三级模式8.要保证数据库的逻辑数据独立性,需要修改的是()A、模式与外模式之间的映像B、模式与内模式之间的映像C、模式D、三级模式9.用户和应用程序看到的那部分局部逻辑结构和特征的描述是()A、模式B、物理模式C、子模式10.下述()不是DBA的数据库管理员的职责。A、完整性约束说明B、定义数据库模式C、数据库安全D、数据为管理系统设计二、填空题1、数据库系统具有(永久存贮)、(有组织)和(可共享)3个基本特点。2、数据库管理系统是数据库系统的一个重要组成部分,它的功能包括(数据定义)、(数据操纵)、(数据库运行和管理)、(数据库的建立和维护)。3、数据库系统是指在计算机系统中引入数据库后的系统,一般由(数据库)、(数据库管理系统开发工具)、(应用系统)和(数据库管理员)构成.4、数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了3个阶段:(人工管理阶段)、(文件系统阶段)、(数据库阶段)。5、数据库具有数据结构化、最小的(冗余度)、较高的(共享性)等特点.6、DBMS还必须提供(数据的安全)保护、(完整性)检查、(并发控制)、(数据库恢复)等数据控制功能。7、模式是数据库中全体数据的(逻辑结构)和(特征)的描述,它仅仅涉及到(型)的描述,不涉及到具体的值。8、三级模式之间的两层映像保证了数据库系统中的数据能够具有较高的(逻辑独立性)和(物理独立性)三、简答题1、试述数据、数据库、数据库管理系统、数据库系统的概念。数据:是数据库中存储的基本对象,种类可以是数字、文字、图形、图象、声音、语言等。数据库:长期存储在计算机内,有组织可共享的数据集合数据库管理系统(DBMS):提供数据的定义,操作,描述的语言,还有数据库的运行管理,建立以及维护,一般指数据库管理软件如SqlServer、orcal、MySql数据库系统(DBS):一般指引入数据库后的系统构成,一般由数据库。数据库管理系统,应用系统,数据库管理员和用户构成2、使用数据库系统有什么好处?答:使用数据库系统的好处:数据冗余度小,节省存储空间,共享性高,数据独立性和物理独立性强。3、试述文件系统与数据库系统的区别和联系。答:文件系统把数据组织成相互独立的数据文件,实现了记录内的结构性,但整体无结构;而数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。在文件系统中,数据冗余度大,浪费存储空间,容易造成数据的不一致;数据库系统中,数据是面向整个系统,数据可以被多个用户、多个应用共享使用,减少了数据冗余.文件系统中的文件是为某一特定应用服务的,当要修改数据的逻辑结构时,必须修改应用程序,修改文件结构的定义,数据和程序之间缺乏独立性;数据库系统中,通过DBMS的两级映象实现了数据的物理独立性和逻辑独立性,把数据的定义从程序中分离出去,减少了应用程序的维护和修改。文件系统和数据库系统均可以长期保存数据,由数据管理软件管理数据,数据库系统是在文件系统基础上发展而来。4、试述数据库系统的特点。答:面向全组织的数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。5、数据库管理系统的主要功能有哪些?答:数据定义功能;数据操纵功能;数据库的运行控制管理,数据控制包括:安全(Security)、完整(Integrity)、并发(Concurrency)、恢复(Recovery);数据库的建立和维护功能。6、试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成;外模式(Sub-Schema):用户的数据视图,是数据的局部逻辑结构,模式的子集;模式(Schema):所有用户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据库只有一个模式;内模式(StorageSchema):又称存储模式,数据的存储方式,数据库数据在物理结构的描述。数据库系统三级模式结构,使数据库的用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,提高了数据的物理独立性和逻辑独立性。数据与程序的独立,使得数据的定义从应用程序中分离出去,用户的重点放在模式的定义上;由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,简化了应用程序的编制.7、定义如下述语:模式:所有用户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据库只有一个模式;外模式:用户的数据视图,是数据的局部逻辑结构,模式的子集;内模式:又称存储模式,数据的存储方式,数据库数据在物理结构的描述DML:数据操作语言,用户可以使用DML操作数据实现对数据库的基本操作,如查询,插入、删除和修改等。DDL:数据定义语言,用户通过它,可以方便地定义数据库、表、索引、视图等数据对象。8、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据为系统具有数据与程序的独立性?答:存储结构改变时,使模式保持不变,从而应用程序可以保持不变,称为物理独立性.当模式改变时,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性.因为数据库系统的三级模式和两级映象结构,使得当存储结构改变时,修改内模式/模式映象,使模式保持不变,从而应用程序可以保持不变,实现了物理独立性;当模式改变时,修改外模式/模式映象,使外模式保持不变,从而应用程序可以保持不变,实现了逻辑独立性。9、试述数据库系统的组成?答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成.硬件是必须的,软件有OS、DBMS、应用系统,数据的集合构成数据库,用户又细分为最终用户、应用程序员、系统分析员、数据库管理员DBA10、DBA的职责是什么?答:DBA职责可以分为三个方面:建库方面:决定数据库中信息内容和结构,确定模式、外模式;决定数据库的存储结构和存取策略,定义存储结构;同时负责初始数据的整理和装入.用库方面:定义数据的安全性要求和完整性约束条件,规定数据的保密级别、用户权限;监督和控制数据库的运行情况,制定后援和恢复策略,负责故障恢复。改进方面:监督分析系统的性能(空间利用率,处理效率);数据库重组织,物理上重组织,以提高性能;数据库重构造,设计上较大改动,模式和内模式修改。11、系统分析员、数据库设计人员、应用程序员的职责是什么?答;系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及DBA相结合,确定系统的硬件、软件配置,并参与数据库系统的概要设计.数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。第二章数据模型习题:一、选择题1、概念模型是现实世界的第一层抽象,这一类模型中,最著名的模型是()A、层次模型B、关系模型C、网状模型D、实体-联系模型2、区分不同实体的依据是()A、名称B、属性C、对象D、概念3、关系数据模型是目前最重要的一种数据模型,它的3个要素分别是()A、实体完整性、参照完整性、用户自定义完整性B、数据结构、关系操作、完整性约束C、数据增加,数据修改,数据查询D、外模式、模式、内模式4、在()中,一个结点可以有多个双亲,结点之间可以有多种联系。A、网状模型B、关系模型C、层次模式D、以上都有5、()的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。A、网状模型B、关系模型C、层次模式D、以上都有二、填空题1、根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次.第一类是(概念模型),第二类是(逻辑模型和物理模型)。2、数据模型的三要素是指(数据结构)、(数据操作)和(数据完整性约束)。实际数据库系统中所支持的主要数据模型是(层次模型)(网状模型)和(关系模型)3、数据模型中的(数据模型)是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,(数据操作)是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符]、运算规划及其语言等。4、用树型结构表示实体类型及实体间联系的数据模型称为(层次模型),上一层的父结点和下一层的子结点之间的联系是(1:n)的联系.5、用有向图结构表示实体类型及实体间联系的数据模型称为(网状模型),数据之间的联系通常用(图)实现6、(关系模型)是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式的数据库系统称为(关系数据库系统)7、关系的完整性约束条件包括三大类:(实体完整性)、(参照完整性)和(用户定义完整司长)。三、简答题1、试述数据模型的概念;答:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架2、试述数据模型在数据库系统中的作用。答:3、试述数据模型的3个要素。答:数据模型通常由数据结构、数据操作和完整性约束三部分组成。1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述;2)数据操作:是指对数据库中各种对象的实例允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述;3)数据的约束条件:是一组完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。4、试述层次模型的概念、网状模型的概念、关系模型的概念。答:在数据库中,把满足以下两个条件的基本层次联系的集合称为“层次模型”:1)且仅有一个结点无双亲,这个结点称为“根节点”;2)其他结点有且仅有一个双亲。在数据库中把满足以下两个条件的基本层次结构的集合称为“网状模型":1)允许一个以上结点无双亲;2)一个结点可以有多个双亲。关系模型是建立在严格的数学概念基础上的,关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成,在用户的观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。5、定义并解释以下术语:(1)关系(2)关系模式(3)元组(4)属性(5)码(6)域(7)分量(l)关系:一个关系对应通常说的一张表;(2)属性:表中的一列即为一个属性;(3)域:属性的取值范围;(4)元组:表中的一行即为一个元组;(5)主码:表中的某个属性组,它可以惟一确定一个元组;(6)分量:元组中的一个属性值;(7)关系模式:对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)6、试述关系数据库的特点答:关系数据模型具有下列优点:(l)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,操作的对象和操作的结果都是关系,所以其数据结构简单、清晰,用户易懂易用.(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度.7、举例说明什么是非规范化的表,什么是规范化的表.略第三章习题一、选择题1、下面的选项不是关系数据库基本特征的是()A、不同的列应有不同的数据类型B、不同的列应有不同的列名C、与行的次序无关D、与列的次序无关2、一个关系只有一个()A、候选码B、外码C、超码D、主码3、关系模型中,一个码是()A、可以由多个任意属性组成B、至多由一个属性组成C、由一个或多个属性组成,其值能够唯一标识关系中的一个元组D、以上都不是4、现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()A、患者编号B、患者姓名C、患者编号和患者姓名D、患者编号和医生编号5、关系代数运算是以()为基础的运算。A、关系运算B、谓词演算C、集合运算D、代数运算6、关系数据库管理系统应能实现的专门运算包括()A排序、索引、统计B选择、投影、连接C并、差、交D关联、更新、排序7、5种基本关系代数运算是()A、并、差、选择、投影、自然连接B、并、差、交、选择、投影C、并、差、选择、投影、笛卡尔积D、并、差、交、选择、乘积8、关系数据库中的投影操作是指从关系中()A、抽出特定记录B、抽出特定字段C、建立相应的影像D、建立相应的图形9、从一个数据库文件中取出满足某个条件的所有记录形一个新的数据库文件的操作是()操作A、投影B、连接C、选择D、复制10、关系代数中的连接操作是由()操作组合而成。A、连接和投影B、选择和笛卡尔积C、投影、选择、笛卡尔积D、投影和笛卡尔积11、一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的()。A、记录B、行C、属性D、元组12、假设有关系R和S,关系代数表达式R—(R-S)表示的是()。A、R∩SB、R∪SC、R×SD、R-S二、填空题1、关系数据模型中,二维表的行称为(元组)。2、用户选作元组标识的一个候选码为(主码),其属性不能取(相同)3、关系代数运算中,传统的集合运算有(并)、(交)(差)(笛卡尔积).4、关系代数运算中,基本的运算是并、差、选择、投影、笛卡尔积5、关系代数运算中,专门的关系运算有(选择)、(投影)(连接)(除)6、关系数据库中基于数学上的两类运算是(逻辑运算)和(比较运算)7、关系代数中,从两个关系中找出相同元组的运算称为(交)运算。8、RS表示R与S的(连接).9、设有学生关系:S(xh,xm,xb,nl,dp)。在这个关系中,XH表学号,XM表姓名,XB表性别,NL表姓名,DP表系部。查询学生姓名和所在系的投影操作的关系运算是:πxm,dp(S)10、在“学生—选课—课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE),C(C#,CNAME,TEACHER),查找选择“数据库技术”这门课程学生的姓名和成绩,用关系代数表达式可以表示为(πsname,grade(SSCC}11、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是(系编号),系关系的外码(没有),学生关系的主码(学号),学生关系的外码是(系编号)。∪—×σπ∩θ÷三、简答题1、试述关系模型的3个组成部分。答;关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成.2、试述关系数据语言的特点和分类.答:关系数据语言可以分为三类:关系代数语言。关系演算语言:元组关系演算语言和域关系演算语言。SQL:具有关系代数和关系演算双重特点的语言。这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。3、定义并理解下列术语,说明它们之间的联系与区别。(1)域、笛卡尔积、关系、元组、属性(2)主码,候选码,外码(3)关系模式,关系,关系数据库答:1)域:一组具有相同数据类型的值的集合;笛卡尔积:建立在一组域D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,…,n}∈关系:笛卡尔积D1×D2×…×Dn的有限子集;元组:笛卡尔积的每个元素(d1,d2,…,dn)称作一个n-元组(n—tuple),简称元组(Tuple);属性:关系的每一列对应一个域,给每列起一个名字,称为属性(Attribute)。(2)主码:若关系中的某一属性组的值能够唯一地标识一个元组,则称该属性组为候选码(CandidateKey),主码是从候选码中选定的一个码(PrimaryKey);候选码:若关系中的某一属性组的值能够唯一地标识一个元组,则称该属性组为候选码(CandidateKey);外部码:F是关系R的一组属性,但不是关系R的码,如果F与关系S的主码K相对应,则称F是关系R的外部码(ForeignKey)。(3)关系模式:是对关系的型的描述,说明关系由哪些属性组成,这些属性来自于哪些域,以及属性与域的映象。形式化表示为:R(U,D,dom,F),简记为:R(U);关系:关系可以理解为关系模式在某一时刻的状态或内容;关系数据库:关系数据库即实体关系和实体之间联系的关系的集合.4、试述关系模型的完整性规则.在参照完整性中,为什么外码属性的值有时也可以为空?什么情况下才可以为空?答;关系模型中可以有三类完整性约束:实体完整性、参照完整性、用户自定义完整性。实体完整性规则:若属性A是关系R的主属性,则属性A不能取空值;参照完整性规则:若属性F是关系R的外码,它与关系S的主码K对应,则R中每个元组在F上的取值必须:或者为空值,或者等于S中某个元组的主码值.用户自定义完整性:能够反映语义的,用户自己定义的约束条件.空值反映了现实中该值的无意义或不知道,在一些情况下,尽管被参照关系的主码值确定,但参照关系中在外码属性上的值不知道,此时外码属性上的取值可以为空。外部码属性的值为空,说明外码属性的值不知道5、设有一个SPJ数据库,包括S,P,J,SPJ4个关系模式:S(sno,sname,status,city),P(pno,pname,color,weight)j(jno,jname,city)SPJ(sno,pno,jno,qty)供应商表S由供应商代码(SNO),供应商名称(SNAME),供应商状态(STATUS),供应商所在城市(CITY)组成。零件表P由零件代码(PNO),零件名(PNAME),颜色(COLOR)和重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO),工程项目名(JNAME),工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO),工程项目代码(JNO)、供应数量(QTY)组成。表示某供应商供应某种零件给某工程项目的数量为QTY.题目:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR='红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))第四章习题一、选择题1、SQL语言是()的语言,容易学习.A、过程化B、非过程化C、格式化D、导航式2、在视图上不能完成的操作是().A、更新视图B、查询C、在视图上定义新的表D、在视上定义新的视图3、SQL语言数据查询,数据操纵,数据定义和数据控制功能于一体,其中CREATE、DROP、ALTER语句是实现哪种功能()。A、数据查义B、数据操纵C、数据定义D、数据控制4、SQL语言中,删除一个视图的命令是().A、DELETEB、DROPC、CLEARD、REMOVE5、在SQL语言中的视图VIEW是数据库的()A、外模式B、模式C、内模式D、存储模式6、下列的SQL语句中,()不是数据定义语句.A、CREATETABLEB、DROPVIEWC、CREATEVIEWD、GRANT7、若要撤销数据库中已经存在的表S,可用()A、DELETETABLESSB、DELETESC、DROPTABLESD、DROPS8、若要在基本表S中增加一列CN(课程名),可用()A、ADDTABLES(CNCHAR(8))B、ADDTABLESALTER(CNCHAR(8));C、ALTERTABLESADD(CNCHAR(8))D、ALTERTABLES(ADDCNCHAR(8))9、学生关系模式S(S#,SNAME,SEX,AGE),S的属性分别表示学生的学号,姓名,性别,年龄。要在表S中删除一个属性“年龄",可选用的SQL语句是()A、DELETEAGEFROMSB、ALTERTABLESDROPAGEC、UPDATESAGED、ALTERTABLES‘AGE'10、有关系S(S#,SNAME,SAGE),c(c#,CNAME),SC(S#,C#,GRADE)。其中S#是学号,SNAME是姓名,SAGE:年龄,C#是课程号,CNAME是课程名称.要查询选修了“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是()SELECTSNAMEFROMS,C,SCWHERE子句.这里Where子句的内容是()A、s。s#=sc.s#andc。c#=sc。c#andsage〉=20andcname='ACCESS’B、s。s#=sc。s#andc。c#=sc.c#andsagein〉=20andcnamein’ACCESS’C、sagein>=20andcnamein'ACCESS'D、sage>=20andcname=’ACCESS’11、设关系数据库中一个表S的结构为S(SN,CN,grade),其中,SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0~100。若要把“张二的化学成绩80分”插入S中,则可用().A、ADDINTOSVALUES(‘张二',‘化学',‘80’)B、INSERTINTOSVALUES(‘张二’,‘化学',‘80')C、ADDINTOSVALUES(‘张二’,‘化学’,80)D、INSERTINTOSVALUES(‘张二’,‘化学’,80)12、设关系数据库中一个表S的结构为S(SN,CN,grade),其中,SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0~100。若要更正王二的化学成绩为85分,则可用().A、UPDATESSETGRADE=85WHERESN=‘王二’ANDCN=‘化学’B、UPDATESSETGRADE=‘85'WHERESN=‘王二’ANDCN=‘化学'C、UPDATESGRADE=85WHERESN=‘王二'ANDCN=‘化学’D、UPDATESGRADE=‘85’WHERESN=‘王二'ANDCN=‘化学’13、在SQL语言中,子查询是()A、返回单表中数据子集的查询语言;B、选取多表中字段子集的查询语句C、选取单表中字段子集的查询语句;D、嵌入到另一个查询语句之中的查询语句14、有关系S(S#,SNAME,SEX),c(c#,CNAME),SC(S#,C#,GRADE)。其中S#是学号,SNAME是姓名,SEX:性别,C#是课程号,CNAME是课程名称.要查询选修了“数据库”课的全体男学生姓名的SQL语句是:ELECTSNAMEFROMS,C,SCWHERE子句。这里Where子句的内容是()A、s。s#=sc.s#andc。c#=sc.c#andSEX=‘男’andcname='数据库'B、s。s#=sc.s#andc。c#=sc。c#andSEXIN‘男’andcname=’数据库'C、SEX‘男’andcname’数据库'D、s.SEX=‘男’andcname=’数据库’15、若用如下的SQL语句创建了一个表SC,CREATETABLESC(S#CHAR(6)NOTNULL,C#CHAR(3)NOTNULL,SCOREINTEGER,NOTECHAR(20));向SC表插入如下行时,()行可以被插入。A、(‘201009’,‘111',60,必修)B、(‘200823',‘101’,null,null)C、(null,‘103,80。‘选修')D、)‘201132',null,86,'’)16、有关系S(S#,SNAME,SEX),c(c#,CNAME),SC(S#,C#,GRADE)。其中S#是学号,SNAME是姓名,SEX:性别,C#是课程号,CNAME是课程名称。要查询选修“computer‘课的男生姓名,将涉及至的关系()A、SB、S,SCC、C,SCD、S,C,SC二、填空题1、SQL的中文全称是(结构化查询语言)。2、SQL语言除了具有数据查询和数据操纵功能之外,还具有(数据定义)和(数据控制)的功能,它是一个综合性的功能强大的语言。3、在关系数据库标准SQL中,实现数据检索的语句命令是(select)4、在SQL语言的结构中,(表)有对应的物理存储,而(视图)没有对应的物理存储。5、关系R(A,B,C)和S(A,D,E,F),R和S有相同的属性A,若将关系代数表达式:πR.A,r.b,s。d,s。f(R∞S)用SQL语言的查询语句表示,则为:SELECTR。A,R。B,S。D,S。FFROMR,SWHERER。A=S。A6、视图是从(基本表或视图)中导出的表,数据库中实际存放的是视图的(定义)7、关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的(非过程性强)、语言一体化并且是建立在数学理论基础之上。8、设有如下关系表R、S、T:R(BH,XM,XB,DWH),S(DWH,DWM),T(BH,XM,XB,DWH)(1)实现R∪S的SQL语句:select*fromRUNIONSELECT*FROMT(2)实现πdwh='100(R)的SQL语句:select*fromrwheredwh=’100(3)实现πxm,xb(R)的SQL语句:select*xm,xbfromr(4)实现πxm,dwh(σxb='女’(R))的SQL语句:selectxm,dwhfromrwherexb='女’(5)实现R∞S的SQL语句:selectbh,xm,xb,r。dwh,s.dwh,dwmfromr,swherer.dwh=s。dwh(6)实现πxm,xb,dwh(σxb=’男’(R∞S))的SQL语句是:selectxm,xb,r。dwhfromr,swherer.dwh=s。dwhandxb=‘男’9、设有关系R:R(no,name,sex,age,class),主码是NO(1)插入一个记录(25,‘李明’,‘男',21,‘95031');Insertintorvalues(25,‘李明’,‘男’,21,‘95031')(2)插入“95031”班学号为30,姓名为“郑和”的学生记录:Insertintor(no,name,class)values(30,‘郑和’,‘95031’)(3)将学号为10的学生姓名改为“王华";Updatersetname=“王华"whereno=10(4)将所有“95101”班号改为“95091"Updatersetclass=”95091”whereclass=”95101"(5)删除学号为20的学生记录;Deletefromrwhereno=20(6)删除姓“王”的学生记录;Deletefromrwherenamelike“王%"三、简答题1、试述SQL语言的特点。(1)综合统一.sQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2)高度非过程化.用sQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL语句的操作过程由系统自动完成。(3)面向集合的操作方式.sQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提供两种使用方式。sQL语言既是自含式语言,又是嵌入式语言.作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用.(5)语言简捷,易学易用.2、试述SQL的定义功能。答:SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用CREATETABLE语句建立基本表,ALTERTABLE语句修改基本表定义,DROPTABLE语句删除基本表;使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引;使用CREATEVIEW语句建立视图,DROPVIEW语句删除视图。3、用SQL语句建立第二章习题5中的4个表.答:对于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),CityC(4));对于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLORC(2),WEIGHTINT);对于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JnoC(2)UNlQUE,JNAMEC(8),CITYC(4))对于sPJ表:sPJ(sNo,PNo,JNo,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT))4、针对上题中建立的4个表试用sQL语言完成第二章习题5中的查询。(l)求供应工程Jl零件的供应商号码SNO;SELECTDISTSNOFROMSPJWHEREJNO=’J1’(2)求供应工程Jl零件Pl的供应商号码SNO;SELECTDISTSNOFROMSPJWHEREJNO=’J1'ANDPNO=’P1’(3)求供应工程Jl零件为红色的供应商号码SNO;SELECTSNOFROMSPJ,PWHEREJNO='J1’ANDSPJ.PNO=P.PNOANDCOLOR=’红'(4)求没有使用天津供应商生产的红色零件的工程号JNO;SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERES.CITY='天津'ANDCOLOR=’红’ANDS。SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。(5)求至少用了供应商Sl所供应的全部零件的工程号JNO;Selectdistictjnofromspjspjxwherenoexists(select*fromspjspjyWherespjx.sno=’s1’andNotexists(select*fromspjspjzWherespjx.sno=spjy。snoandspjy。sno=spjz。sno);5、针对习题3中的4个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。SELECTSNAME,CITYFROMS(2)找出所有零件的名称、颜色、重量.SELECTPNAME,COLOR,WEIGHTFROMP(3)找出使用供应商S1所供应零件的工程号码。SELECTDISTJNOFROMSPJWHERESNO=’S1’(4)找出工程项目J2使用的各种零件的名称及其数量。SELECTPNAME,QTYFROMSPJ,PWHEREP。PNO=SPJ。PNOANDSPJ。JNO=’J2’(5)找出上海厂商供应的所有零件号码。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ。SNOANDCITY=’上海'(6)出使用上海产的零件的工程名称。SELECTJNAMEFROMSPJ,S,JWHERES。SNO=SPJ。SNOANDS。CITY=’上海’ANDJ。JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码。注意:SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES。SNO=SPJ。SNOANDS。CITY=’天津')适用于JNO是唯一或不唯一的情况.注意:SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS。CITY<〉’天津'适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色.UPDATEPSETCOLOR='蓝’WHERECOLOR=’红’(9)由S5供给J4的零件P6改为由S3供应.UPDATESPJSETSNO=’S3’WHERESNO='S5’ANDJNO=’J4’ANDPNO='P6'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录.A、DELETEFROMSWHERESNO=’S2'B、DELETEFROMSPJWHERESNO=‘S2'(11)请将(S2,J6,P4,200)插入供应情况关系。INSERTINTOSPJVALUES(‘S2',‘J6’,‘P4’,200)6、什么是基本表?什么是视图?两者的区别和联系是什么?基本表是本身独立存在的表,在sQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图.7、试述视图的优点。答:(l)视图能够简化用户的操作;(2)视图使用户能以多种角度看待同一数据;(3)视图对重构数据库提供了一定程度的逻辑独立性;(4)视图能够对机密数据提供安全保护。8、所有的视图是否都可以更新?为什么?答:不是.视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新.因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。9.哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明.答:基本表的行列子集视图一般是可更新的。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。如有一学生视图,由学号、姓名组成,则可以对其进行修改。如果有一视图是学号、平均成绩组成,则不能对平均成绩进行修改。10、请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,JWHERESPJ。JNO=J。JNOANDJ。JNAME=’三建'针对该视图,完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECTDISTPNO,QTYFROMVSP(2)找出供应商S1的供应情况.SELECTDIST*FROMVSPWHERESNO=’S1’第五章数据库安全性习题一、选择题1、以下()不属于实现数据库系统安全性的主要技术和方法。A。存取控制技术B.视图技术C.审计技术D.出入机房登记和加防盗门2.SQL中的视图机制提高了数据库系统的()A。完整性B.并发控制C。隔离性D.安全性3。SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()A。完整性B。可靠性C.安全性D。一致性4.在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活.A.范围越小B。约束越细致C.范围越大D。约束范围大二。填空题1。数据库的安全性是指保护数据库以防止不合法的使用所造成的(数据泄漏、更改和破坏)2。计算机系统有三类安全性问题,即(技术安全类)、(管理安全类)和(政策法律类).3。用户标识和鉴别的有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入(用户名)和(口令)来鉴别用户。4。(用户权限定义)和(合法权检查机制)一起组成DBMS的安全子系统。5。当前大型的DBMS一般都支持(自主存取控制(DAC),有些DBMS同时还支持(强制存取控制(MAC)).6。用户权限是由两个要素组成(数据对象)和(操作类型).7.在数据库系统中,定义存取权限称为(授权)。SQL语言用(GRANT)语句向用户授予对数据的操作权限,用(REVOKE)语句收回授予的权限。8。对数据库模式的授权由DBA在(创建用户)时实现.9.一个DBA用户可以拥有(CREATEUSER)、(CREATESCHEMA)和(CREATETABLE)权限,一个RESOURCE可以拥有(CREATETABLE)权限.10.数据库角色是被命名的一组与(数据库操作)相关的权限,角色是(权限)的集合。11。通过(视图机制)可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。12。审计一般可以分为(用户级)审计和(系统级)审计。三、简答题1、什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。2、数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题.只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,3、试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:(l)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权.(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据.例如CZ级中的自主存取控制(DAC),Bl级中的强制存取控制(MAC).(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。(4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。4、有两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理我,地址,电话号)请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:(1)用户王明对两个表有SELECT权力。GRANTSELECTON职工,部门TO王明(2)用户李勇对两个表有INSERT和DELETE权力.GRANTINSERT,DELETEON职工,部门TO李勇(3)每个职工只对自己的记录有SELECT权力。GRANTSELECTON职工WHENUSER()=NAMETOALL;(4)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。GRANTSELECT,UPDATE(工资)ON职工TO刘星(5)用户张新具有修改这两个表的结构的权力.GRANTALTERTABLEON职工,部门TO张新;(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。GRANTALLPRIVILIGESON职工,部门TO周平WITHGRANTOPTION;(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。CREATEVIEW部门工资ASSELECT部门。名称,MAX(工资),MIN(工资),AVG(工资)FROM职工,部门WHERE职工。部门号=部门。部门号GROUPBY职工.部门号GRANTSELECTON部门工资TO杨兰;5、把习题4中(1)--—(7)的每一种情况,撤销各用户所授予的权力(1)REVOKESELECTON职工,部门FROM王明;(2)REVOKEINSERT,DELETEON职工,部门FROM李勇;(3)REOVKESELECTON职工WHENUSER()=NAMEFROMALI;(4)REVOKESELECT,UPDATEON职工FROM刘星;(5)REVOKEALTERTABLEON职工,部门FROM张新;(6)REVOKEALLPRIVILIGESON职工,部门FROM周平;(7)REVOKESELECTON部门工资FROM杨兰;DROPVIEW部门工资;6、什么是数据库的审计功能,为什么要提供审计功能?答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中.因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在.利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。第六章习题1、完整性检查和控制的防范对象是(A、C),防止它们进入数据库.安全性控制的防范对象是(B、D),防止它们对数据的存取。A。不合语义的数据B.非法用户C。不正确的数据D。非法操作2、找出下面SQL命令中的数据授权命令()A。GRANTB.COMMITC。UPDATED。SELECT3.下述SQL语句中,允许用户定义新关系时引用其他关系的主码作为外码的().A.INSERTB。DELETEC.REFERENCESD。SELECT4.下述SQL命令的短语中,定义属性上约束条件的是()。A。NOTNULL短语B.UNIQUE短语C。CHECK短语D。HAVING短语二、填空题1.数据库的完整性是指数据的(正确性)和(相容性).2。SQL标准使用了一系列概念来描述完整性,包括关系模型的(实体完整性)、(参数完整性)和用户定义完整性)3.数据库完整性的定义一般由SQL的(DDL)语句来实现,它们作为数据训模式的一部分存入(数据字典)。4.关系模型的实体完整性在(DDL)中用(primarykey)定义。5。为了避免对基本表进行全表扫描,RDMS核心一般都对(主键)自动建立一个(索引)6.关系模型的参照完整性在(DDL)用(foreignkey)短语定义哪些列为外码列,用(references)短语指明这些外码参照哪些表的主码。7、补充下表中可能破坏参照完整性的情况及违约处理的策略。被参照列(如student)参照表(如SC)违约处理可能破坏参照完整性插入元组拒绝可能破坏参照完整性修改外码值拒绝删除元组可能破坏参照完整性拒绝/级联修改/设置为空值修改主码值可能破坏参照完整性拒绝/级联修改/设置为空值三、简答题1、什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。2、数据库的完整性概念和数据库的安全性概念有什么区别和联系?答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:eInGarba:eout)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取.也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据.3、什么是数据库的完整性约束条件?答:完整性约束条件是指数据库中的数据应该满足的语义约束条件.一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束是对一个列的取值域的说明,包括以下几个方面:(l)对数据类型的约束,包括数据的类型、长度、单位、精度等;(2)对数据格式的约束;(3)对取值范围或取值集合的约束;(4)对空值的约束;(5)其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:(l)实体完整性约束;(2)参照完整性约束;(3)函数依赖约束。动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:(l)修改列定义时的约束;(2)修改列值时的约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。4、RDBMS的完整性控制机制应具有哪些功能?答:DBMS的完整性控制机制应具有三个方面的功能:(l)定义功能,即提供定义完整性约束条件的机制;(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;(3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性.5、RDBMS在实现参照完整性时需要考虑哪些方面?答:RDBMs在实现参照完整性时需要考虑以下几个方面:(l)外码是否可以接受空值.(2)册l除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:l)级联删除(CASCADES);2)受限删除(RESTRICTED);3)置空值删除(NULLIFIES)。(3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:l)受限插入;2)递归插入。(4)修改关系中主码的问题.一般是不能用UPDATE语句修改关系主码的.如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中.如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改.然后要区分是参照关系还是被参照关系。6、假设有两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),职工号为主码,部门(部门号,名称,经理我,地址,电话号),部门号为主码用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。答:CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCRIMARYKEY(Deptno));CREATETABLEEMP(EmpnoNUMBER(4),EnameVARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(Aage〈=60),JobVARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno));7、在关系系统中,当操作违反实体完整性、参照完整性和用户定义性约束条件时,一般是如何分别进行处理的?答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理.而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。第七章习题一、选择题1、一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。A。原子性B.一致性C。独立性D。持久性2、表示两个或多个事务可以同时运行而不互相影响的是()。A。原子性B。一致性C。独立性D.持久性3、事务的持续性是指()A.事务中包括的所有操作要么都做,要么都不做B。事务一旦提交,对数据库的改变是永久的C。一个事务内部的操作对并发的其他事务是隔离的D.事务必须使数据库从一个一致性状态变成另一个一致性状态.4、SQL语言中的COMMIT语句的主要作用是()。A结束程序B返回系统C提交事务D存储数据5、SQL语言中用()语句实现事务的回滚。ACREATETABLEBROLLBACKCGRANT和REVOKEDCOMMIT6、若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为().A介质故障B运行故障C系统故障D事务故障7、在DBMS中实现事务持久性的子系统是()。A安全管理子系统B完整性管理子系统C并发控制子系统D恢复管理子系统8、后援副本的作用是()。A保障安全性B一致性控制C故障后的恢复D数据的转储9、事务日志用于保存()。A程序运行过程B程序的执行结果C对数据的更新操作D对数据的查询操作10、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括()。A数据字典,应用程序,数据库后备副本B.数据字典、应用程序、审计档案C、日志文件、数据库后备副本D、数据字典、应用程序、日志文件二、填空题1、(事务)是一系列的数据库操作,是数据库应用程序的基本逻辑单元。2、事务处理技术主要包括(数据库恢复)技术和(并发控制)技术。3、在SQL语言中,定义事务控制的语句主要有(begintransaction)、(commit)、和(rollback)。4、事务具有4个特性,它们是(原子性)、(一致性)、(隔离性)和(持续性)。这4个特性也简称为(ACID)特性。5、把数据库从错误状态恢复到某一已知的正确状态(亦称来一致状态)的功能,这就是(数据库的恢复)6、数据库系统中可能发生各种各样的故障,大致可以分为(事务故障)、(系统故障)、(介质故障)和(计算机病毒)。7、建立冗余数据最常用的技术是(数据转储)和(登录日志文件)。通常在一个数据库系统中,这两种方法是一起使用的.8、转储可分为(静态转储)和(动态转储),转储方式可以有(海量转储)和(增量转储)。9、(日志文件)是用来记录事务对数据库的更新操作的文件。主要有两种格式:以(记录)为单位的日志文件和以(数据块)为单位的日志文件。三、简答题1、试述事务的概念及事务的4个特性答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有4个特性:原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持续性(Durability)。这4个特性也简称为ACID特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态.隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰.持续性:持续性也称永久性(Perfnanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。2.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之.答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态.例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。则可以定义一个事务T,T包括两个操作;Ql=Ql一Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。3.数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统.恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。4.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。5.数据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术.当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。6.数据库转储的意义是什么?试比较各种数据转储方法.答:数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。静态转储:在系统中无运行事务时进行的转储操作,如上图所示。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性.动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(109file).这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库.增量转储则指每次只转储上一次转储后更新过的数据.从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些.但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。7.什么是日志文件?为什么要设立日志文件?答:(1)日志文件是用来记录事务对数据库的更新操作的文件。(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复.8.登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改.9.针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:事务故障的恢复:事务

温馨提示

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

评论

0/150

提交评论