版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库程序员面试分类真题7一、单项选择题1.
用树形结构表示实体之间联系的模型是______A.关系模型B.网状模型C.层次模型D.以上三个都是正确答案:C[考点]数据模型与数据模型结构(江南博哥)[解析]数据库模型是数据库管理的形式框架,用来描述一组数据的概念和定义。模型的结构部分规定了数据如何被描述(例如树、表等)。数据库系统的数据模型结构有3种:网状模型、层次模型和关系模型,见下表。
网状模型层次模型关系模型简介网状模型是满足以下两个条件的基本层次联系的集合:①允许一个以上的结点没有双亲结点;②一个结点可以有多个双亲结点网状模型中的数据用记录的集合来表示,数据间的联系用链接(可看作指针)来表示,数据库中的记录可被组织成任意图的集合层次模型是满足以下两个条件的基本层次联系的集合:①有且只有一个结点没有双亲结点(这个结点叫根结点);②除根结点外的其他结点有且只有一个双亲结点层次模型与网状模型类似,分别用记录和链接来表示数据和数据间的联系。与网状模型不同的是,层次模型中的记录只能组织成树的集合而不能是任意图的集合。层次模型可以看成是网状模型的特例,它们都是格式化模型。它们从体系结构、数据库语言到数据存储管理均有共同的特征。在层次模型中,记录的组织不再是一张杂乱无章的图,而是一棵“倒长”的树关系模型用表的集合来表示数据和数据间的联系。每个表有多个列,每列有唯一的列名,在关系模型中,无论是从客观事物中抽象出的实体,还是实体之间的联系,都使用单一的结构类型——关系来表示。在对关系进行各种处理之后,得到的还是关系(一张新的二维表)关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准或基础。数据库的数据完整性是指数据库中数据的正确性和相容性,是一种语义上的概念,主要包括:与现实世界中应用需求的数据的相容性和正确性、数据库内数据之间的相容性和正确性优点1)能够更为直接地描述现实世界,如一个结点可以有多个双亲2)具有良好的性能,存取效率较高1)模型简单,对具有一对多层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点2)用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于关系模型3)层次数据模型提供了良好的完整性支持1)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的2)关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,操作的对象和操作的结果都是关系,所以其数据结构简单、清晰,用户易懂易用3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作缺点1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握2)其DDL、DML语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚拟结点来解决2)对插入和删除操作的限制比较多3)查询子女结点必须通过双亲结点由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
本题中,对于选项A,关系模型是二维表,一张表即为一个关系,关系模型的数据结构简单、清晰,用户理解容易,应用方便。鉴于此,当今大多数数据库系统都采用关系数据模型。所以,选项A错误。
对于选项B,网状模型是一种用网络结构表示实体类型及其实体之间联系的模型,它相当于一个有向图。与层次模型结构不同的是,在网状模型中,一个结点可以有多个双亲结点,且允许一个以上的结点无双亲。所以,选项B错误。
对于选项C与选项D,层次模型指的是使用树形结构表示实体及其之间的联系,其结构是一棵有向树,树中的每个结点代表一种记录类型,在这些结点中,有且仅有一个结点无双亲(根结点),其他结点有且仅有一个双亲结点。所以,选项C正确,选项D错误。
2.
数据模型通常由3部分组成,它们是______A.数据结构,数据通信,关系操作B.数据结构,数据操作,数据完整性约束C.数据通信,数据操作,数据完整性约束D.数据结构,数据通信,数据完整性约束正确答案:B[考点]数据模型与数据模型结构[解析]数据模型(DataModel)是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和完整性约束三部分组成。
1)数据结构:所研究的对象类型的集合,是对系统静态特性的描述。
2)数据操作:指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
3)完整性约束:它是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。解析数据模型是数据库系统中最重要的概念之一。
3.
下列关于概念模型的叙述中,错误的是______A.概念模型是现实世界到信息世界的抽象B.概念模型是从用户观点对数据和信息的建模C.概念模型具有较强的语法表达能力,却无法描述语义信息D.E-R模型是概念模型最常用的表示方法正确答案:C[考点]数据模型与数据模型结构[解析]数据模型是数据库系统的基础。任何一个数据库管理系统(DataBaseManagementSystem,DBMS)都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中,模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或者说两个层次:一类是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一类是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据,一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。
数据模型的种类很多,按照这些数据模型在数据建模和数据管理中的不同作用,可以分为概念模型、逻辑模型和物理模型三类。
1.概念模型
概念数据模型(ConceptualDataModel)简称概念模型,它实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。概念模型确定领域实体属性关系等,是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,主要用于数据库设计。概念模型是一种面向客观世界,面向用户的模型,例如E-R模型(Entity-RelationshipModel,实体-联系模型)属于概念模型,而E-R图主要由实体、属性和联系三个要素组成。
2.逻辑模型
逻辑数据模型(LogicalDataModel),又称为结构数据模型,简称逻辑模型,是直接面向数据库的逻辑结构。逻辑模型将概念模型转化为具体的数据模型,即按照概念结构设计阶段建立的基本E-R图,按照选定的管理系统软件支持的数据模型(层次、网状、关系、面向对象),转换成相应的逻辑模型。这种转换要符合关系模型的原则。目前最流行的就是关系模型,也就是对应的关系型数据库。逻辑模型有严格的定义,数据库专家E.F.Codd认为:一个基本数据模型是一组向用户提供的规则,这些规则规定数据结构如何组织以及允许进行何种操作。它是一种与数据库管理系统相关的模型,主要用于DBMS的实现,例如层次模型、网状模型、关系模型、面向对象模型均属于这类数据模型。一个数据库的数据模型应包含数据结构、数据操作和数据完整性约束三个部分。
3.物理模型
物理数据模型(PhysicalDataModel)简称物理模型,是根据逻辑模型对应到具体的数据模型的机器实现。物理模型是对真实数据库的描述,例如关系型数据库中的一些对象为表、视图、字段、数据类型、长度、主外键、约束、默认值等。
本题中,对于选项C,概念模型是现实世界到信息世界的语义抽象,主要用于数据库设计中的概念设计,是划分客观世界概念、描述概念的性质以及概念间联系的语义模型,是数据库设计者与用户之间交流的工具,是数据库逻辑模型的基础,它表示简单、易于理解且具有较强的语义表达能力,独立于具体的逻辑模型并易于向逻辑模型转换。E-R模型是概念模型最常用的表示方法。
4.
对于数据模型,下面说法不正确的是______A.概念模型是信息世界的建模工具B.E-R模型是一种概念模型C.概念模型不涉及计算机的处理细节D.关系模型是一种概念模型正确答案:D[考点]数据模型与数据模型结构[解析]本题中,对于选项D,关系模型是一种逻辑模型,它不属于概念模型。概念模型是用于信息世界的建模,是现实世界到信息世界的第一层抽象。
5.
下列关于逻辑模型的叙述中,错误的是______A.逻辑模型是从数据库实现的角度对数据建模,独立于具体的系统物理平台B.层次模型和网状模型都属于逻辑模型C.E-R模型不属于逻辑模型D.关系模型不属于逻辑模型正确答案:D[考点]数据模型与数据模型结构[解析]本题中,对于选项A,逻辑模型是面向数据库的结构,其独立于操作系统平台,选项描述正确。所以,选项A错误。
对于选项B,层次模型和网状模型还有关系模型都属于逻辑模型,选项描述正确。所以,选项B错误。
对于选项C,E-R模型属于概念模型,选项描述正确。所以,选项C错误。
对于选项D,关系模型属于逻辑模型,选项说反了。所以,选项D正确。
6.
下列关于数据库系统和文件系统的叙述中,错误的是______A.数据库系统具有高度的数据独立性,而文件系统的数据独立性差B.数据库系统的数据共享度高,是面向整个机构来组织数据的;而文件系统面向某个应用来组织数据C.数据库系统中的各项开销总是比文件系统的开销小D.数据库系统中由数据库管理系统进行统一的数据管理和控制,而文件系统中由应用程序自己控制正确答案:C[考点]关系型数据库系统与文件系统[解析]关系型数据库系统与文件系统的区别主要体现在以下几个方面:
1)关系型数据库的整体数据是结构化的,采用关系模型来描述,这是它与文件系统的根本区别(数据模型包括数据结构、数据操作以及完整性约束条件)。
2)数据库系统的数据共享度高、冗余低,是面向整个机构、整个系统来组织数据的;而文件系统则是面向某个应用来组织数据,具有应用范围的局限性,不易扩展。
3)数据库系统具有高度的数据独立性,而文件系统的数据独立性差。关系型数据库系统采用两级映射机制,保证了数据的高度独立性,从而使得程序的编写和数据都存在很高的独立性。这方面是文件系统无法达到的,它只能针对某一个具体的应用。
4)关系型数据库系统由统一的DBMS进行管理,为数据提供了安全性保护、并发控制、完整性检查和数据库恢复服务,而文件系统中由应用程序自己控制。
本题中,对于选项C,数据库系统中的各项开销总是比文件系统的小,描述过于绝对,不能一概而论。所以,该选项描述错误。
7.
以下关于关系型数据库的描述中,正确且全面的是______A.在关系模型中,数据的逻辑结构是一张二维表B.DML是介于关系代数和关系演算之间的语言,它充分体现了关系型数据库语言的特性和优点C.关系模型的完整性规则是对关系的某种约束,分为实体完整性和参照完整性约束D.在关系型数据库中,关系也称为数据库,元组也称为行,属性也称为列正确答案:A[考点]关系型数据库系统与文件系统[解析]本题中,对于选项B,SQL语句是介于关系代数和关系演算之间的(结构化查询)语言。因为选项B描述的不全面,所以,选项B错误。
对于选项C,关系模型的完整性包括实体完整性、域完整性、参照完整性和用户定义完整性。域完整性、实体完整性和参照完整性是关系模型必须满足的完整性约束条件,选项C的说法不完整。所以,选项C错误。
对于选项D,关系是一张表,表中的每行(即数据库中的每条记录)是一个元组,每列是一个属性,选项D描述反了。所以,选项D错误。
8.
下列关于数据库和文件系统的叙述中,错误的是______A.数据结构化、共享性高、冗余度小是数据库的特点B.数据库系统具有自描述性是其优势之一C.在任何情况下,使用数据库系统的开销都比使用文件系统小D.数据库能对数据提供安全性保护正确答案:C[考点]关系型数据库系统与文件系统[解析]选项C的描述过于绝对,其他选项均描述正确。
9.
下列关于数据库系统中人员的叙述中,错误的是______A.人员包括数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户B.确定数据库中的信息内容和结构属于数据库管理员的职责C.监控数据库的使用和运行属于数据库管理员的职责D.物理数据库设计与调优属于应用程序员的职责正确答案:D[考点]数据库系统的组成与结构[解析]数据库系统(DataBaseSystem,DBS)一般由4个部分组成:数据库、硬件、软件和人员。
1)数据库:是指长期存储在计算机内的、有组织、可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余、较高的数据独立性和易扩展性,并可为各种用户共享。
2)硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。
3)软件:包括操作系统、数据库管理系统及应用程序。数据库管理系统(DBMS)是数据库系统的核心软件,它在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件,其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护等。
4)人员:主要有4类。第一类为系统分析员和数据库设计人员:系统分析员负责应用系统的需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的概要设计;数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。第二类为应用程序员,负责编写使用数据库的应用程序,这些应用程序可对数据进行检索、建立、删除或修改。第三类为最终用户,他们利用系统的接口或查询语言访问数据库。第四类人员是数据库管理员(DBA),负责数据库的总体信息控制。DBA的职责通常包括以下几点内容:维护数据库中的信息内容和结构,制定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行,负责数据库的性能改进、数据库的重组和重构,以提高系统的性能。其中,应用程序包含在软件范围内,是指数据库应用系统,例如开发工具、人才管理系统、信息管理系统等。
层次关系如下图所示。
本题中,对于选项D,物理数据库设计与调优属于DBA的职责。
10.
下列关于关系模型的参照完整性规则的叙述中,错误的是______A.外键和相应的主键需定义在相同值域上B.外键和相应的主键可以不同名C.参照关系模式和被参照关系模式可以是同一个关系模式D.外键值不可以为空值正确答案:D[考点]关系型数据库完整性规则[解析]关系型数据库的三类完整性规则如下:
(1)实体完整性规则
实体完整性规则是指关系的主属性(就是俗称主键的一些字段,主键的组成部分)不能为空值。现实生活中的每一个实体都具有唯一性,即使是两台一模一样的计算机都会有相应的MAC(MediaAccessControl,物理地址)地址来表示它们的唯一性。现实之中的实体是可以区分的,它们具有某种唯一性标识。在相应的关系模型中,以主键作为唯一性标识,主键中的属性即主属性不能是空值,如果主属性为空值,那么就说明存在不可标识的实体,即存在不可区分的实体,这与现实的环境相矛盾,因此,这个实体一定不是完整的实体。
(2)参照完整性规则
参照完整性规则指的是,如果关系R1的外键和关系R2的主键相符,那么外键的每个值必须在关系R2的主键的值中可以找到或者是空值;如果在两个有关联的数据表中,那么一个数据表的外键一定在另一个数据表中的主键中可以找到。因此,定义外部关键字属于参照完整性。
(3)用户自定义完整性规则
用户自定义完整性规则是指某一具体的实际数据库的约束条件,由应用环境所决定。自定义完整性反映某一具体应用所涉及的数据必须满足的要求,用户根据现实生活中的一种实际情况定义的一个用户自定义完整性,必须由用户自定义完成。用户自定义完整性不属于其他任何完整性类别的特定业务规则,所有完整性类别都支持用户自定义完整性,包括CREATETABLE中所有的列级约束和表级约束、存储过程和触发器。
在用户自定义完整性中,有一类特殊的完整性称为域完整性。域完整性是针对某一具体关系数据库的约束条件,它保证表中某些列不能输入无效的值,可以认为域完整性指的是列的值域的完整性。例如,数据类型、格式、值域范围、是否允许空值等。域完整性限制了某些属性中出现的值,把属性限制在一个有限的集合中。例如,如果属性类型是整数,那么它就不能是101.5或任何非整数。
可以使用CHECK约束、UNIQUE约束、DEFAULT默认值、IDENTITY自增、NOTNULL/NULL保证列的值域的完整性。例如,在设计表的时候有个年龄字段,如果设置了CHECK约束,那么这个字段里的值一定不会小于0,当然也不能大于200,因为现实生活中还没人能活到200岁。
本题中,对于选项D,外键可以为空,其他选项描述正确。
11.
下列关于完整性约束的叙述中,正确的是______A.参照完整性约束是一种关系模型完整性约束B.参照完整性指的是如果关系R1的外键和关系R2的主键相符,那么外键的每个值必须在关系R2的主键的值中存在C.实体完整性规则中关系的主属性可以为空D.用户自定义完整性规则由系统自动创建正确答案:A[考点]关系型数据库完整性规则[解析]参照完整性规则指的是,如果关系R1的外键和关系R2的主键相符,那么外键的每个值必须在关系R2的主键的值中可以找到或者是空值;如果在两个有关联的数据表中,那么一个数据表的外键一定在另一个数据表中的主键中可以找到。所以,选项A正确。
对于选项B,外键的值可以为空。所以,选项B错误。
对于选项C,实体完整性规则是指关系的主键不能为空值。所以,选项C错误。
对于选项D,用户白定义完整性规则是指某一具体的实际数据库的约束条件,由应用环境所决定,反映某一具体应用所涉及的数据必须满足的要求(例如一个人的年龄必须要大于零),用户根据现实生活中的一种实际情况定义的一个用户自定义完整性,必须由用户自定义完成。所以,选项D错误。
12.
在数据库三级模式结构中,对数据库中全部的数据逻辑结构和特征进行描述的是______A.外模式B.模式C.子模式D.内模式正确答案:B[考点]三级模式结构和二级映像[解析]不同的DBMS在体系结构上通常都具有相同的特征,即采用三级模式结构并提供二级映像功能。数据库系统三级模式结构是数据库系统内部的体系结构,数据库系统的三级模式是指外模式、模式和内模式三部分。数据库系统的模式结构图如下图所示。
(1)外模式(ExternalSchema)
外模式也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)最终能够看见的和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式面向具体的应用程序,它定义在模式之上,但独立于存储模式和存储设备。设计外模式时应充分考虑到应用的扩充性。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。
(2)模式(Schema)
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具以及高级程序设计语言无关。模式是数据库的中心与关键,它独立于数据库的其他层次。设计数据库模式结构时应首先确定数据库的模式。模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。模式定义包括数据的逻辑结构定义、数据之间的联系定义以及安全性、完整性要求的定义。
(3)内模式(InternalSchema)
内模式也称存储模式(StorageSchema),一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。例如,记录的存储方式是顺序存储、按照B树结构存储还是按HASH方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。
13.
在SQL语言中,视图是数据库的______A.外模式B.模式C.内模式D.存储模式正确答案:A[考点]三级模式结构和二级映像
14.
在数据库系统中,用于提供数据与应用程序间的逻辑独立性的映像关系是______A.外模式/模式B.模式/内模式C.外模式/内模式D.逻辑模式/内模式正确答案:A[考点]三级模式结构和二级映像[解析]数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了二级映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
(1)外模式/模式
对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系(这些映像定义通常包含在各自外模式的描述中)。当模式改变时(例如增加新的关系、新的属性,改变属性的数据类型等),DBA对各个外模式/模式的映像作相应改变,可以使外模式保持不变。这体现了数据的逻辑独立性。
(2)模式/内模式
一个数据库系统存在一个唯一的模式/内模式映像,它定义了数据库全局逻辑结构与存储结构之间的对应关系(该映像定义通常包含在模式描述中)。例如,说明逻辑记录和字段在内部是如何表示的。
当数据库的存储结构改变了(例如选用了另一种存储结构),由I)BA对模式/内模式映像作相应改变,可以使模式保持不变。这体现了数据的物理独立性。
15.
下列关于数据库三级模式结构的叙述中,错误的是______A.数据库系统三级模式结构是数据库系统内部的体系结构B.数据库系统的三级模式结构是指外模式、模式、内模式C.存储模式是外模式的一种表现形式D.模式/内模式映像是唯一的,它定义全局逻辑结构与存储结构之间的对应关系正确答案:C[考点]三级模式结构和二级映像
16.
在关系数据库中,用来表示实体之间联系的是______A.树结构B.网结构C.线性表D.二维表正确答案:D[考点]关系型[解析]在关系数据库中用二维表来表示实体之间的联系。可以把数据看成一个二维表,而每一个二维表称为一个关系。所以,选项D正确。
17.
从计算机软件系统的构成看,DBMS是建立在______之上的软件系统。A.硬件系统B.操作系统C.语言处理系统D.编译系统正确答案:B[考点]关系型[解析]从计算机软件系统的构成看,DBMS是建立在操作系统之上的软件系统,是操作系统的用户。操作系统负责计算机系统的进程管理、作业管理、存储器管理、设备管理和文件管理等,因此,DBMS对数据的组织、管理和存取离不开操作系统的支持。当DBMS遇到创建和撤销进程、进程通信、读/写磁盘等要求时,必须请求操作系统的服务。
本题中,对于选项A,DBMS不能直接建立在硬件系统上。所以,选项A错误。
对于选项B,DBMS是建立在操作系统之上的软件系统,是操作系统的用户。所以,选项B正确。
对于选项C,语言处理系统是和DBMS并行的系统,DBMS不能建立在语言处理系统之上。所以,选项C错误。
对于选项D,编译系统是建立在硬件系统之上的系统。所以,选项D错误。
18.
在手机开发中常用的数据库是______A.SQLiteB.OracleC.SQLServerD.DB2正确答案:A[考点]内存数据库[解析]SQLite是一款非常流行的免费开源轻型嵌入式数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对较小的C库中。SQLite的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,例如手机开发。
19.
以下关于NoSQL的说法中,不正确的一个选项是______A.MongoDB支持CAP定理中的AP,MySQL支持CAP中的CA,全部都支持不可能存在B.Redis支持字符串、哈希、列表、集合、有序集合等数据结构,目前Redis不支持事务C.Memcached既支持TCP协议,也支持UDP协议,可以把PHP的Session存放到Memcached中D.MongoDB不用先创建Collection的结构就可以直接插入数据,目前MongoDB不支持事务正确答案:B[考点]NoSQL[解析]CAP定理又称CAP原则,它是一个衡量系统设计的准则。CAP定理指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、PartitionTolerance(分区容错性),三者不可兼得,最多只能得其二。
对于选项A,传统的SQL数据库的事务通常都是支持ACID的强事务机制。NoSQL系统仅提供对行级别的原子性保证,也就是说,同时对同一个Key下的数据进行的两个操作,在实际执行的时候是串行地执行,保证了每一个Key-Value对不会被破坏。MongoDB支持CAP定理中的AP,MySQL支持CAP中的CA。所以,选项A错误。
对于选项B,Redis是一个开源的、内存中的键值(Key-Value)数据存储系统。Redis内置了复制(Replication)、LUA脚本(LUAScripting)、LRU驱动事件(LRUEviction)、事务(Transactions)和不同级别的磁盘持久化(Persistence),并通过Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(HighAvailability)。由此可知,Redis是支持事务的。所以,选项B的描述是错误的,选项B正确。
对于选项C,Memcached是一个高性能的、自由开源的、基于内存的Key-Value存储的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。Memcached一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。Memcached的服务器和客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。所以,它既支持TCP协议,也支持UDP协议。可以把PHP的Session存放到Memcached中。通过Telnet也能在Memcached上保存数据、取得数据。所以,选项C错误。
对于选项D,MongoDB是一个基于分布式文件存储的数据库,它由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。MongoDB不支持类似关系型数据库的事务,这也导致了MongoDB的很多应用场景受限。所以,选项D错误。
20.
从以下四个选项选出不同的一个______A.MySQLB.MongoDBC.DB2D.PostgreSQL正确答案:B[考点]NoSQL[解析]本题中,选项A、选项B和选项C的数据库都属于关系型数据库,只有B属于非关系型数据库。
21.
如果关系模式R所有属性的值域中每一个值都不可再分解,并且R中每一个非主属性完全函数依赖于R的某个候选键,那么R属于______A.第一范式(INF)B.第二范式(2NF)C.第三范式(3NF)D.BCNF范式正确答案:B[考点]范式[解析]所谓“第几范式”,是表示关系的某一种级别,所以经常称某_关系R为第几范式。目前关系型数据库有6种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯一科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式依次类推。一般说来,数据库只需满足第三范式(3NF)就行了。满足高等级的范式的先决条件是必须先满足低等级范式。
在关系数据库中,关系是通过表来表示的。在一个表中,每一行代表一个联系,而一个关系就是由许多的联系组成的集合。所以,在关系模型中,关系用来指代表,而元组用来指代行,属性就是表中的列。对于每一个属性,都存在一个允许取值的集合,称为该属性的域。
下表介绍范式中会用到的一些常用概念。概念简介表实体(Entity)实体就是实际应用中要用数据描述的事物,它是现实世界中客观存在并可以被区别的事物,一般是名词。比如“一个学生”“一本书”“一门课”等。需要注意的是,这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,比如“老师与学校的关系”数据项(DataItem)数据项即字段(Fields)也可称为域、属性、列。数据项是数据的不可分割的最小单位。数据项可以是字母、数字或两者的组合,通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。数据项包含数据项的名称、编号、别名、简述、数据项的长度、类型、数据项的取值范围等。教科书上解释为“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”数据元素(DataElement)数据元素是数据的基本单位。数据元素也称为元素、行、元组、记录(Record)。一个数据元素可以由若干个数据项组成。表中的一行就是一个元组码码码也称为键(Key),它是数据库系统中的基本概念。所谓码就是能唯一标识实体的属性,它是整个实体集的性质,而不是单个实体的性质,包括超码、候选码、主码和全码超码超码是一个或多个属性的集合,这些属性的组合可以在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说,如果K是超码,那么所有包含K的集合也是超码候选码在一个超码中,可能包含了无关紧要的属性,如果对于一些超码,它们的任意真子集都不能成为超码,那么这样的最小超码称为候选码主码从候选码中挑一个最少键的组合,它就叫主码(主键,PrimaryKey)。每个主码应该具有下列特征:①唯一的;②最小的(尽量选择最少键的组合);③非空;④不可更新的(不能随时更改)全码如果一个码包含了所有的属性,这个码就是全码(All-key)外码关系模式R中的一个属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码,也称外键(ForeignKey)。例如,在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外码。主码与外码一起提供了表示关系间联系的手段主属性一个属性只要在任何一个候选码中出现过,这个属性就是主属性(PrimeAttribute)非主属性与主属性相反,没有在任何候选码中出现过,这个属性就是非主属性(NonprimeAttribute)或非码属性(Non-keyAttribute)依赖表(DependentTable)依赖表也称为弱实体(WeakEntity),足需要用父表标识的子表关联表(AssociativeTable)关联表是多对多关系中两个父表的子表函数依赖函数依赖.函数依赖是指关系中一个或一组属性的值可以决定其他属性的值。函数依赖就像一个函数y=f(x)一样,x的值给定后,y的值也就唯一地确定了,写作X→Y。函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件函数依赖完全函数依赖在一个关系中,若某个非主属性数据项依赖于全部关键字,则称之为完全函数依赖。例如,在成绩表(学号,课程号,成绩)关系中,(学号,课程号)可以决定成绩,但是学号不能决定成绩,课程号也不能决定成绩,所以“(学号,课程号)→成绩”就是完全函数依赖传递函数依赖传递函数依赖指的是如果存在“A→B→C”的决定关系,则C传递函数依赖于A下表列出了各种范式。范式特征详解举例第一范式(1NF)每一个属性不可再分所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合、数组、记录等非原子数据项。即当实体中的某个属性有多个值时,必须将其拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。需要注意的是,在任何一个关系型数据库中,第一范式(1NF)是对关系模式的设计基本要求,一般设计时都必须满足第一范式(1NF)。不过有些关系模型中突破了1NF的限制,这种称为非1NF的关系模型。换句话说,是否必须满足1NF的最低要求,主要依赖于所使用的关系模型。不满足1NF的数据库就不是关系数据库。满足1NF的表必须要有主键且每个属性不可再分由“职工号”“姓名”“电话号码”组成的职工表,由于一个人可能有一个办公电话和一个移动电话,所以,这时可以将其规范化为1NF。将电话号码分为“办公电话”和“移动电话”两个属性,即职工表(职工号,姓名,办公电话,移动电话)第二范式(2NF)符合1NF,并且,非主属性完全依赖于码在1NF的基础上,每一个非主属性必须完全依赖于码(在1NF基础上,消除非主属性对主键的部分函数依赖)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字在选课关系表(学号,课程号,成绩,学分)中,码为组合关键字(学号,课程号)。但是,由于非主属性学分仅仅依赖于课程号,对关键字(学号,课程号)只是部分依赖,而不是完全依赖,所以,此种方式会导致数据冗余、更新异常、插入异常和删除异常等问题,其设计不符合2NF。解决办法是将其分为两个关系模式:学生表(学号,课程号,分数)和课程表(课程号,学分),新关系通过学生表中的外键字课程号联系,在需要时通过两个表的连接来取出数据第三范式(3NF)符合1NF,并且,每个非主属性既不部分依赖于码也不传递依赖于码(在2NF基础上消除传递依赖)如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的码,则称R是第三范式的模式。第三范式(3NF)是第二范式(2NF)的一个子集,即满足第三范式(3NF)必须满足第二范式(2NF)。满足第三范式的数据库表应该不存在如下依赖关系:关键字段→非关键字段x→非关键字段y假定学生关系表为(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字“学号”,因为存在如下决定关系:(学号)→(姓名,年龄,所在学院,学院地点,学院电话)这个关系是符合2NF的,但是不符合3NF,因为存在如下决定关系:(学号)→(所在学院)→(学院地点,学院电话)即存在非关键字段“学院地点”“学院电话”对关键字段“学号”的传递函数依赖。它也会存在数据冗余、更新异常、插入异常和删除异常的情况。把学生关系表分为如下两个表:学生:(学号,姓名,年龄,所在学院);学院:(学院,地点,电话)。这样的数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常学生表(学号,姓名,课程号,成绩),其中学生姓名若无重名,则该表有两个候选码(学号,课程号)和(姓名,课程号),存在函数依赖:学号→姓名,(学号,课程号)→成绩,(姓名,课程号)→成绩,唯一的非主属性成绩对码不存在部分依赖,也不存在传递依赖,所以,属于第三范式BCNF(BoyceeCoddNormalForm)在1NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主键子集的依赖)若关系模式R是第一范式,且每个属性(包括主属性)既不存在部分函数依赖也不存在传递函数依赖于R的候选键,这种关系模式就是BCNF模式。即在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合BCNF。BCNF是修正的第三范式,有时也称为扩充的第三范式BCNF是第三范式(3NF)的一个子集,即满足BCNF必须满足第三范式(3NF)。通常情况下,BCNF被认为没有新的设计规范加入,只是对第二范式与第三范式中设计规范要求更强,因而被认为是修正第三范式,也就是说,它事实上是对第三范式的修正,使数据库冗余度更小。这也是BCNF不被称为第四范式的原因对于BCNF,在主键的任何一个真子集都不能决定于主属性。关系中U主键,若U中的任何一个真子集X都不能决定于主属性Y,则该设计规范属于BCNF。例如,在关系R中,U为主键,A属性是主键中的一个属性,若存在A->Y,Y为主属性,则该关系不属于BCNF假设仓库管理关系表(仓库号,存储物品号,管理员号,数量),满足一个管理员只在一个仓库工作;一个仓库可以存储多种物品。则存在如下关系:(仓库号,存储物品号)→(管理员号,数量)(管理员号,存储物品号)→(仓库号,数量)所以,(仓库号,存储物品号)和(管理员号,存储物品号)都是仓库管理关系表的候选码,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系:(仓库号)→(管理员号)(管理员号)→(仓库号)即存在关键字段决定关键字段的情况,所以,其不符合BCNF范式。把仓库管理关系表分解为两个关系表:仓库管理表(仓库号,管理员号)和仓库表(仓库号,存储物品号,数量),这样的数据库表是符合BCNF范式的,消除了删除异常、插入异常和更新异常
很显然,本题中的关系模式R满足第二范式的定义。所以,选项B正确。
22.
下列关于关系模型的术语中,所表达的概念与二维表中的“行”的概念最接近的术语是______A.属性B.关系C.域D.元组正确答案:D[考点]范式[解析]二维表中的“行”即关系模型中的“元组”,二维表中的“列”即关系模型中的“属性”。
本题中,对于选项A,属性作为表中的列的概念。所以,选项A错误。
对于选项B,关系代表的是表和表之间的联系。所以,选项B错误。
对于选项C,域和选项A中的属性是一致的。所以,选项C错误。
对于选项D,二维表中的“行”即关系模型中的“元组”。所以,选项D正确。
23.
在一个关系R中,如果每个数据项都是不可再分割的,那么R一定属于______A.第一范式B.第二范式C.第三范式D.第四范式正确答案:A[考点]范式
24.
一个关系模式为Y(X1,X2,X3,X4),假定该关系存在着如下函数依赖:(X1,X2)→X3,X2→X4,则该关系属于______A.第一范式B.第二范式C.第三范式D.第四范式正确答案:A[考点]范式[解析]对于本题而言,这个关系模式的候选键为{X1,X2},因为X2→X4,说明有非主属性X4部分依赖于候选键{X1,X2},所以,这个关系模式不为第二范式。
25.
如果关系模式R所有属性的值域中每一个值都不可再分解,并且R中每一个非主属性完全函数依赖于R的某个候选键,则R属于______A.第一范式(1NF)B.第二范式(2NF)C.第三范式(3NF)D.BCNF范式正确答案:B[考点]范式
26.
当多个事务并发执行时,数据库管理系统应保证一个事务的执行结果不受其他事务的干扰,事务并发执行的结果与这些事务串行执行的结果一样,这一特性被称为事务的______A.原子性B.一致性C.持久性D.隔离性正确答案:D[考点]特性[解析]事务有4个特性,一般都称之为ACID特性,见下表。名称简介举例原子性(Atomicity)所谓原子性是指事务在逻辑上是不可分割的操作单元,其所有语句要么都执行,要么都撤销执行。当每个事务运行结束时,可以选择“提交”所做的数据修改,并将这些修改永久应用到数据库中假设有两个账号,A账号和B账号。A账号转给B账号100元,这里有两个动作:①A账号减去100元,②B账号增加100元,这两个动作不可分割即原子性一致性(Consistency)事务是一种逻辑上的工作单元。一个事务就是一系列在逻辑L相关的操作指令的集合,用于完成一项任务,其本质是将数据库中的数据从一种一致性状态转换到另一种一致性状态,以体现现实世界中的状况变化。至于数据处于什么样的状态算是一致状态,这取决于现实生活中的业务逻辑以及具体的数据库内部实现以转账为例,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还是5000,这就是事务的一致性隔离性(Isolation)隔离性是针对并发事务而言的,所谓并发是指数据库服务器同时处理多个事务,如果不采取专门的控制机制,那么并发事务之间可能会相互干扰,进而导致数据出现不一致或错误的状态。隔离性就是要隔离并发运行的多个事务间的相互影响。关于事务的隔离性,数据库提供了多种隔离级别,后面的章节会介绍隔离性即要达到这样一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行持久性(Durability)事务的持久性(也叫永久性)是指一旦事务提交成功,其对数据的修改是持久性的。数据更新的结果已经从内存转存到外部存储器上,此后即使发生了系统故障,己提交事务所做的数据更新也不会丢失当开发人员在使用JDBC操作数据库时,在提交事务后,提示用户事务操作完成,那么这个时候数据就已经存储在磁盘上了。即使数据库重启,该事务所做的更改操作也不会丢失
本题目的描述显然属于事务的隔离性,所以,本题答案为D。
27.
事务的持久性是指______A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态正确答案:B[考点]特性
28.
MySQL数据库的默认隔离级别是______A.未提交读B.提交读C.可重复读D.可串行化正确答案:C[考点]隔离级别[解析]Oracle、MySQL和SQLServer中的事务隔离级别参考下表。
MySQL数据库的默认隔离级别是可重复读(RepeatableRead)。所以,本题答案为C。
29.
______允许用户定义一组操作,这些操作通过对指定的表进行删除、更新等命令来执行或激活。A.存储过程B.视图C.索引D.触发器正确答案:D[考点]触发器
30.
下列关于视图与基本表的对比描述中,正确的是______A.视图的定义功能强于基本表B.视图的操作功能强于基本表C.视图的数据控制功能弱于基本表D.上面提到的三种功能二者均相当正确答案:A[考点]视图[解析]视图看上去非常像数据库的物理表,对它的操作同任何其他的表一样。当通过视图修改数据时,实际上是在改变基表(即视图定义中涉及的表)中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些Oracle视图可以修改对应的基表,有些则不能(仅仅能查询)。
本题中,对于选项A,视图可以被定义为多个表的连接,也可以被定义为只有部分列可见,或满足条件的部分行可见,因此,相比基本表,视图具有更强的定义功能。所以,选项A正确。
对于选项B,视图可以执行的操作,表都有,视图一般被用作查询。所以,选项B错误。
对于选项C,视图的数据控制能力要强于基本表,视图可以被定义为多个表的连接,也可以被定义为只有部分列可见,或满足条件的部分行可见,通过定义不同的存储过程,并授予不同的权限,可以很灵活地对数据进行控制。所以,选项C错误。
对于选项D,自然也就错了。
31.
在视图上不能完成的操作是______A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图正确答案:C[考点]视图[解析]视图对于DML操作应遵循的原则如下:
1)简单视图可以执行DML操作。
2)当视图包含GROUPBY子句、DISTINCT关键字时,不能执行DELETE操作。
3)当视图出现下列情况时,不能通过视图修改基表或插入数据到基表:
①视图中包含GROUPBY子句、DISTINCT关键字。
②视图中包含了由表达式定义的列。
③视图中包含了ROWNUM伪列(针对Oracle数据库)。
④基表中未在视图中选择的其他列定义为非空且无默认值。
本题中,对于选项A,简单视图可以执行DML操作。所以,选项A错误。对于选项B,视图的作用就是利于查询。所以,选项B错误。对于选项C,表是实际存在的占用存储空间的段,不能建立在视图之上。所以,选项C正确。对于选项D,基于视图还可以在之上再建立新的视图。所以,选项D错误。
32.
下列关于视图的说法中,不正确的是______A.可以用视图数据暂时从数据库中分离成为自由数据B.视图建立之后,可以脱离数据库单独使用C.视图兼有表和查询的特点D.视图可分为本地视图和远程视图正确答案:B[考点]视图
33.
在基本SQL语言中,无法实现的功能是______A.定义视图B.定义基本表C.对视图和基本表进行查询D.对连接视图进行修改正确答案:D[考点]视图[解析]本题中,对于选项A,定义视图可以使用CREATEVIEW来实现。所以,选项A错误。
对于选项B,定义基本表可以使用CREATETABLE来实现。所以,选项B错误。
对于选项C,对视图和基本表进行查询可以直接使用SELECT来实现。所以,选项C错误。
对于选项D,对连接视图进行修改,目前没有基本SQL语言可以来实现这个需求。所以,选项D正确。
34.
为数据表创建索引的目的是______A.提高查询的检索性能B.创建唯一索引C.创建主键D.归类正确答案:A[考点]基本概念
35.
下列对于数据库索引的说法中,一定错误的是______A.索引可以提升查询、分组和排序的性能B.索引不会影响表的更新、插入和删除操作的效率C.全表扫描不一定比使用索引的执行效率低D.对于只有很少数据值的列,不应该创建索引正确答案:B[考点]基本概念
36.
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现______功能。A.数据查询B.数据控制C.数据定义D.数据操纵正确答案:D[考点]SQL分类[解析]SQL语句可以分为以下几类:分类简介示例DML数据操纵语言(DataManipulationLanguage,DML):用于改变数据库数据,包括插入新数据的INSERT;删除不需要数据的DELETE;修改存在的数据的UPDATE;合并新旧数据的MERGE。数据更新包括数据的插入、修改和删除等操作,数据更新操作具有一定的风险性,在其执行过程中,DBMS必须保证数据的一致性,以确保数据有效UPDATEINSERTDELETEMERGESELECT...FORUPDATEDDL数据定义语言(DataDefinitionLanguage,DDL):用于建立、修改和删除数据库对象,作用就是定义数据的格式和形态。例如,CREATETABLE可以建立表,ALTERTABLE语句则可对表结构进行修改,DROPTABLE语句用来删除某个表,TRUNCATE命令用来删除数据内容。需要注意的是,DDL语句会自动提交事务。在建立数据库时用户首先要使用CREATETABLE/INDEXALTERTABLE/INDEXDROPTABLE/INDEXTRUNCATETABLEDCL数据控制语言(DataControlLanguage,DCL):用于执行权限授予和权限收回操作,包括GRANT和REVOKE两条命令。其中,GRANT命令是给用户或者角色授予权限,REVOKE命令则是收回用户或角色所具有的权限。DCL语句会自动提交事务,在应用开发层面很少用到GRANTREVOKEDOL数据查询语言(DataQueryLanguage,DQL):即SELECT语句,用于用户检索数据库数据。在所有SQL语句中,SELECT语句的功能和语法最复杂、最灵活SELECTTCL事务控制语言(TransactionalControlLanguage,TCL):用于维护数据的一致性,包括COMMIT、ROLLBACK、SAVEPOINT等语句。其中,COMMIT语句用于确认和提交已经进行的数据库改变;ROLLBACK用于撤销已经进行的数据库改变:SAVEPOINT语句则用于设置保存点,以取消部分数据库改变,ROLLBACK命令会结束一个事务,但ROLLBACKTOSAVEPOINT不会;SETTRANSACTION设定一个事务的属性(例如事务的隔离级别);SETCONSTRAINT指定是在每个DML语句之后还是在事务提交后,执行可延迟完整性约束检查COMMITROLLBACKSAVEPOINTROLLBACKTOSAVEPOINTSETTRANSACTIONSETCONSTRAINTSCS会话控制语句(SessionControlStatement,SCS):用于动态修改当前用户会话的属性,在应用开发层面极少用到。“ALTERSESSION”用于改变当前会话设置,“SETROLE”用于启用或禁用角色系统控制语句(SystemControlStatement,SCS):用于更改数据库实例的属性。唯一的系统控制语句是ALTERSYSTEM。它能更改系统设置,例如,共享服务器的最小数目、终止一个会话和执行其他系统级任务。ALTERSYSTEM语句不会隐式提交当前事务ALTERSESSIONSETROLEALTERSYSTEMESS嵌入式SQL语句(EmbeddedSQLStatements,ESS):用于将DDL、DML和事务控制语句混入过程化语言程序中。它们和Oracle预编译器一起使用。嵌入式的SQL是一种在过程化语言应用程序中纳入SQL的方法。另一种方法是使用一个程序API,如ODBC(OpenDatableConnectivity,开放式数据库连接)或JDBC(JavaDatabaseConnectivity,Java数据库连接)。嵌入式SQL语句主要包含以下几种1)定义、分配和释放游标(DECLARECURSOR、OPEN、CLOSE)2)指定一个数据库,并连接到该数据库(DECLAREDATABASE、CONNECT)3)初始化描述符(DESCRIBE)4)指定如何处理错误和警告(WHENEVER)5)分析并运行SQL语句(PREPARE、EXECUTE、EXECUTEIMMEDIATE)6)从数据库中检索数据(FETCH)OPENCLOSECONNECTDESCRIBEWHENEVERPREPAREEXECUTEFETCH
其中,TCL、SCS和ESS主要是针对Oracle数据库的分类,而DML、DDL、DCL、DQL是通用的分类。
37.
在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的是______A.协作图B.状态图C.顺序图D.部署图正确答案:C[考点]UML[解析]UML(UnifiedModelingLanguage)又称统一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,再到构造和配置。UML规范用来描述建模的概念有类、对象、关联、职责、行为、接口、用例、包、顺序、协作以及状态。UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的公用机制。UML有3种基本的构造块:事物、关系和图。
UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、组件图、部署图等10类图。这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。UML图的分类如下图所示。
这几类UML图的简介及其作用见下表。分类简介用例图展示系统外部的各类执行者与系统提供的各种用例之间的关系,从用户角度描述系统功能,并指出各功能的操作者。用例图从用户角度描述系统的静态使用情况,用于建立需求模型静态图静态图(StaticDiagram),包括类图、对象图和包图类图(ClassDiagram)类图展现了一组对象、接口、协作和它们之间的关系。类图描述的是一种静态关系,在系统的整个生命周期都是有效的,是面向对象系统的建模中最常见的图对象图(ObjectDiagram)对象图展现了一组对象以及它们之间的关系。剥象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此,对象图只能在系统某一时间段存在包图包图由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构交互图交互图用于描述对象间的交互关系,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。交互图又分为序列图和协作图。如果强调时间和顺序,那么使用顺序图;如果强调上下级关系,那么选择协作图。这两种图合称为交互图序列图序列图也叫顺序图,显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;描述了以时间顺序组织的对象之间的交互活动协作图协作图也叫合作图,协作图强调收发消息的对象的结构组织。合作图描述对象间的协作关系,合作图与顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系行为图行为图(BehaviorDiagram)描述系统的动态模型和组成对象间的交互关系状态图(StateDiagram)状态图由状态、转换、事件和活动组成,描述类的对象所有可能的状态以及事件发生时的转移条件。通常状态图是对类图的补充,仅需为那些有多个状态的、行为随外界环境而改变的类画状态图活动图(ActiveDiagram)活动图是一种特殊的状态图,展现了系统内一个活动到另一个活动的流程。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动实现图实现图(ImplementationDiagram),分为组件图和部署图组件图(ComponentDiagram)组件图也叫构件图、部件图,组件图展现了一组组件的物理结构和组件之间的依赖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭绿化保姆合同样本
- 仓储公司宽带施工合作协议
- 合同风险管理手册
- 医疗园区顶管施工项目协议
- 建筑装饰计划生育承诺书范本
- 水产苗种养殖产业扶持
- 建筑施工塔吊工程合同模板
- 燃气发电厂环保设施运行维护指南
- 家电产品供应商资格声明
- 汽车维修成本控制
- 家长会课件:小学数学家长会课件
- 传染病防治规划实施细则
- 第五单元中国特色社会主义社会建设单元测试-2023-2024学年中职高教版(2023)中国特色社会主义
- 电大财务大数据分析编程作业2
- 长安历史文化概论智慧树知到期末考试答案2024年
- 2024年政府办事-非政府组织知识笔试参考题库含答案
- 餐厅、食堂餐饮服务方案(技术标)
- 营区物业服务投标方案(技术方案)
- 工业厂房设计规划方案
- 安全生产检查咨询服务投标方案(技术方案)
- 急性粒细胞白血病护理查房
评论
0/150
提交评论