(有答案)
一、填空题
1、数据仓库主要是供决策分析用的______,所涉及的数据操作主要是______,一般情况下不进行。
2、如果多个事务依次执行,则称事务是执行______;如果利用分时的方法,同时处理多个事务,则称事务是执行______。
3、____________和____________一起组成了安全性子系统。
4、关系数据库中基于数学的两类运算是______________和______________。 5、关系规范化的目的是______。
6、视图是一个虚表,它是从______导出的表。在数据库中,只存放视图的______,不存放视图对应的______。
7、使某个事务永远处于等待状态,得不到执行的现象称为______。有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。
8、某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。
9、在SELECT命令中,______子句用于选择满足给定条件的元组,使用______子句可按指定列的值分组,同时使用______子句可提取满足条件的组。
10、某在SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。为了完成该统计操作,请按要求将下面的存储过程补充完整。
二、判断题
11、在关系数据表中,属性的顺序是一定的,不能交换。( ) 12、投影操作是对关系表进行水平方向的分割。( )
13、在关系模式中,候选码可以有多个,主码只能有一个。( )
14、机制虽然有一定的安全保护功能,但不精细,往往不能达到应用系统的要求。( ) 15、在CREATEINDEX语句中,使CLUSTERED来建立簇索引。( )
16、求事务在读取数据前先加共享锁,且直到该事务执行结束时才释放相应的锁,这种封锁协议是二级封锁协议。( )
17、数据模型的核心构成要素是数据结构。( ) 18、在关系模式中,主码和候选码可以有多个。( ) 19、视图是观察数据的一种方法,只能基于基本表建立。( ) 20、数据库的数据项之间无联系,记录之间存在联系。( )
21、有两个关系R和S,分别包含15个和10个元组,则在R∪S、R-S、R∩S中可能出现的一种元组数目情况是18、7、7( )
22、在一个关系模型中,不同关系模式之间的联系是通过公共属性来实现的。( ) 23、在数据表中,空值表示不确定。( )
24、在数据库设计中,数据流图是用来建立概念模型的。( ) 25、函数依赖是多值依赖的一个特例。( )
三、选择题
26、有两个关系R和S,分别包含15个和10个元组,则在R∪S、R-S、R∩S中不可能出现的元组数目情况是( )。
A.15,5,10 B.18,7,7 C.21,11,4 D.25,15,0 27、用于数据库恢复的重要文件是( )。
A.数据库文件B.索引文件 C.日志文件 D.备注文件 28、关于E-R实体-联系模型的叙述,不正确的是( )。 A.实体型用矩形表示、属性用椭圆形表示、联系用无向边表示 B.实体之间的联系通常有:1:@@1、1:n和m:n三类 C.实体型用矩形表示、属性用椭圆形表示、联系用菱形表示 D.联系不仅局限在实体之间,也存在于实体内部
29、设有两个事务T1、T2,其并发操作如表11-1所示,下列评价正确的是(
A.该操作不存在问题B.该操作丢失修改 C.该操作不能重复读D.该操作读“脏”数据
30、概念结构设计的目的是产生一个能反映(企业)组织信息需求的( )。A.DFD B.DD C.E-R图 D.SA
31、“年龄在15至30岁之间”这种约束属于DBMS的( )功能。 A.恢复 B.并发控制
C.完整性 D.安全性
)。
32、在数据库物理设计阶段,需要考虑为关系表建立合适的索引,关于建立索引的描述,有下列说法:
Ⅰ.对于经常在其上需要执行查询操作并且数据量大的表,可以考虑建立索引
Ⅱ.对于经常在其上需要执行插入、删除和更新操作的表,可以考虑建立索引 Ⅲ.对于经常出现在WHERE子句中的属性,可以考虑建立索引
Ⅳ.对于经常出现在ORDER BY子句,GROUP BY子句中的属性,应尽量避免建立索引上述说法正确的是( )。 A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ、Ⅱ和Ⅳ C.Ⅰ和Ⅲ D.Ⅱ和Ⅳ
33、为了保证数据库应用系统正常运行,数据库管理员在日常工作中需要对数据库进行维护。下列一般不属于数据库管理与日常维护工作的是( )。 A.数据内容一致性维护B.数据库备份与恢复 C.数据库安全性维护D.数据库存储空间管理
34、在执行查询语句时,DBMS从数据字典中调出相应的内模式描述,并从模式映象到内模式,从而确定应读入的( )。
A.逻辑数据 B.物理数据 C.操作序列 D.优化策略 35、关于数据仓库设计,下述说法正确的是( )。
A.数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设计,只能从数据出发进行设计
B.在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型
C.在进行数据仓库主题数据模型设计时要强调数据的集成性
D.在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域
36、建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干学生。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入学年份。
描述系的属性有:系号、系名、系办公地点、人数。描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。 回答以下问题: (1) 画出E-R图。
(2) 请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系的候选码、外码,有没有全码存在?
37、执行语句CREATE DATABASE Student的结果是( )。 A.创建一个名为Student的数据库,包括数据文件和日志文件 B.运行失败,因为参数不完整
C.创建一个名为Student的数据库,但是只有默认的数据文件,无日志文件 D.为数据库Student创建一个名为Student的表
38、下述哪一个SQL语句用于实现数据存取的安全机制( )。 A.COMMIT B.ROLLBACK
C.GRANT D.CREATE TABLE
39、以下有关SELECT子句的叙述中不正确的是( )。 A.SELECT子句中只能包含表中的列及其构成的表达式 B.SELECT子句规定了结果集中的列序列 C.SELECT子句中可以使用别名
D.如果FROM子句引用的两个表中有同名的列,则在SELECT子句中引用它们时必须使用表名前缀加以限定
40、以下关于OLAP的叙述中错误的是( )。 A.一个多维数组可以表示为(维1,维2,…,维n) B.维的一个取值称为该维的一个维成员 C.OLAP是联机分析处理
D.OLAP是以数据仓库进行分析决策的基础
四、简答题
41、定义并解释以下术语:模式,外模式,内模式,数据定义语言,数据操纵语言。
42、什么是NoSQL,试述NoSQL系统在人数据库发展中的作用。
43、为什么事务非正常结束时会影响数据库数据的正确性?请举例说明之。
44、请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
45、试述SQL的特点。
五、综合题
46、图书馆数据库中有如下关系: BOOKS(Titel,Author,Pname,Bno) PUBLISHERS(Pname,Paddr,Pcity)
BORROWERS(Name,Addr,City,Cno) LOANS(Cno,Bno,Date)
其中,BOOKS为图书表,对应的各个属性依次是书名、作者名、出版社名和图书编号;PUBLISHERS为出版社表,对应的各个属性依次是出版社名、出版社地址和出版社所在城市名;BORROWERS为借书人表,对应的各个属性依次是借书人姓名、借书人地址、借书人所在城市名和借书证号;LOANS为借书表,对应的各个属性依次是借书证号、图书编号和图书借出日期。若查询2003/10/1以前借出的书籍的书名和借书人姓名,请说明优化的过程。
47、对下列两个关系模式:学生(学号,姓名,年龄,性别,家庭住址,班级号)班级(班级号,班级名,班主任,班长)使用GRANT 语句完成下列授权功能: (1) 授予用户U1对两个表的所有权限,并可给其他用户授权。 (2) 授予用户U2对学生表具有查看权限,对家庭住址具有更新权 限。
(3) 将对班级表查看权限授予所有用户。 (4) 将对学生表的查询、更新权限授予角色R1。
(5) 将角色R1授予用户U1,并且U1可继续授权给其他角色。
参考答案
一、填空题
1、【答案】数据查询;修改操作 2、【答案】串行;并行
3、【答案】用户权限定义;合法权检查机制 4、【答案】关系代数;关系演算
5、【答案】控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性 6、【答案】一个或几个基本表;定义;数据 7、【答案】活锁;死锁 8、【答案】原子
【解析】由事务的原子性可知,它对数据所做的修改操作要么全部执行,要么全部不执行。 9、【答案】WHERE;GROUP BY;HAVING
10、【答案】TOP3;SUM((销售单价-成本价)*销售数量);DESC
二、判断题
11、【答案】错 12、【答案】错 13、【答案】对 14、【答案】对 15、【答案】对
16、【答案】错 17、【答案】对 18、【答案】错 19、【答案】错 20、【答案】错 21、【答案】错 22、【答案】对 23、【答案】对 24、【答案】错 25、【答案】对
三、选择题
26、【答案】B
【解析】① A项的情形:若R∩S为10个元组,那么R∪S为15个元组、R-S为5个元组是正确的。 ② 组。 ③
C项的情形:若R∩S为4个元组,那么R∪S为21个元组、R-S为
B项的情形:若R∩S为7个元组,那么R∪S应为18个元组、R-S 应为8个元
11个元组是正确的。 ④
D项的情形:若R∩S为0个元组,那么R∪S为25个元组、R-S为
15个元组是正确的。 27、【答案】C
【解析】用于数据库恢复的重要文件是日志文件和后援副本。 28、【答案】A
【解析】E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名。
属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m: n)。
实体型之间的联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。同一个实体集内的各实体之间也可以存在联系。 29、【答案】D
【解析】事务T1读出数据A并做了修改,事务T2读取同一数据,随后T1由于某种原因被撤消,执行回滚,这时T1已修改过的数据恢复原值 100,T2读到的数据200就与数据库中的数据不一致,称为“脏”数据。 30、【答案】C
【解析】概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,进行综合和归纳,按照特定的方法把它们抽象为一个不依赖于任何具体机器和具体DBMS的数据模型,即概念模型。描述概念模型的有力工具是E-R图。 31、【答案】C
【解析】“年龄在15至30岁之间”是完整性约束中值的约束。 32、【答案】C
【解析】对于频繁执行查询操作并且数据量较大的表或者经常出现在WHERE子句、ORDER BY子句和GROUP BY子句中的属性应当建立索引,索引是一种单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和响应的指向表中物理标识这些值的数据页的逻辑指针清单,索引技术是用来优化查询操作的,与插入、删除和更改操作没有关系。索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
33、【答案】A
【解析】数据库管理与日常维护是系统员的重要职责,主要包括: ①数据库的备份与恢复;②完整性维护;③安全性维护;④存储空间管理;⑤并发控制及死锁处理,是系统管理员的重要职责。 34、【答案】B
【解析】内模式也称为物理模式,在DBMS中内模式描述信息通常保存在数据字典中。 35、【答案】C
【解析】数据仓库项目的设计一定要从用户的需求出发。进行数据仓库主题数据模型设计时,应该按面向主题而不是部门业务应用的方式来设计数据模型。在进行数据仓库概念模型设计时,可以设计实体关系图,而在逻辑设计时才给出数据表的划分,并给出每个属性的定义域。
36、答:(1)对应的E-R图,如图所示。
图6-5 学生等管理E-R图
(2)所有关系模式如下。
①学生关系:学生(学号,姓名,出生年月,系名,班号,宿舍区)
候选码:学号;外码:系名,班号。
最小依赖集Fm={学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→宿舍区}。
其中,存在以下传递函数依赖:
学号→系名,系名↛学号,系名→宿舍区,因为学号系名一宿舍区,所以班号
系名。
所以学生模式最高达到2NF。
②班级关系:班级(班号,专业名,系名,人数,入学年份)候选码:班号和(专业名,入学年份);外码:系名。
最小依赖集Fm={班号→专业名,班号→人数,班号→入学年份,专业名→系名)。 存在部分函数依赖:(专业名,入学年份)→系名,而专业名→系名。 另外,还存在以下传递函数依赖:
班级号→专业名,专业名↛班级号,专业名→系名,所以班级号所以班级模式最高达到1NF。
③系关系:系(系号,系名,办公室地点,人数)候选码:系号和系名;无外码。 最小依赖集Fm={系号→系名,系号→办公室地点,系号→人数,系名→系号) 系关系模式最高达到BCNF范式。
④社团关系:社团(社团名,成立年份,地点,人数)候选码:社团名;无外码。 最小依赖集Fm={社团名→成立年份,社团名→地点,社团名→人数}。 社团关系模式最高达到BCNF范式。
⑤学生参加社团关系:参加(学号,社团名,入团年份)候选码:(学号,社团名);外码:学号,社团名。
系名
宿舍区。班号→系名,系名↛班号,
宿舍区。学号→班号,班号↛学号,班号→系名,所以学号
最小依赖集Fm={(学号,社团名)→入团年份),而“(学号,社团名)→入团年份”是完全函数依赖。
参加关系模式最高达到BCNF范式。 37、【答案】A
【解析】CREATE DATABASE dataname可以用来创建数据库,其中 dataname为数据库的名字,默认包含数据文件和日志文件。 38、【答案】C
【解析】COMMIT是向数据库递交数据,ROLLBACK是回滚数据, CREATE TABLE是创建表,而GRANT是用来对用户权限进行管理,可以实现数据存取的安全机制。 39、【答案】A
【解析】SQL语言提供了SELECT语句进行数据库查询,该语句具有灵活的使用方式和丰富的功能。语句的功能是根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组。再按SELECT子句中目标列表达式,选出元组中属性值形成结果表。在同一个表自身联合查询时可以采用别名的方式以示区别,并在引用时通过表名前缀加以限定。故四个选项中A项是不正确的。 40、【答案】A
【解析】一个多维数组可以表示为:(维1、维
四、简答题
41、答:(1)外模式:亦称子模式或用户模式,数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(2)模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
(3)内模式:亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
(4)数据定义语言(Data Definition Language,DDL):用来定义数据库模式、外模式、内模式的语言。
(5)数据操纵语言(Data Manipulation Language,DML):用来对数据库中的数据进行查询、插入、删除和修改的语句。
42、答:(1)NoSQL是以互联网大数据应用为背景发展起来的分布式数据管理系统,它有两种解释:一种是Non-Relational,即非关系数据库;另一种是Not Only SQL,即数据管理技术不仅仅是SQL。NoSQL系
统支持的数据模型通常分为:Key-Value模型、BigTable模型、文档(document)。 (2)NoSQL系统为了提高存储能力和并发读写能力采用了极其简单的数据模型,支持简单的查询操作,而将复杂操作留给应用层实现。该系统对数据进行划分,对各个数据分区进行备份,以应对结点可能的失败,提高系统可用性;通过大量结点的并行处理获得高性能,采用的是横向扩展的方式(scale out)。
43、答:(1)事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
(2)例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。则可以定义一个事务T,T包括两个操作:Q1=Q1 -Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。
44、答:(1)数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。
①超时法是如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁。
②事务等待图是一个有向图G=(T,U)。T为结点的集合,每个结点表示正运行的事务;U为边的集合,每条边表示事务等待的情况。若T1等待T2,则T1,T2之间划一条有向边,从T1指向T2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地生成事务等待图,并进行检测。如果发现图中存在回路,则表示系统中出现了死锁。 (2)DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行。对撤销的事务所执行的数据修改操作必须加以恢复。
45、答:SQL有以下五个特点:
综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一性,查找、插入、删除、更新等每一种操作都只需一种操作符,从而克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。
高度非过程化:用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径、存取路径的选择以及SQL语句的操作过程。这有利于提高数据独立性。
面向集合的操作方式:SQL语言采用集合操作方式,不仅操作对象和查找结果可以是元组的集合,而且插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供两种使用方式:SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。语言简捷,易学易用。
五、综合题
46、答:根据题意查询表达式为:
πTitle,Name(бDate
<‘2003/10/1’(Title,Author,BOOKS.Bno,Name,Addr,City,BORROWERS.Cno,Date
(BORROWERS.Cno=LOANS.Cno∧BOOKS.Bno
=LOANS.Bno
π
б
(LOANS×BORROWERS×BOOKS))))
该查询表达式对应的语法树如图9-3所示。对语法树进行优化,其 具体步骤如下:
①将选择运算:
бBORROWERS.Cno=LOANS.Cno∧BOOKS.Bno=LOANS.Bno 分解为两个选
择运算:
бBORROWERS.Cno=LOANS.Cno бBOOKS.Bno=
LOANS.Bno
②将上述的3个选择运算尽可能移到树的叶端,将бDate<‘2003/10/1’与投影交换,同时,由于бDate<‘2003/10/1’的属性Date只涉及关系LOANS,将其移到分出的两个选择下边,故有:
通过上述分析,可得到如图9-5所示的语法树。
图9-4 初始语法树
图9-5 ②得到的语法树
③从图9-5的语法树可知,最顶层的投影与选择只用到了4个属性,即Title、BOOKS.Bno、Name、LOANS.Bno,所以可增加一个投影4个属性的投影运算:
πTitle,BOOKS.Bno,Name,LOANS.Bno
而该投影运算根据它们所在的不同关系,又可分为两个投影运算:
πTitle,BOOKS.Bno πName,LOANS.Bno 通过上述分析,可得到如图9-6的语法树。
图9-6 ③得到的语法树
④从图9-6的语法树可知,最下面的笛卡尔积只用到了4个属性,即Name、
BORROWERS.Cno、LOANS.Bno、LOANS.Cno,所以可增加一个投影4个属性的投影运算:
πName,BORROWERS.Cno,LOANS.Bno,LOANS.Cno 而该投影运算根据它们所在的不同关系,又可分为两个投影运算: πName,BORROWERS.Cno πLOANS.Bno,LOANS.Cno
通过上述分析,可得到如图9-7的语法树。
④得到的语法树
⑤按照分组原则,对生成的语法树进行分组。共分成两组,顶层笛卡尔积右下分枝为一组,顶层笛卡尔积祖先及左下分枝为一组。
⑥先写出执行第一组的运算程序,再写出执行第二组的运算程序。
47、答:(1)GRANT ALL PRIVILIGES ON TABLE 学生,班级 TOU1 WITH GRANT OPTION;
(2) GRANT SELECT,UPDATE(家庭地址)ON TABLE 学生 TOU2; (3) GRANT SELECT ON 班级 TO PUBLIC;
(4) GRANT SELECT,UPDATA ON TABLE 学生 TO R1;
(5) GRANT R1 TO U1 WITH GRANT OPTION;
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务