数据库系统概论练习5
一、填空题(每空1分,共10分)
- 用户与操作系统之间的数据管理软件称为DBMS(数据库管理系统)。
- 用二维表表示实体类型和实体间关系的数据模型是关系数据模型 。
- 关系代数的五种基本查询操作有选择、投影、并、差、笛卡尔积。
- 在SELECT语句中使用ORDER BY子句将查询结果排序,其中的desc选项表示降序。
- 子查询的条件不依赖于父查询,这类查询称为嵌套子查询或不相关子查询。
- 若关系模式R(U,F)中U为全键,则R能够满足的最高范式级别为____3NF_________。
- 对于函数依赖X→Y,如果Y包含于X则称X→Y是平凡的的函数依赖。
- 在数据库设计中,E—R图是进行___概念模型___设计的主要方法。
- 避免活锁的最简单的方法是采用先来先服务的策略。
- 两段锁协议中,在释放一个封锁以后,规定事务 不能再申请和获取新的封锁。
二、单项选择题(每小题2分,共40分)
1. DB , DBMS , DBS 之间的关系是。 ( C )
A.DB包括DBMS和DBS B. DBMS包括DB和DBS
C. DBS包括DBMS和DB D. DBS与DBMS,DBS无关
2. 要保证数据库物理数据独立性,需要修改的是。 ( B )
A.模式 B.模式与内模式的映射
C.模式与外模式的映射 D.内模式
3. 储蓄所有多个储户,储户可以在多家储蓄所存取款,则储户与储蓄所之间是 ( D )
A.一对一的联系 B.一对多得联系
C.多对一的联系 D.多对多的联系
4. 设R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),则R∞S自然连接构成
的结果集是几元关系。 ( D )
A.4 B.3
C.7 D.6
5.关系代数∏ 对应SQL语句中的哪个子句。 ( A )
A.SELECT B.FROM
C.WHERE D.GROUP BY
6. 实体完整性要求主属性不能取空值,这通常是通过。 ( C )
A.定义外键来保证 B.用户自定义完整性来保证
C.定义主键来保证 D.关系系统自动保证
7.若用如下的SQL语句创建一个student表:
CREATE TABLE student(NO Char(4) NOT NULL,
NAME Char(8) NOT NULL,
SEX Char(2),
AGE Number(2))
可以插入到student表中的是。 ( B )
A. (‘1031’, ‘曾华’,男,23) B. (‘1031’,’曾华’,NULL,NULL)
C. (NULL,‘曾华’, ‘男’, ‘23’) D.(‘1031’ , NULL, ‘男’,23)
8. SELECT语句中与HAVING子句同时使用的是哪个子句。 ( C )
A.ORDER BY B.WHERE
C.GROUP BY D.无需配合
9.下列哪种情况不是一个属性列(组)上建立索引的依据。 ( A )
A.该属性列(组)经常需要被更新
B.该属性列经常作为聚集函数的参数
C.该属性列(组)经常在查询条件中出现
D.该属性列(组)经常在连接条件中出现
10.下列哪项操作可能破坏参照完整性。 ( B )
A.被参照表插入元组(不影响) B.被参照表修改主码值
C.参照表删除元组(不影响) D.参照表修改主码值(不影响)
解析:
参照表(破坏参照完整性) |
被参照表(同理) |
其他情况 |
插入元组(参照表新增了一列,导致被参照表没有所对应的新列。) |
删除元组(建立的被参照表被删除一列,造成不符合参照表规则) |
都不变 |
修改外码值(修改参照表本身,破坏参照完整性) |
修改主码值(就是修改被参照表本身属性),一般被参照的表参照的就是主码,主码不能动 |
总结:被参照表可以多,但不能少【在参照表不变的情况】,不能动参照的主键列(主码)。
参照表可以少,但不能多【在被参照表不变的情况】,不能动参照表本身属性(外码)。
也就是参照表相当于限制条件,在建表(参照表)的基础上,规则可以少。
同理,在规则已经确定的情况下,必须依照此规则,并且可以多些按照相同规则的属性,但是不能出现某些规则有,但没有符合该规则的属性列。自己慢慢体会,一样的道理!!!
11.关系规范化中的插入异常是指。 ( C )
A.不应插入的数据被插入 B.不该删除的数据被删除
C.应该插入的数据不能被插入 D.应该删除的数据未被删除
解析:删除异常的指不该删除的数据被删除。
12. 在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R最高达到第几范式。 ( B )
A.1NF B. 2NF
- 3NF D. 以上三者都不行
解析:存在传递函数依赖,故最高为2NF
13. 在最小依赖集F中,下面叙述不正确的是。 (B )
A.F中每个FD的右部都是单属性
B.F中每个FD的左部都是单属性
C.F中没有冗余的FD
D.F中每个FD的左部没有冗余的属性
解析:最小函数依赖集条件:(1)F中任一函数依赖右部仅含有一个属性
- F中不存在这样的函数依赖X->A,使得F与F-{X->A}等价。【无多余函数依赖】
- 左部不能再分,无多余属性
14.如果关系R的分解为ρ=(R1,R2),F是R上的一个FD集,那么分解ρ具有无损连接性的充分必要条件是。 ( A )
(1). (R1∩R2)→(R1-R2) (2). (R1∩R2)→(R2-R1)
(3). (R1∪R2)→(R1-R2) (4). (R1∪R2)→(R2-R1)
供选择的答案:
A. (1)或(2) B. (1)或(3)
C. (3)或(4) D. (2)或(4)
15.数据库系统可能发生的各类故障中,破坏性最大的是。 ( C )
A.事务故障 B.系统故障
C.介质故障 D.计算机病毒
16. 对基于检查点的恢复技术,下列说法中错误的是。 ( A )
A. 无论事务在检查点之前还是之后提交,都需执行REDO操作
B. 检查点技术可以提高恢复效率
C. 检查点可以定期建立
D. 能最大限度的减少恢复数据库时根据日志记录所需执行的恢复操作
17.保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指数据的。 ( A )
A. 安全性 B.完整性
C.并发控制 D.恢复
18.在DB恢复时,对已经提交但更新未写入磁盘的事务执行。 ( B )
A.UNDO处理 B.REDO处理
C.ROLLBACK处理 D.ABORT处理
19. 设有两个事务T1和T2,它们的并发操作如图所示。对于这个并发操作,下列评价正确的是。 ( A )
T1 |
T2 |
|
① |
读A=10 |
|
② |
读A=10 |
|
③ |
A=A-5写回 |
|
④ |
A=A-8写回 |
A、该操作丢失了更新 B、该操作不能重复读
C、该操作读脏数据 D、该操作不存在问题
20. 若事务T对数据R已加X锁,则其他事务对数据R。 ( D )
A.可以加S锁不能加X锁 B.不能加S锁可以加X锁
C.可以加S锁也可以加X锁 D.不能加任何锁
三、简答题(每小题5分,共10分)
1.简单描述连接查询的排序合并算法(sort-merge)。
答:首先按连接属性对表1和表2排序
对表1的第一个元组,从头开始扫描表2,顺序查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。当遇到表2中第一条大于表1连接字段值的元组时,对表2的查询不再继续
找到表1的第二条元组,然后从刚才的中断点处继续顺序扫描表2,查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。直到遇到表2中大于表1连接字段值的元组时,对表2的查询不再继续
重复上述操作,直到表1或表2中的全部元组都处理完毕为止
- 什么是事务?什么是事务的ACID属性?
一个数据库操作序列,是数据库应用程序的基本逻辑单元。 这些操作要么都做,要么都不做,是一个不可分割的执行单位。
原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)
四、应用题(每小题3分,共21分)
对于供应商--零件--工程的四个基本表
供应商: S (s#,sname,status,city) /*代码,姓名,状态,供应商所在城市*/
零件表: P (p#,pname,color,weight,city) /*零件代码,零件名,颜色,重量,零件商所在的城市*/
工程项目表: J (j#,jname,city) /*项目代码,项目名,项目所在的城市*/
供应情况表: SPJ (s#,p#,j#,qty) /*供应商代码,零件代码,工程项目代码,供应数量(表示某供应商 供应某种零件 给某工程项目的数量为QTY)*/
试用关系代数表达下列查询
(1)求由’S1’ 供应的工程名称。
(2)没有使用’天津’供应商生产的’红’色零件的工程号J#。
解:(1)s#=S1,求jname。(先从SPJ表中选出供应商代码为s1,然后要求的是jname,jnanme在工程项目表中,需要将两表进行连接,并选出jname的投影)
∏JNAME (σ S#=’S1’ (SPJ∞J));
(2)答案采取的思路是用
∏J#(J)-∏J#(∏S#(σCITY = “天津”)(S)) ∞∏S#,P#,J#(SPJ) ∞ ∏P#(σCOLOR=“红”)(P)))
∏J#(J)-∏J#(σCITY = “天津”^COLOR=“红”(P∞S∞SPJ));
- ∏S#(σCITY = “天津”)(S) 是从S表中选取city=天津,并根据s#供应商代码进行投影。意思就是选出天津供应商的代码。
- ∏S#,P#,J#(SPJ) 是从SPJ表中投影出S#,P#,J#项,意思就是为了方便将供应商表和零件表和工程项目表三个表联立,并为以后选出符合要求的条件提供前提。
- ∏P#(σCOLOR=“红”)(P)) 是从P表中找到颜色为红色的零件代码,先选择,后投影。
将(1)(2)(3)三个部分的部分的语句进行连接,并一起投影出J#。选出了使用
- 天津供应商,红色零件,同时瞒住的工程号J#。最后用再J表中所有的J#项目代码减去不满足条件的工程号,剩下的就是满足题意的工程号J#。
试用SQL语句表达下列操作
(3)查询供应商,零件和工程在同一个城市的所有的供应商号,零件号,项目号。
(4)找出工程项目’J2’使用的各种零件的名称及其总数量。
(5)统计所有项目中供应零件’P1’总数量最大的供应商号。
(6)根据关系代数:∏j#(∏p#(σpname=’TV’(P))∞SPJ)写出SQL语句。
(7)根据S表建立一个视图,要求有s#,sname,city三个属性,并且供应商有供应零件。
(3)SELECT S.S#, P.P#, J.J# FROM S, P, J
WHERE ( S.CITY = P.CITY AND P.CITY = J.CITY )
(4)SELECT PNAME , sum(QTY )
FROM P ,SPJ
WHERE SPJ.J# = ‘J2’ AND SPJ.P# = P.P#
GROUP BY P.PNAME
- Select S# from spj where p#=’p1’ group by s# having sum(qty)=(SELECT max(sum_qty) FROM ( SELECT S# ,sum (QTY ) sum_qty from spj where p#=’p1’group by s#) );
①SELECT S# ,sum (QTY ) sum_qty from spj where p#=’p1’group by s#;
【查询供应商代码,最大供应数量,从spj表中,条件是零件代码是p1,并且按照供应商代码分类】
剩下的还是套娃:②从第一步的查询结果中找到最大供应数量并将其赋值给sum(qty)聚集函数。第一步就是做了个分类。。。。
(6)Select disctinct j# from p,spj where p.p#=spj.p# and pname=’TV’;
(7)Create view sp As Select s#,sname,city from s where s# in (select s# from SPJ)
五、综合题(共9分)
关系R(A,B,C,D,E,P,G,H,I,J)满足下列函数依赖:F={AB→E, ABE→GP, B→PI,C→J,CJ→I,G→H}
(1)该函数依赖集是最小函数依赖集吗?若不是,将其化为最小函数依赖集。(6分)
(2)给出该关系的候选码,并说明R属于几范式。(3分)
解:(1)F不是最小函数依赖集。最小函数依赖集Fm={AB→E,AB→G,B→P,B→I,C→J,C→I,G→H}
详细步骤:①对于AB->E, B->PI [ABPI],AB的闭包不能确定E,所以AB->E不多余
②ABE→GP, 先对其进行分解,ABE->G,ABE->P,然后我们知道E是多余的,然后得到AB->G,AB->P。然后判断AB->G,发现不是多余的,故保留。然后看AB->P,我们可以看到B->P,B->I,可以看出A是多余的,故为B->P保留。
③B->P,B->I,已经有B->P,只需看B->I,发现B的闭包确定不了I,故B->I不多余。
④C→J,C的闭包确定不了J,故C→J保留。
⑤CJ→I,已知C→J,那么J多余,判断C→I是否多余,C的闭包确定不了I,故C→I保留。
⑥G→H,G的闭包确定不了H,故G→H保留。
综上所述,最小函数依赖集Fm={AB→E,AB→G,B→P,B→I,C→J,C→I,G→H}
(2)候选码为ABC,并且R∈1NF
六、数据库设计题(共10分)
设某汽车运输公司数据库中有三个实体集.一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘用期属性;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
- 请画出该运输公司管理系统的E-R图。(5分)
- 设计出满足3NF的关系模式集。(5分)
解:(1)矩形代表实体,椭圆代表属性,菱形框代表关系。
分析:三个实体:车队,车辆,司机
属性:【车队的属性】车队号、车队名,【车辆】牌照号、厂家、出厂日期,【司机】司机编号、姓名、电话。
关系:车队--》聘用--》司机,1对多的关系【司机拥有聘用期属性】。车队和车辆是1对多的关系,并且车队拥有车辆。司机和汽车是多对多,是使用与被使用关系使用车辆
有使用日期和公里数两个属性。
(2)
关系模式:
车队(车队员,车队名)
司机(司机编号,姓名,电话,聘用期,车队号)
车辆(牌照号,厂家,出厂日期,车队号)
使用(司机编号,牌照号,使用日期,公里数)
数据库系统概论练习5相关推荐
- 【思维导图总结——数据库系统概论】数据库安全性
数据库安全性 数据库系统概论--数据库安全性 数据库安全性 一.数据库安全性概述 二.数据库安全性控制 (一).计算机的安全模型 (二).数据库安全性控制的常用方法 1.用户身份鉴别与存取控制 2.自 ...
- 【思维导图总结——数据库系统概论】关系数据库标准语言SQL
关系数据库标准语言SQL 数据库系统概论--关系数据库标准语言SQL 关系数据库标准语言SQL 一.SQL概述 二.数据定义 (一).SQL数据定义语句以及现代关系数据库的层次结构 (二).模式的定义 ...
- 【思维导图总结——数据库系统概论】绪论
绪论 数据库系统概论--绪论 绪论 写在前面 一.数据库系统概述 二.数据模型 (一).数据模型的构建要求及组成要素 (二).分类 1.概念模型(信息模型) 2.逻辑模型(物理模型) 三.数据库系统的 ...
- 数据库系统概论:第一章 绪论
1.1 数据库系统概论 1.1.1 数据库系统概论 1. 数据 描述事物的符号记录称为是数据; 数据的解释叫做语义,他与数据时密不可分的; 记录是计算机中表示和储存数据的一种格式或者一个方法; 2. ...
- 南京工程学院 数据库复习(数据库系统概论复习 及 数据库原理与应用样题)
一.数据库系统概论 1.1 百度文库 复习文档(需下载券) <数据库系统概论>(王珊.第五版) ★第一章 绪论 v 本章内容:数据库系统概述.数据模型.数据库系统结构 v 本章主要考点 ...
- 6.0 《数据库系统概论》之关系数据库的规范化理论(数据依赖对表的影响[插入-删除-修改-冗余]、1NF-2NF-3NF-BCNF-4NF、函数依赖与多值依赖)
文章目录 0.思维导图 1.为什么要学习关系数据库规范化理论? (1)基本概念回顾 (2)关系模式的形式化定义 (3)什么是数据依赖F? (4)数据依赖F对关系模式的影响 1️⃣ 数据冗余(Data ...
- 3.1 《数据库系统概论》SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)
文章目录 0.前言 1.思维导图 2.SQL概述 (1)什么是SQL? (2)SQL的特点 (3) SQL的基本概念 3.数据字典 4.数据定义 (1)数据定义概览 (2)模式的定义与删除---SCH ...
- 计算机试题dddd,数据库系统概论试题及答案dddd_Image_Marked.pdf
数据库系统概论试题及答案dddd_Image_Marked 数据库系统概论复习资料: 第一章: 一选择题: 1.在数据管理技术的发展过程中,经历了人工管理阶段.文件系统阶段和数据库系统阶段.在这几个阶 ...
- filestorage 修改吧部分数据_数据库系统概论课后答案||第五版
关注公众号,更多资源分享 回复关键词:数据库系统概论 即可获取相应资源 其他章节关注公众号获取 第 1 章 绪论 1 . 试述数据. 数据库. 数据库系统. 数据库管理系统的概念. 答:( l ) 数 ...
- (数据库系统概论|王珊)第三章关系数据库标准语言SQL:习题
文章目录 名词解释 简答题 应用题 名词解释 视图:视图是一个虚表,其本质就是一条SELECT语句,而查询结果被赋予了一个名字,也即视图名字.或者说视图本身不包含任何数据,它只包含映射到基表的一个查询 ...
最新文章
- 每天生产45亿词!GPT-3已渗透进300+应用中,网友:边吃边拉
- c# 两个list比较_C#刷遍Leetcode面试题系列连载(1) 入门与工具简介(VS Code amp; VS)...
- ext3分区修复linux,linux – 如何从损坏的ext3分区恢复数据?
- CG CTF CRYPTO 异性相吸
- nginx http proxy 正向代理
- gg参数:dblogreader
- 影之刃3服务器维护,影之刃3手游2021年3月11日维护公告_影之刃3手游2021年3月11日更新了什么_玩游戏网...
- redis实现轮询算法_基于zookeeper或redis实现分布式锁
- 数据结构与算法-时间复杂度的级别-时间复杂度的算法
- TCP/IP协议栈:TCP超时重传机制
- VS2015 调试代码时写入位置时发生访问冲突
- linux下罗技摄像头采集图片,linux下寻找罗技摄像头快看酷讯版驱动
- 系统集成项目管理工程师14真题解析
- 本地iis部署之后网页无法打开
- 十月上旬百度 阿里巴巴 迅雷搜狗最新面试七十题 第201 270题
- iphone计算机怎样打开声音,8个iOS必知小技巧!iPhone的声音还可以调更大哦!
- 使用阿里云实现简单的直播
- Java String类源码阅读笔记
- 《中国传统文化学习之幸福人生讲座》有感
- 计算机视觉学习 BOW模型图像搜索