数据库系统原理例题之——关系数据库

【例题】

一 、单选题

10.一个关系逻辑上对应一张( )
A.树形图 B.二维表 C.三维表 D.三维图

11.一个关系 R(ABC)有两个候选键 ,分别是 AB 和 BC ,指定其主键是 AB ,那么 R 的主属性是( )

A.B
B.A 和 B
C.A,B 和 C
D.A 和 C

12.关系表中的列 ,也称作( )
A.元组 B.记录 C.字段 D.数组

13.下面不属于关系的基本操作的是( )
A.选择 B.投影 C.并 D.连接

14.不属于关系完整性约束的是( )
A.实体完整性约束 B.参照完整性约束
C.用户定义完整性约束 D.关系代数完整性约束

15.不好的关系模式可能引起很多问题 ,其中不包括( )
A.数据冗余 B.丢失更新 C.插入异常 D.删除异常

二 、填空题

16.—个关系模式的所有属性集合是这个关系的主码或主键 ,则称这样的主码或主键为 ___________。

17.关系演算语言可以分为元组关系演算和_____________关系演算 。

三 、简答题

18.简述关系数据库对关系限定的具体要求。

19.简述关系模型完整性约束的检验 。

四 、综合题

20.设有关系模式 R(学号 ,姓名 ,系号 ,系名 ,课程号 ,课程名 ,考试类型 ,成绩)存储学生选修课程等 信息 。
如果规定 :每个学生只能在一个系学习;考试类型有一考 、二考 、补考 ,每个学生每门课程每个考试类型 只能有一个成绩。
(1)根据上述条件 ,写出模式 R 的关键字 。

(2) R 最高属于第几范式 ,为什么?

(3)举例说明 R 在何种情况下会发生删除异常。

(4)将 R 规范到 3NF 。

【答案&解析】

一、单选题

10.【考点】关系( Relation)
答案: B
解析: 本题考查对关系数据结构中关系的理解 。表也称为关系 ,是一个二维的数据结构 , 它由表名、构成 表的各个列及若干行数据组成 。一个 关系逻辑上对应一张二维表 ,可以为每个关系取一个名称进行标识 。 故本题选 B。

11.【考点】主属性( Primary Attribute)和非主属性( Nonprimary Attribute)
答案: C
解析: 关系中包含在任何一个候选码中的属性称为主属性或码属性; 不 包含在任何一个候选码中的属性称 为非主属性或非码属性 。本题中 , 两个候选键 AB 和 BC 中 包含了 A ,B ,C ,故本题选 C。

12.【考点】列( Column)
答案: C
解析:
表中的: 也称作字段或属性
表中的: 也称作元组或记录
故本题选 C。

13.【考点】基本的关系操作
答案: D
解析:破题点:本题可从“不属于”和“基本操作 ” 两个关键字入手。
关系操作包括:
( 1 )查询(Query )操作:5 种基本操作:选择、投影、并、差、笛卡尔积 。可用基本操作来定义和导出的 操作: 连接、除、交
( 2 )插入(Insert)、删除(Delete) 、修改( Update)操作
助记方式:茶饼选影帝(差并选影笛)故本题选 D。

14.【考点】关系的完整性约束
答案: D
解析: 关系完整性约束的分类如下所示:
( 1 实体完整性约束:指关系的主属性 ,即主码的组成不能为空,也就是关系的主属性不能是空值 NULL。
( 2 )****参照完整性约束: 定义外码和主码之间的引用规则 ,它是对关系间引用数据的一种限制。
( 3 )****用户定义完整性约束:针对某一应用环境的完整性约束条件 ,它反映了某一具体应用所涉及的数据应 满足的要求 。本题为选非题 ,故选 D。

15.【考点】关系模式中可能存在的冗余和异常问题
答案: B
解析: “不好 ”的关系模式中可能存在的问题:
( 1 )数据冗余:是指同一数据被反复存储的情况。
( 2 )更新异常:数据冗余将导致存储空间的浪费和潜在数据不一致性及修改麻烦等问题。
( 3 )插入异常:应该插入到数据库中的数据不能执行插入操作的情形。
( 4 )删除异常:不应该删去的数据会出现被删去的情形 。本题为选非题 ,故选 B。

二、填空题

16.【考点】全码或全键( All-Key )
答案:全码
解析: 或全键一个关系模式的所有属性集合是这个关系的主码或主键 ,则称这样的主码或主键为全码或全键

【拓展】在一个关系的若干个候选码或候选键中指定一个用来唯一标识关系的元组 ,则称这个被指定 的候选码或候选键为该关系的主码或主键。

17.【考点】关系数据语言的分类
答案:域
解析: 关系数据语言的分类:
( 1 )关系代数语言: 并、差、交、笛卡尔积、选择、投影、连接、除。
( 2 )结构化查询语言( SQL ):兼具两者双重特点 ,介于关系代数和关系演算之间。
( 3 )关系演算语言: 元组关系演算和域关系演算。

三、简答题

18.【考点】关系数据库( Relation Database)
答案:
( 1 )每一个属性都是不可分解的。
( 2 )每一个关系仅仅有一种关系模式。
( 3 )每一个关系模式中的属性必须命名 ,在同一个关系模式中 ,属性名必须是不同的。
( 4 )同一个关系中不允许出现候选码或候选键值完全相同的元组。
( 5 )在关系中元组的顺序是无关紧要的 ,可以任意交换。
( 6 )在关系中属性的顺序是无关紧要的 ,可以任意交换。

解析: 可助记为:2 必须(命名、不同) 、2 不可(不可分解、候选键值不可完全相同) 、2 任意(行序和 列序)

19.【考点】关系模型完整性约束的检验
答案:
( 1 )执行插入操作
执行插入操作时 ,首先检查实体完整性约束 ,然后再检查参照完整性约束 ,最后检查用户定义完整性约束。
( 2 )执行删除操作当执行删除操作时 ,一般只需要对被参照关系检查参照完整性约束 。
( 3 )执行更新操 作当执行更新操作时 , 因为更新操作可看成是先执行删除操作 ,再执行插入操作 。
因此是上述两种情况的综合。

四、综合题
20.
( 1 )【考点】定义 2.5
答案: 学号 ,课程号 ,考试类型
解析:设 R 为任一给定关系 ,U 为其所含的全部属性集合 ,X 为 U 的子集 ,若有完全函数依赖 X→ U ,则 X 为 R 的一个候选关键字。作为候选关键字的属性集 X 唯一标识 R 中的元组,但该属性集的任何真子集不 能唯一标识 R 中的元组。显然,一个关系 R 中可能存在多个候选关键字,通常选择其中之一作为主关键字, 即主键。
R 的函数依赖集={学号→(姓名 , 系号) , 系号→ 系名 ,课程号→课程名 ,(学号 ,课程号 ,考试类型)
→成绩} ,故关键字为(学号 ,课程号 ,考试类型) 。

【技巧:确定关键字的第一步先确定函数依赖集 。重点找到关系完全函数依赖 X→ U。最后取所有关键字的 并集 。 】

( 2 )【考点】定义 2.6、定义 2.7
答案: R ∈ 1NF(或第一范式) , 因为存在非主属性对码的部分函数依赖。
解析: 定义 2.6 设 R 为任一给定关系 ,如果 R 中每个列与行的交点处的取值都是不可再分的基本元素, 则 R 为第一范式( 1NF )。
定义 2.7 设 R 为任一给定关系 ,若 R 为 1NF ,且其所有非主属性都完全函数依赖于候选关键字 ,则 R 为 第二范式( 2NF )。
因为存在非主属性“ 系名 ”只依赖于“ 系号 ” ,非主属性“课程名 ”只依赖于“课程号 ” 。即关键码(学 号 ,课程号 ,考试类型)存在部分函数依赖 。故不属于 2NF ,最高属于 1NF。

【技巧总结: 1NF:不含重复组; 2NF ,消除了非主属性对候选键的部分函数依赖; 3NF ,消除了非主属性对候选键的传递函数依赖 。 】

( 3 )【考点】定义 2.6
答案:删除学生选课信息或成绩信息时有可能把学生的基本信息也删除了。
解析:答案不唯一 ,答出一点即可。
1NF 是一个不含重复组的关系 ,1NF 存在着冗余高、插入和删除操作异常等问题 。
比如:
1 )如果 100 个学生都考同一个课程的考试,那么这个课程的信息会被重复记录 100 次,造成大量数据冗余。
2 )若某个学生没有成绩,那么这个学生的基本信息将无法存储到这个关系中去,就会出现插入异常的问题。
3 )删除异常:删除学生选课信息或成绩信息时有可能把学生的基本信息也删除了。

【技巧: 异常一般包括 3种—— 冗余高、插入和删除操作异常 。结合数据依赖答即可 。 】

( 4 )【考点】定义 2.7、定义 2.8
答案:
R1(学号 ,姓名 , 系号)
R2(系号 , 系名) R3(课程号 ,课程名)
R4(学号 ,课程号 ,考试类型 ,成绩)
解析:题干中属于 1NF,需要先规范到 2NF,再规范到 3NF。定义 2.7 设 R 为任一给定关系,若 R 为 1NF, 且其所有非主属性都完全函数依赖于候选关键字 ,则 R 为第二范式( 2NF )。
先将 1NF 先规范为 2NF ,是消除非主属性对候选关键字的部分函数依赖。
R1(学号 ,姓名 , 系号 , 系名) R3(课程号 ,课程名)
R4(学号 ,课程号 ,考试类型 ,成绩) 定义 2.8 设 R 为任一给定关系 ,若 R 为 2NF ,且其每一个非主属 性都不传递函数依赖于候选关键字 ,则 R 为第三范式( 3NF )。
将 2NF 规范为 3NF ,是消除非主属性对候选关键字的传递函数依赖。
R1(学号 ,姓名 , 系号)
R2(系号 , 系名)

【技巧: 1NF→2NF: 消除非主属性对候选关键字的部分函数依赖。 2NF→3NF: 消除非主属性对候选关键字的传递函数依赖 。 】

【延伸知识点】

1.在关系数据库中 , 关系的类型不包括()
A.基本关系 B.查询表 C.视图表 D.数据表

2.关于关系数据结构 ,描述错误的是()
A.表中的列也称作字段 B.每一列具有相同的数据类型
C.在一个数据库中 ,表名必须唯一 D.表和字段可以任意命名

3.下列关系代数操作中 ,要求两个运算对象其属性结构完全相同的是()
A.笛卡儿积、连接 B.投影、选择
C. 自然连接、除法 D.并、交、差

4.在一个关系中 ,如果它不存在由复合属性构成的候选键 ,则该关系的最高范式级别一定属于()
A.1NF B.2NF C.3NF D.BCNF

5.表示关系操作能力的两种方式:代数方式和______________ 。

6.作为一种数据模型 ,关系模型的要素包括: 关系数据结构、关系操作集合和________ 。

7.数据库中,表中的数据是按____________存储的。

8.简述关系数据库有哪些优点?

【延伸知识点答案&解析】

1.【考点】关系( Relation)
答案: D
解析:本题考查关系的 3种类型。
关系的类型:
( 1 )基本关系: 又称为基本表或基表 ,是实际存在的表 ,它是实际存储数据的逻辑表示。
( 2 )查询表: 查询结果对应的表。
( 3 )视图表: 由基本表或其他视图表导出的表 ,是虚表 ,不对应实际存储的数据。
注意: “不包括” ,故本题选 D。

2.【考点】列( Column)
答案: D
解析:表中的列 ,也称作字段或属性 。表中每一列有一个名称 ,称为列名、字段名或属性名 。每一列表示 实体的一个属性 ,具有相同的数据类型 。在一个数据库中 ,表名必须唯一 ;在表中 ,字段名必须唯一 ,不 同表中可以出现相同的字段名;表和字段的命名应尽量有意义 ,并尽量简单。

3.【考点】关系代数
答案: D
解析:假设有两个关系 R1 和 R2 ,R1 和 R2 进行某种运算产生一个新关系 R3。
( 1 )并: R3 是由属于关系 R1 或 R2 的所有不同元组所组成 ,记为 R3=R1∪ R2 。 R1 和 R2 的属性个数
相同 ,且相应属性分别有相同的值域。
( 2 )差:R3 是由属于关系关系 R1,但不属于 R2 的元组组成,记为 R3=R1-R2 。 R1 和 R2 的属性个数
相同 ,且相应属性分别有相同的值域。
( 3 )交: R3 是由既属于关系 R1 , 同时又属于 R2 的元组组成 ,记为 R3=R1∩ R2 。 R1 和 R2 的属性个
数相同 ,且相应属性分别有相同的值域。
( 4 )笛卡尔积:假设 R1为 m 元关系,R2 为 n 元关系。R3 是由 R1和 R2 的所有元组连接而成的具有(m+n)个分量的元组组成。
( 5 )选择 : 在这里插入图片描述,其中 ,F 为条件表达式 ,R 为指定的被运算关系名。
( 6 )投影: πA( R ),其中 ,R 为被运算关系名 ,A 为属性序列。
( 7 )连接:在这里插入图片描述连接运算是选取两个指定关系中的属性满足给定条件的元组连接在一起来组成一个 新关系。
( 8 )除: R÷S ,其中 R 和 S 代表两个不同的关系 。在除运算中 ,若被除关系为 m 元关系 ,除关系为 n 元 关系 ,则运算结果为一个 m-n 元关系。
故只有并、交、差要求了 R1和 R2 的属性个数相同 ,且相应属性分别有相同的值域 ,即两个运算对象其属 性结构完全相同。

4.【考点】定义 2.7
答案: B
解析:定义 2.7 设 R 为任一给定关系,若 R 为 1NF,且其所有非主属性都完全函数依赖于候选关键字 ,则 R 为第二范式 。即消除非主属性对候选关键字的部分函数依赖 ,可理解为如果有哪些非主属性只和主键的 一部分有关的话 ,它就不符合第二范式 。 同时可以得出:如果一个数据表的主键只有单一一个字段的话,
即不存在由复合属性构成的候选键 ,那么就不存在部分函数依赖 ,它就一定符合第二范式(前提是该数据表 符合第一范式)。

5.【考点】关系数据语言的分类
答案: 逻辑方式
解析: 关系操作的能力可以用两种方式来表示:( 1 )代数方式和( 2 )逻辑方式。

6.【考点】关系数据模型
答案: 关系完整性约束
解析:作为一种数据模型 , 关系模型同样包含三个组成要素:
数据模型:
( 1 )数据结构:描述的是系统的静态特性
( 2 )数据操作:描述的是系统的动态特性
( 3 )数据约束:描述数据结构中数据间的语法和语义关联
故关系模型的三个要素: 关系数据结构、关系操作集合和关系完整性约束。

7.【考点】行( Row)
答案: 行
解析:表中的行 ,也称作元组或记录 。表中的数据是按行存储的 。表中的一行数据即为一个元组或一条记 录 ,其每行由若干字段值组成 。每个字段值描述该对象的一个属性或特征。

8.【考点】第一节 关系数据库概述
答案: 关系数据库的优点: 包括高级的非过程语言接 口、较好的数据独立性等 ,为商品化的关系数据库管 理系统的研制做好了技术上的准备。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

润小仙女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值