作业
- 常用的关系查询操作包括选择、投影、连接、并、交等。 v
- 实体完整性是指关系表的属性组成必须是完整的。 x
- 自然连接是一种等值连接。 v
- 在参照完整性中,可以定义级联操作。 v
- 用户自定义完整性可以实施数据的业务约束。 v
- 每个关系是一个二维表,但二维表不一定是关系。 v
- 关系中复合键至少包含两个属性。 v
- 代理键是为了唯一标识关系的不同元组,需要在表单或报表中显示出来。 x
- 关系表不允许有相同属性列 v
- 每个关系表都有多个候选键。 x
8.代理键是指在关系型数据库设计中,当资料表中的候选键都不适合当主键时,例如资料太长,或是意义层面太多,就会用一个attribute来当代理主键,此主键可能是用流水号,来代替可辨识唯一值的主键。
10.在关系模型中,候选键又称候选码(英语:candidate key),是某个关系变量的一组属性所组成的集合,它需要同时满足下列两个条件:
1.这个属性集合始终能够确保在关系中能唯一标识元组。
2.在这个属性集合中找不出合适的真子集能够满足条件。
满足第一个条件的属性集合称为超键,因此我们也可以把候选键定义为"最小超键",即不含有多余属性的超键。
1.在关系表中,下面哪个项不是关系特征? C
表中行可任意顺序
表中列可任意顺序
表中单元格可存放多个值
表中不允许有重复行存在
2.在关系模型中,关系表的复合键可由 B
至多一个属性组成
多个属性组成
一个或多个属性组成
候选键组成
3.下面哪项不是主键的作用? D
标识关系表中的不同元组
作为关联表的关联属性列
可通过主键列的索引快速检索行数据
标识关系表中的不同列
4.在关系表中,主键数据最好采用什么数据类型? C
字符串
整型
序列
数值
5.在关系表的实体完整性约束中,不允许主键列值出现下面哪种情况? A
空值
字符串
数字值
序列值
6.参照完整性是用来确保关系之间关联列的 A
数据一致性
数据正确性
数据完整性
以上都不是
7.关系模型不包含什么部分 B
数据结构
算法
操作方式
数据约束
8.专门的关系运算不包含如下哪个? D
插入
修改
删除
笛卡尔积
9.下面哪种连接要求组合两个关系的匹配元组而形成查询结果集? A
内连接
左外连接
右外连接
全外连接
10.用户自定义完整性约束可以是? D
属性缺省值
属性取值唯一性
属性取值范围
以上都可以
三、本章重点问题讨论
答案非标准答案,仅供参考
1.关系模型由哪几个部分组成?其工作原理是什么?
关系模型由数据结构、数据约束以及数据操作组成。
数据结构:采用具有关系特征的二维表数据结构来组织存储数据;
操作方式:对关系表的数据操作是按照集合关系运算方式来进行的;
数据约束:包括实体完整性约束、参照完整性约束、用户自定义完整性约束。
其中前两个约束是关系模型必须满足的限制条件,由关系数据库DBMS默认支持。
用户自定义完整性约束是应用领域数据需遵循的业务规则,由具体业务的规则进行限定。
关系模型:一种基于二维表结构存储数据实体以及实体间联系的数据模型。
工作原理:关系模型的基本原理是信息原理:所有信息都表示为关系中的数据值。
所以,关系变量在设计时刻是相互无关联的;
反而,设计者在多个关系变量中使用相同的域,如果一个属性依赖于另一个属性,则通过参照完整性来强制这种依赖性。
2.在关系模型中,对关系有哪些数据操作方式?
专门关系操作(选择、投影、连接、查询、插入、更新、删除)
集合运算操作(并、交、差、除、笛卡尔积等)
3.如何理解关系数据查询的选择运算操作、投影运算操作、连接运算操作?
三者都是对关系表列进行的操作。
选择运算:从关系表中选择出满足给定条件的元组集;
投影运算:从关系表中选择出部分属性列组合成一个新的关系;
连接运算:包括θ运算、自然连接和外连接。它们是从两个关系的笛卡尔积中选取属性间满足一定条件的元组集合,然后组成新的关系。
4.关系之间的θ连接操作与自然连接操作有何区别?
θ连接:从R和S的笛卡尔积中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系θ的元组集合,然后组成新的关系,
其中,A和B分别为关系R和S上的度数相等且具有可以比较的属性组,
θ为比较运算符
当θ为“=”时,θ运算又称为等值连接运算;
自然连接:一种特殊的等值连接运算,
它要求两个关系中进行比较的分量必须是相同的属性组,并且还要在结果集中把重复的属性列去掉。
θ连接运算是从关系表的行角度进行运算;而自然连接运算还消除了重复列,所以自然连接是同时从行和列的角度进行运算。
5.关系之间的左外连接、右外连接、全外连接有何区别?
内连接的运算操作结果集是两个关系中相匹配的元组组合而成。
外连接是内连接运算的扩展,可以在内连接操作结果集的基础上,通过扩展关系中未匹配属性值得对应元组而形成最终结果集。
左外连接:针对与左侧关系不匹配的右侧关系元组,用空值(NULL)填充所有来自右侧关系的属性列,再把产生的连接元祖添加到自然连接的结果集中;
右外连接:针对与右侧关系不匹配的左侧关系元组,用空值(NULL)填充所有来自左侧关系的属性列,再把产生的连接元祖添加到自然连接的结果集中;
全外连接:同时完成左外连接和右外连接,既使用空值(NULL)填充左侧关系中与右侧关系的不匹配元祖,又使用空值(NULL)填充右侧关系终于左侧关系的不匹配元祖,再把产生的连接元祖添加到自然连接的结果集中。
6.如何理解关系模型的实体完整性和参照完整性?
实体完整性:关系表中实施的主键约束,以保证关系表中每个元组可标识。
约束规则为主键属性列都不允许有空值(NULL),主键取值应该唯一。
参照完整性:关系之间的联系需要遵守的约束,以保证关系之间关联列的数据一致性。
约束规则为,若属性(或属性组)F在关系R中作为外键,它与关系S的主键K相关联,则对R中的每个元组,在F属性列的取值应与关系S中的主键值匹配。
7.针对下关系表,如何定义该关系中的列约束?
实体完整性约束:StudentID属性为主键,其列不允许有空值(NULL)且取值唯一不可重复;
参照完整性约束:只有一个表不存在参照完整性;
用户自定义完整性约束:Score属性列单元格中数值是范围在0~100的整数或者空值(NULL),
StudentId列单元格中是十位数字,不允许输入其他数据。