计算机等级考试数据库三级模拟题2

1下列关于概念数据模型的说法,错误的是( )
概念数据模型并不依赖于具体的计算机系统和数据库管理系统

概念数据模型便于用户理解,是数据库设计人员与用户交流的工具,主要用于数据库设计

概念数据模型不仅描述了数据的属性特征,而且描述了数据应满足的完整性约束条件

概念数据模型是现实世界到信息世界的第一层抽象,强调语义表达功能

正确答案:C
答疑:概念数据模型主要用来描述世界的概念化结构,它使数据库设计人员在设计的初始阶段摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据库管理系统无关,所以没有描述数据的完整性约束条件。


2在数据库应用系统生命周期中,系统设计完成后就进入到系统实现与部署阶段。下列关于数据库应用系统实现与部署阶段工作的说法,错误的是( )
此阶段会根据数据库逻辑结构和物理结构设计方案以及项目选择的数据库管理系统,编写相关脚本生成数据库结构

此阶段会将用户原有数据按照新的数据结构导入到新系统中

此阶段会进行应用系统编码和编码测试,编码测试可以使用白盒测试方法也可以使用黑盒测试方法

此阶段如果发现系统的功能、性能不满足用户需求,应尽快进行系统升级工作

正确答案:D
答疑:系统的实现阶段主要是系统编码和测试,针对系统的功能和性能不足对系统进行升级是运行维护阶段的工作。


3存储管理器是数据库管理系统非常重要的组成部分。下列关于存储管理器的说法,错误的是( )
存储管理器负责检查用户是否具有数据访问权限

为了提高数据访问效率,存储管理器会将部分内存用于数据缓冲,同时使用一定的算法对内存缓冲区中的数据块进行置换

存储管理器会为编译好的查询语句生成执行计划,并根据执行计划访问相关数据

存储管理器以事务方式管理用户对数据的访问,以确保数据库并发访问的正确性

正确答案:C
答疑:C项是查询处理器的功能,不是存储管理器功能。


4下列叙述中不属于三层B/S结构数据库应用系统特点和操作特征的是( )
客户端使用浏览器,浏览器与Web应用服务器之间的通信使用超文本传输协议(HTTP)

数据库服务器接受应用服务器提出的数据操作请求,对数据库进行相应的操作,并将操作结果返回给应用服务器

这种结构使客户端和服务器能在不同的系统间通信,但对客户机配置要求较高,且应用软件维护代价也较大

这种结构不受时空限制,使用者可以在全球任何地方,任何时间请求数据库应用系统提供的各种数据服务

正确答案:C
答疑:B/S结构的数据库应用系统的特点是用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,主要的事务逻辑在服务器实现,所以其对客户机配置要求不高,即使对服务器要求较高,也不需要安装客户端软件。


5实体联系模型简称ER模型,是数据库设计常用的一种建模方法。关于ER模型,下列说法错误的是( )
ER模型能帮助建模人员用一种简单的方法描述现实世界中的数据及数据之间的联系

用ER模型建模的基本思路是分类标识客观事物,将具有相同属性特征的事物抽象为实体集

ER模型可以描述实体集之间一对一、一对多和多对多联系,也可以描述一个实体集中记录之间的联系

用ER模型描述实体集之间的联系时,需要考虑数据在计算机中存储及处理的特征

正确答案:D
答疑:设计数据库时,要分析这个数据库必须存储的信息及这些信息组成部分之间的关系,ER模型就是用来描述数据库中实体及其属性以及各个实体间联系的描述方法。ER模型建模时,不考虑数据库在计算机中的存储和处理特性。


6下列关于函数依赖概念的说法,正确的是( )
函数依赖研究一个关系中记录之间的依赖关系

函数依赖研究一个关系中属性之间的依赖关系

函数依赖研究一个关系中主码与外码之间的依赖关系

函数依赖研究一个关系中某列不同行之间取值的依赖关系

正确答案:B
答疑:函数依赖的定义为:设R(U)是属性集U上的关系模型X,Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X。其本质是根据属性间的依赖情况来判定关系是否具有模型不合适的性质。


7下列有关三级模式结构和数据独立性的说法,正确的是( )
在一个数据库中可以定义多个内模式,可利用不同的内模式来描述特定用户对数据的物理存储需求

外模式是用户与数据库系统的接口,用户可通过外模式来访问数据,在一个数据库中只能定义一个外模式

三级模式结构提供了数据独立性,即当数据的逻辑结构和存储结构发生变化时,应用程序不受影响

数据独立性使得数据的定义和描述与应用程序相分离,简化了数据库应用程序的开发,但增加了用户维护数据的代价

正确答案:C
答疑:A选项中内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式。B选项中外模式可以有多个,其是应用程序或用户与数据库通信的接口,不同的用户访问同一个数据库对应多个外模式。D选项中数据与程序之间的独立性,使数据定义与描述分离,所有数据的存取由DBMS管理,用户不必考虑存取细节,所以减少了应用程序的维护。


8现要为某大型商场开发一个数据库应用系统,在该应用系统的生命周期中,设有下列活动:
Ⅰ. 开发人员执行DDL代码建立数据库结构
Ⅱ. 编写商品信息录入和导入程序,在系统投入运行前建立商品信息清单
Ⅲ. 根据商场销售业务开展情况,调整数据库中的商品清单和价格
Ⅳ. 准备销售新商品时,使用商品信息录入或导入程序,将新商品信息加入到商品清单中
Ⅴ. 为了防止数据丢失,定期对数据库中的数据进行转储
以上活动中,属于商场数据库应用系统实施活动的是( )
仅Ⅰ和Ⅱ

仅Ⅰ、Ⅱ和Ⅲ

仅Ⅲ和Ⅳ

仅Ⅰ和Ⅴ

正确答案:A
答疑:Ⅰ、Ⅱ属于实施活动,Ⅲ、Ⅳ、Ⅴ属于运行和维护活动。


9设有如下所示ER图                                                 

下列能够正确表示该ER图的UML类图是( )


正确答案:C
答疑:考虑到领导与下属关系为一对多(即一个领导可以领导多个下属),所以关系上用"1:*"表示"领导:下属",排除A、D。又因为一个部门中可以有不同职能的员工,排除B。所以选C。


10设在SQL Server 2008中,某关系表需要存储职工的工资信息,工资的范围为2000~10000,设用整型类型存储。下列数据类型中最合适的是( )
int

smallint

tinyint

bigint

正确答案:B
答疑:本题主要是对数字类型的区别,体现在表示的位数和存储字长上面。有符号Bigint从-263到263-1的整型数据,存储大小为8个字节;有符号int是从-231到231-1的整型数据,存储大小为4个字节;有符号Smallint是从-215到215-1的整型数据,无符号smallint从0到216-1,存储大小为2个字节;Tinyint从0到255的整型数据,存储大小为 1 字节。所以选B。


11设某数据库在非工作时间(每天8:00以前、18:00以后、周六和周日)不允许授权用户在职工表中插入数据。下列方法中能够实现此需求且最为合理的是( )
建立存储过程

建立后触发型触发器

定义内嵌表值函数

建立前触发型触发器

正确答案:D
答疑:触发器是用户定义在关系表上的一类由时间驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制,类似于约束。前触发型触发器只执行触发器指定的内容而不执行引发触发器的SQL语句,为职工表中插入数据设定一个非工作时间的前触发型触发器后就可实现该功能。所以选D。


12在开发数据库应用系统时,使用存储过程可以提高数据访问效率,降低网络流量。下列关于存储过程的说法,错误的是( )
存储过程可以接受输入参数,并可将执行结果以输出参数形式返回

存储过程可以有多个输入参数,但只能有一个输出参数

定义存储过程时,在一个存储过程中可以同时包含数据的增、删、改、查操作

存储过程的输入参数和输出参数均可有默认值

正确答案:B
答疑:PL/SQL主要由两种类型构成,即命名块和匿名块。匿名块每次执行时都需要进行编译,不能被存储到数据库中,也不能在其它的PL/SQL中调用。存储过程和函数是命名块,它们被编译后保存在数据库中,可以被反复调用,运行速度块。其结构为:
CREATE Procedure 过程名(参数列表)
AS <PL/SQL块>;
参数列表可以为输入参数、输出参数,且输入、输出参数均可以有多个。所以选B。


13在SQL Server 2008中,设各系统数据库当前主要数据文件及日志文件的大小如下表所示:

现要在该系统中创建一个新的用户数据库,则用户数据库中主要数据文件的大小不能小于( )
15MB

4MB

8MB

6MB

正确答案:B
答疑:不能小于model数据库的大小。Model数据库为新创建的数据库提供模版。


14设有工作表(工作编号,最低工资,最高工资),其中工作编号、最低工资和最高工资均为整型,工作编号为主码。现要求最高工资必须大于等于最低工资,但不能超过最低工资的2倍。在SQL Server 2008环境中有下列创建该表的语句:

I. CREATE TABLE 工作表(

     工作编号 int primary key,

     最低工资 int,

     最高工资 int check(最高工资 between 最低工资and  最低工资 * 2))

II.CREATE TABLE 工作表(

    工作编号 int,

    最低工资 int,

    最高工资 int,

    primary key(工作编号),

    check(最高工资 between 最低工资 and 最低工资 * 2))
III. CREATE TABLE 工作表(

     工作编号 int primary key(工作编号),

     最低工资 int,

     最高工资 int,

     check(最高工资 between 最低工资 and 最低工资 * 2))

IV. CREATE TABLE 工作表(

     工作编号 int primary key(工作编号),

     最低工资 int,

     最高工资 int check(最高工资 between 最低工资and 最低工资 * 2))

上述语句中正确的是( )
仅I和II

仅II和III

仅III和IV

全部

正确答案:B
答疑:当用CHECK进行约束条件限制时,若其只涉及对某一列的约束则可以放在该列后面,如果是约束条件中涉及两列或两列以上,则为对整个数据表的约束,放在表的最后面。


15在SQL Server 2008的某数据库中,设U1用户是R1角色中的成员,现已授予R1角色对T表具有SELECT和DENY UPDATE权限,同时授予了U1用户对T表具有INSERT和UPDATE权限,则U1用户最终对T表具有的权限是( )
SELECT和INSERT

INSERT和UPDATE

SELECT、INSERT和UPDATE

INSERT

正确答案:A
答疑:当用户的权限与其所在的角色的权限发生冲突时,以角色的权限为标准。


16在SQL Server 2008中,有系统数据库master、model、msdb、tempdb和用户数据库。下列关于系统数据库和用户数据库的备份策略,最合理的是( )
对系统数据库和用户数据库都实行周期性备份

对系统数据库和用户数据库都实行修改之后即备份

对系统数据库实行修改之后即备份,对用户数据库实行周期性备份

对master、model、msdb实行修改之后即备份,对用户数据库实行周期性备份,对tempdb不备份

正确答案:D
答疑:因为系统数据库master、model、msdb修改较少,且对数据库系统影响较大,所以每次修改后应及时备份;而用户自定义的数据库(如学生成绩管理系统中的数据库)在使用过程中会经常不定期的修改,而且每次修改量不大,如果每次修改完就重新备份则对系统操作冗余性较大,所以采用定期备份;tempdb是系统临时文件的数据库,每次启动后都会清空,所以没必要备份。选D。


17在SQL Server 2008中,设U1用户在某数据库中是db_datawriter角色中的成员,则用户U1从该角色中可以获得的数据操作权限是( )。
I. 查询      II. 插入      III. 更改      IV. 删除
仅I

仅I和II

仅II、III和IV

全部

正确答案:C
答疑:db_datawriter角色只分配了对数据库的写操作的权限,而不能进行查看,所以选C。


18某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接操作实现的,此操作性能较差。在保证功能不变的前提下,若要提高该查询的执行效率,下列方法中可行的是( )
将此查询语句放置在视图中,使用视图实现该查询操作

修改实现此功能的查询语句,将连接查询改为嵌套查询

将此功能涉及到的表进行合并,然后对合并后的表进行查询

将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作

正确答案:C
答疑:视图在sql语句相同的情况下不能够提高效率,A错误;B、 D并没有简化查询的运算量从而将表合并,也没有减少连接产生的运算量从而提高查询效率。


19在数据库管理系统中,为保证并发事务的正确执行,需采用一定的并发控制技术。下列关于基于锁的并发控制技术的说法,错误的是( )
锁是一种特殊的二元信号量,用来控制多个并发事务对共享资源的使用

数据库中的锁主要分为排它锁和共享锁,当某个数据项上已加有多个共享锁时,此数据项上只能再加一个排它锁

数据库管理系统可以采用先来先服务的方式防止出现活锁现象

当数据库管理系统检测到死锁后,可以采用撤销死锁事务的方式解除死锁

正确答案:B
答疑:当事务T对某个数据加上排它锁时,T可以对该数据进行读和写,其他任何事务都不能再对该数据加任何类型的锁,直到T释放该锁才行;当事务T对某个数据加上共享锁,则T只能对该数据进行读操作,不能修改数据,且其它事务也可以对该数据加共享锁但不能加排它锁。只有等到该数据没有被其他任何事务访问时才能加排它锁。


20在某信息管理系统中需管理职工的照片信息,由于照片数据量较大,照片信息是否存储在数据库中成为讨论的焦点问题。下列关于照片存储与使用的说法,错误的是( )
将照片存储在数据库中可能会导致备份时间较长,备份空间占用较多

将照片存储在文件系统中,在数据库中只存储照片文件的路径信息,可以大幅度降低数据库的数据量

将照片存储在数据库中虽然会导致数据库的数据量较大,但可以方便地实现多台机器共享照片数据,也可以大幅度提高用户访问照片数据的速度

与将照片存储在文件系统中相比,将照片存储在数据库中更容易实现人员信息和照片数据的一致性

正确答案:C
答疑:照片存储到数据库后,多个用户同时对照片的访问受到了很大的限制,所以,同一时间的高并发访问对数据库的要求极高。故本题选C。


21现有课程表(课程号,课程名,学分,开课学期,课程性质),课程号为主码。该表数据量较大。设经常要对该表执行类似下面的查询: 
SELECT * FROM 课程表 WHERE 课程名 = '数据库原理'

为提高这类查询的执行效率,下列物理设计方案中,正确且最为合理的是( )
为课程名列建立一个主索引

为课程名列建立一个位图索引

为课程名列建立一个辅索引

此表上不需要建任何索引

正确答案:C
答疑:本题考查索引的设置。主索引是根据数据对象的主键建立的索引,它们决定了被索引记录的位置,而辅助索引没有这样的限制,可以用于任何索引目的并且可以查找多个数据文件存放的位置。而位图索引一般在范围查询时使用。


22某数据库应用系统使用SQL Server 2008作为数据库平台。在系统运行期间,用户反映某更新操作很慢,无法正常完成业务。系统工程师分别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户端工具执行此更新操作语句,发现该语句执行后长时间无响应。经检查数据库服务器CPU使用率小于1%,磁盘IO也非常小。造成此现象可能的原因是( )
客户机到数据库服务器的网络故障

更新操作涉及到的表没有建立主码

更新的字段没有建立有效的索引

更新操作涉及到的数据被锁定

正确答案:D
答疑:因为在客户端和服务器自带的客户端工具上都是长时间运行无响应,所以与网络无关,A错误;B表在建立时必须设定主码,若没有设定则默认所有属性集合为主码,所以B错;C索引在更新时比较复杂,其本身为虚表,在更新时会对其数据所在的原表更新。当数据被上锁后,若其它事务对其进行写操作,只能等其释放后才能调用。所以选D。


23日志文件对实现数据库系统故障的恢复有非常重要的作用。下列关于数据库系统日志文件的说法,正确的是( )
数据库系统不要求日志的写入顺序必须与并行事务执行的时间次序一致

为了保证数据库是可恢复的,必须严格保证先写数据库后写日志

日志文件中检查点记录的主要作用是提高系统出现故障后的恢复效率

系统故障恢复必须使用日志文件以保证数据库系统重启时能正常恢复,事务故障恢复不一定需要使用日志文件

正确答案:C
答疑:A项日志写入顺序必须和并行事务执行的时间次序一致,因为这样才能在数据库恢复时进行redo,undo操作,从而保证数据的一致性而不会产生脏数据;B项必须先写日志再写数据库,这样当数据库发生故障时可以根据日志完全恢复,否则如果先写数据,当数据刚写完时,数据库故障而没来得及写日志,导致数据恢复时发生错误。D项事务恢复时同样需要日志,如redo、undo操作。所以选C项。


24在SQL Server 2008中,设先对MyDB数据库进行了一次完整备份,然后对该数据库进行了一次日志备份,这两次备份均备份在BK设备上。假设BK设备上只有这两次备份的内容。现要从备份中恢复MyDB数据库,正确的恢复过程及语句是( )

restore log MyDB from BK with file = 1,norecovery
restore database MyDB from BK with file = 2


restore log MyDB from BK with file = 1,norecovery
restore database MyDB from BK with file = 2,norecovery


restore database MyDB from BK with file = 1,norecovery
restore log MyDB from BK with file = 2,norecovery


restore database MyDB from BK with file = 1,norecovery
restore log MyDB from BK with file = 2

正确答案:D
答疑:在进行数据恢复时,首先恢复完全备份,其次恢复差异备份,最后恢复日志备份。备份日志时使用Norecovery用来备份尾日志,这样备份日志的时候数据库处于恢复状态,别的进程就不能再访问数据库,日志就不会再增加,因此在还原的时候就可以正常恢复。还原备份的时候如果想同时还原之后的日志,必须加上Norecovery才可以还原,如果有多个日志备份,除了最后一个日志备份外,还原其他日志也必须加上Norecovery。所以选D。


25在SQL Server 2008中,master是一个非常重要的系统数据库,如果master损坏将会对系统造成严重后果,因此系统管理员应该对master进行备份。SQL Server 2008对数据库提供的备份有:
I. 完整备份     
II. 差异备份     
III. 日志备份
以上备份方法中能够应用在master数据库上的是( )
仅I

仅I和II

仅I和III

全部

正确答案:A
答疑:master数据库是SQL Server系统里面最重要的数据库,因为它包含了系统中的有关数据库的所有信息。对master数据库只能进行完全数据库备份操作,SQL Server不支持在master数据库上进行差异备份、事务日志备份以及文件备份。所以选A。


26关于并行数据库,下列说法错误的是( )
层次结构可以分为两层,顶层是无共享结构,底层是共享内存或共享磁盘结构

无共享结构通过最小化共享资源来降低资源竞争,因此具有很高的可扩展性,适合于OLTP应用

并行数据库系统经常通过负载均衡的方法来提高数据库系统的业务吞吐率

并行数据库系统的主要目的是实现场地自治和数据全局透明共享

正确答案:D
答疑:并行数据库系统的主要目的是通过高速通信介质连接多个可独立处理的单元以并行执行的方式完成对数据库系统的互联查询、内部查询及各种内部操作。分布式数据库系统的主要目的才是实现场地自治和数据全局透明共享。


27现有一个具有多个分店的大型连锁超市,该连锁超市使用统一的连锁业务经营管理系统管理其日常业务。已知其中的销售数据明细表结构为(销售记录ID,商品ID,价格,数量,总金额,销售时间,分店ID),该表数据量很大。为了提高数据访问效率,系统将每年每个分店的销售数据划分成独立的数据表,这种划分方式被称为( )
轮转划分

范围划分

散列划分

多维划分

正确答案:D
答疑:轮转法:对关系顺序扫描,将第i个元组存储到标号为Dimod的磁盘上,该方式保证了元组在多个磁盘上均匀分布。散列划分:选定一个值域为{0, 1, …,n-1}的散列函数,对关系中的元组基于划分属性进行散列,如果散列函数返回i,则将其存储到第i个磁盘。范围划分:根据表中某个属性取值区间划分成不同的子区间,然后根据表中的属性值属于的不同区间将表分成不同的子表。多维划分:维是人们观察事物的角度,同样的数据从不同的维进行观察可能会得到不同的结果,如从各个分店的角度、各种商品的角度(商品ID)等,而每个维度又可按粒度的不同划分成多个层次,称为维度成员。本题中将总表按分店号与时间划分成不同的子表,属于多维划分,所以选D。


28在分布式数据库的数据分配中,若所有全局数据有且只有一份,它们被分割成若干片段,每个片段被分配在一个特定场地上,则该策略属于( )
集中式

分割式

全复制式

混合式

正确答案:B
答疑:分布式数据库的分配方式包括集中式、分割式、全复制式、混合式。集中式指所有数据片断都安排在一个场地上;分割式指全局数据有且只有一份,它们被分割成若干片段,每个片段被分配在一个特定场地上;全复制式是在每个站点上都有全局数据的复制样本,数据的冗余性最大;混合式指全局数据被分为若干个数据子集,每个子集被安排在一个或多个不同的场地上,但是每个场地未必保存所有数据。


29在大型企业的数据库应用系统中,联机事务处理(OLTP)和联机分析处理(OLAP)是常见的数据管理与数据分析形式。关于OLTP和OLAP,一般情况下,下列说法正确的是( )
OLTP系统的安全性要求比OLAP系统的低,也比较容易实现

OLAP系统在访问数据时,一般以访问少量记录为主,OLTP系统则相反

OLTP要求系统必须具有很高的响应速度,而OLAP对系统响应速度的要求较为宽松

OLTP系统一般由企业的中上层或决策层使用,而OLAP系统一般由企业的中下层业务人员使用

正确答案:C
答疑:OLTP是对数据库联机的日常操作,通常是对一条记录的查询和修改,要求快速响应用户的请求,对数据的安全性、完整性及事物吞吐量要求很高。而OLAP是对数据的查询和分析操作,通常是对海量历史数据的查询和分析,要访问的数据量非常大,查询和分析操作十分复杂。所以A、B错。又因为OLAP为宏观分析,OLTP为微观操作,所以前者面向中上层和决策者使用,而后者面向企业的中下层业务人员使用。所以D错。因此选C。


30在对某商场的顾客进行流失预测分析时,先取得一个顾客样本集S,其模式为(id, a1, a2, …, an, c),其中id为顾客的唯一标识,ai(i=1, 2, …, n)为顾客的属性,如年龄、性别、消费时间间隔等,c的取值为{流失,未流失}。现有算法A对样本S进行处理,输出结果为P,P能根据该样本集外的顾客u的n个属性,确定u的c属性值,以对顾客的流失作出预测。那么,A和P分别是( )
聚类算法,聚类工具

分类算法,分类器

关联规则算法,规则集

多维分析算法,OLAP工具

正确答案:B
答疑:由于有样本集和测试集之分,又有已有的类别标签,所以属于监督学习。分类:通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y。分类属于监督学习。聚类:根据在数据中发现的描述对象及其关系的信息,将数据对象分组,组内的对象相互之间是相似的,而不同组中的对象则不同。组内的相似性越大,组间差别越大,聚类就越好,属于无监督学习。关联规则挖掘:发现隐藏在大型数据集中的有意义的联系。多维分析是指各级管理决策人员从不同的角度、快速灵活地对数据仓库中的数据进行复杂查询多维分析处理。根据题意显然是符合分类。所以选B。


数据库管理系统为三级模式结构提供了两层映像机制,其中模式/内模式映像提供了 31  独立性。
答疑:【答案】物理
【解析】数据库系统的三级模式结构是由外模式、模式和内模式三级构成。模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图,它是数据库系统的中间层。外模式是数据库用户能够看见和使用的局部数据的逻辑结构和特征描述,是数据库用户的数据视图。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。为了能够在系统内部实现这3个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像、模式/内模式映像。这两层映像分别保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。


按照数据库应用系统生命周期模型,系统设计阶段细分为概念设计、 32 设计和物理设计三个步骤。
答疑:【答案】逻辑
【解析】系统设计阶段分为概念设计、逻辑设计、物理设计。概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。逻辑设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构。


设用UML设计某数据库应用系统,设计人员规划了一组应用程序集,该集合由动态链接库和可执行程序构成。为了展现这些应用程序集间的组织和依赖关系,以对源代码、可执行程序的发布等进行系统建模,应采用的UML图是 33 图。
答疑:【答案】组件
【解析】组件图提供系统的物理视图。UML图形中组件图的用途是显示系统中的软件对其他软件组件(例如,库函数)的依赖关系,它可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。


设有学生表(学号,姓名,所在系名)和选课表(学号,课程号,成绩)。现要建立统计每个系选课人数的视图。请补全下列语句: 
CREATE VIEW V1(系名, 人数) AS
SELECT 所在系名, 34 
FROM 选课表 JOIN 学生表 ON 选课表.学号 = 学生表.学号
 35 
答疑:【答案】COUNT(DISTINCT 选课表.学号)
GROUP BY 所在系名
【解析】由于要统计选课人数所以要用到聚类函数COUNT(DISTINCT|ALL<列名>),表示对某列的值的计数,如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值。如果不指定DISTINCT短语或指定ALL短语,则表示保留重复值。由于是对不同系中的学生的学号统计,所以用GROUP BY子句将查询结果按某一列或多列的值分组,值相等的为一组。通过对组内不同学号的统计从而统计出各个系的选课人数。


设有课程表(课程号,课程名,学分,先修课程号),已知某应用程序需要列出"数据库原理"课程的一门先修课程,查询结果要求输出(课程名,学分,先修课名称,先修课学分),可以用 36 连接操作在一个查询中实现此功能。
答疑:【答案】自
【解析】自连接是SQL语句中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一张表来对待,从而能够得到一些特殊的数据。简而言之,自连接的本意就是将一张表看成多张表来做连接。本题的SQL语句为:
select 课程表.课程名, 课程表.学分, 先修表.课程名, 先修表.学分 from emp 课程表,emp 先修表 where 课程表.课程名=′数据库原理′ and 课程表.先修课程号=先修表.课程号。


在SQL Server 2008的某用户数据库中,设有T表,现要在T表的c1列和c2列上建立一个复合唯一聚集索引,其中c1列值重复率为20%,c2列为10%。请补全下列语句建立一个性能最优的索引:

CREATE UNIQUE CLUSTERED INDEX Idx1 ON T(  37  )
答疑:【答案】c2,c1
【解析】聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。用户可以在最经常查询的列上建立聚簇索引以提高查询效率。UNIQUE表示要建立的每一个索引值对应唯一的数据记录,先对c2表索引然后对c1表索引,可以使索引的性能最优。


在SQL Server 2008中,现要将T1表的C1列(int类型)定义为标识列,初值和增量值均为1。请补全下列语句:
CREATE TABLE T1 (C1 int  38  (1,1),…)
答疑:【答案】IDENTITY
【解析】此题考查了SQL SERVER中的identity用法。在数据库中, 常用的一个流水编号通常会使用 identity 栏位来进行设置, 这种编号的好处是不会重复, 而且是唯一的, 这对table中的唯一值特性很重要, 通常用来做客户编号、订单编号等。此处用IDENTITY作约束性定义,使C1可以成为标识列。


在SQL Server 2008中,设U1是SQL Server身份验证模式的数据库服务器登录账户,现希望U1在该数据库服务器上具有系统管理员权限。请补全下列语句:
EXEC sp_addsrvrolemember  ′U1′, ′ 39 ′
答疑:【答案】sysadmin
【解析】EXEC sp_addsrvrolemember 是登录账户角色,sp_addsrvrolemember是定义好的存储过程,其作用是为登录账户赋角色权限。数据库主要的角色及权限如下表所示。

数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中 40 协议可以完全保证并发事务数据的一致性。
答疑:【答案】三级加锁
【解析】三级加锁协议也称为三级封锁协议,它保证正确地调度事务的并发操作,是事务对数据库对象加锁、解锁必须遵守的一种规则。在运用X锁和S锁对数据对象加锁时,还需要约定一些规则 ,例如何时申请X锁或S锁、持锁时间、何时释放等。


在数据库系统出现系统故障后进行恢复时,对于事务T,如果日志文件中有BEGIN TRANSACTION记录,而没有COMMIT或ROLLBACK记录,则数据库管理系统处理这种事务时应执行的操作是 41 。
答疑:【答案】UNDO
【解析】系统故障造成数据库状态不一致的原因有两个,一是未完成的事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来的及写入数据库。对于故障发生前已提交的事务(既有BEGIN Transaction,又有commit)做redo操作,对于故障发生时尚未完成的事务(只有BEGIN Transaction,而没有commit或rollback)做undo操作。


在动态转储中,利用转储文件只能将数据库恢复到转储过程中的某个状态,且转储文件中的数据可能不一致,只有和 42 文件综合起来使用,才能将数据库恢复到一致状态。
答疑:【答案】日志
【解析】数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。动态转储是指在转储过程期间允许对数据库进行存取或修改,即转储和用户事务可并发执行,但在转储数据后,副本上的数据并不能保证正确有效,为此必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件。


通常数据库的转储机制有三种,分别是完全转储、差量转储和 43 转储。
答疑:【答案】增量
【解析】数据库的转储机制一般有完全转储、差量转储和增量转储三种。完全转储是指对整个数据库中的数据全部重新备份,效率低,时间长;差量转储指基于上一次完全转储基点之后变化转储,是对上次转储之后对所有文件中修改或删除的记录的转储,效率高,时间短;增量转储是对数据库中凡是有记录变化的文件的整个文件进行复制,效率介于前两种转储方式之间。


数据仓库是面向主题的、 44 的、非易失的、随时间变化的数据集合,用来支持管理人员的决策。
答疑:【答案】集成
【解析】数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织技术,基本特征包括:数据是面向主题的、集成的、非易失的、随时间不断变化的数据集合,用来支持管理人员的决策。


在数据仓库设计和建设过程中,设计者需要调查用户的决策或数据处理需求,并将功能相近且需要相关联数据支持的需求进行归类,得到不同的需求集合,并在企业数据模型中寻找能够满足各个需求集合的数据集合,然后针对各个数据集合开展数据仓库数据模型的设计。这种设计方法称为  45  的设计方法。
答疑:【答案】面向主题
【解析】面向主题的数据组织方式,就是在较高层次上对分析对象数据的一个完整并且一致的描述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,即按照主题进行数据组织的方式具有更高的数据抽象级别。与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据面向主题进行组织。例如,一个生产企业的数据仓库所组织的主题可能有产品订货分析和货物发运分析等。


已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数据表格:


已知该业务系统存在如下规则:
I.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;
II.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;
III.每本教材有唯一的教材号,每个教材号对应唯一的一本教材;
IV.每个教师最多只有一个上级领导,也可以没有上级领导;
V.一门课程仅由一名教师讲授;
VI.一本教材仅用于一门课程。(12分)
(1)请根据原始数据表及业务规则,给出该系统的关系模式,保证每个关系模式满足3NF,并说明每个关系模式的主码和外码。
(2)画出该系统的ER图,ER图中需给出每个实体集的属性,主码属性用下划线标识。
46
答疑:(1)【参考答案】
教师(教师号,教师名,上级领导号,职称名)
主码:教师号;外码:上级领导号、职称名
职称(职称名,工资)
主码:职称名
课程(课程号,课程名,学分,教材号,任课教师号)
主码:课程号;外码:教材号,任课教师号
教材(教材号,教材名,出版社)
主码:教材号;外码:无
【解题思路】
关系的描述称为关系模式,它可以形式化地表示为R(U,D,DOM,F)。要想使转换生成的关系模式满足3NF,则必须满足关系模式中每一个非主属性既不部分依赖于码也不传递依赖于码。根据题目中的表中的数据和业务系统的规则可知,共有四个实体存在,分别为教师、课程、教材、职称,职称作为实体而不是教师的属性是因为职称与工资挂钩,考虑到其有进一步描述的特性,所以把职称作为一个关系而不是教师的一个属性,而且教师号、职称、工资之间存在传递依赖,不满足3NF。
(2)【参考答案】

【解题思路】E-R图也称实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。实体与属性的划分给出如下两条规则:(1)作为"属性",不能再具有需要描述的性质,"属性"必须是不可分的数据项,不能包含其它属性。(2)"属性"不能与其它实体有联系,即E-R图中所表示的联系是实体之间的联系。题目中教师与课程有讲授关系,课程和教材有使用关系,教师与职称有聘用关系。


在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售表的第5列"本次利润"。请编写实现上述功能的后触发型触发器代码。(10分)
47
答疑:【参考答案】
CREATE TRIGGER calcu_product
AFTER INSERT ON 销售表
FOR EACH ROW
AS BEGIN
DECLARE @PurchasePrise float   /*对应商品的进价的参数*/
SELECT @PurchasePrise=进货价格 FROM 商品表 WHERE 商品号=new.商品号 
UPDATE 销售表 SET 本次利润=new.销售数量*(new.销售价格-@PurchasePrise <mailto:new.销售价格-@PurchasePrise>)
 WHERE 商品号=new.商品号AND 销售时间=new.销售时间 
/*因为是行级触发器,所以可以使用更新后的新值,用new*/ 
END
【解题思路】
触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但比约束更加灵活,可以实施比FOREIGN KEY约束、CHECK约束更为复杂的检查和操作,具有更精细和强大的数据控制能力。
触发器的创建格式:
    CREATE TRIGGER [Schema-name.]trigger-name
ON{table|view}
    {FOR|AFTER|INSTEAD OF}
    {[INSERT][,][UPDATE][,][DELETE]}
    AS{Sql-statement}
   [;]
对应于本题中,触发事件为在销售表中插入前四列,条件为无条件执行,触发体动作为计算本次利润并插入表中。

在进行某学校教务管理系统的数据库设计时,数据库设计人员设计了如下几个关系模式:
系(系号,系名),系号为主码
学生(学号,姓名,所在系号),学号为主码
课程(课程号,课程名,开课系号),课程号为主码
选课(学号,课程号,选课时间),学号和课程号为主码
开发人员在将关系模式实施到SQL Server 2008的"教务"数据库时,使用了如下表结构定义语句:
CREATE TABLE 系 (
系号 varchar(10) NOT NULL ,
系名 varchar(100))

CREATE TABLE 学生 (
学号 varchar(50) NOT NULL ,
姓名 varchar(50),
所在系号 varchar(10))

CREATE TABLE课程 (
课程号 varchar(50) NOT NULL ,
课程名 varchar(100),
开课系号 varchar(10))

CREATE TABLE 选课 (
学号 varchar(50) NOT NULL ,
课程号 varchar(50) NOT NULL ,
选课时间 datetime )

在执行如下查询语句时发现执行效率很低:
SELECT * FROM 选课 JOIN 学生 ON 学生.学号 = 选课.学号
JOIN 系 ON 系.系号 = 学生.所在系号
JOIN 课程 ON 课程.课程号 = 选课.课程号
WHERE 系.系号=′012′ 
AND convert(varchar(10),选课时间,120) >= ′2010-01-01′
(1)在查找原因时发现建表语句有问题。请指出问题并说明该问题是否会影响此查询语句的执行效率。(4分)
(2)设已在"选课"表的"选课时间"列及"学生"表的"所在系号"列上建立了索引。请问这两个索引是否能够提高该查询语句的执行效率?如果不能,请说明原因。(4分)
48
答疑:(1) 【参考答案】
建表时没有设置主键,也没有说明外键。但不会影响此查询语句的执行效率
【解题思路】
本题中查询语句的功能是得到12系全体学生在2010年1月1日后的选课情况的汇总表。在每个数据表的定义时都必须严格定义表中的完整性约束条件,包括主键的设置,否则之后会出现主键有相同值的情况,破坏了数据的完整性。
(2)【参考答案】
"选课"表的"选课时间"列上建立了索引,从而能够提高执行效率。经常出现在Where子句中的字段,特别是大表的字段,应该建立索引。索引的作用就类似于书的目录,即会按照章节的顺序排列。因此如果在一本数百页的书里面查找某个章节位置的时候,就可以只扫描书的目录。扫描的范围缩了n倍,查询的效率自然就会提高。另外,在SQL Server内存够用的情况下,索引会被放到内存中,在内存中查找自然又会提高效率,所以必须合理利用索引。
【解题思路】
建立索引是加快查询速度的有效手段,用户可以根据应用环境的需要建立一个或多个索引,以提供多种存取路径,加快查找速度。索引就像书的目录一样为我们将记录按规定的列进行了排序,这样当我们要访问满足这些列的某些条件的记录时,索引会为我们减少查询数据库中的地址范围,大大节省了时间。所以根据WHERE条件后的字段对表建立索引对于提高查询效率是有帮助的。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值