数据库系统概论习题集 第四章 关系系统及其优化

第四章 关系系统及其优化 

  一、选择题

  1.概念模型是现实世界的第一层抽象,这一类最著名的模型是( ) 。

  A.层次模型 B. 关系模型 C. 网状模型 D. 实体-关系模型

  2.区分不同实体的依据是( ) 。

  A. 名称 B. 属性 C. 对象 D. 概念

  3.关系数据模型是目前最重要的一种数据模型,它的三个要素分别为( )。

  A.实体完整、参照完整、用户自定义完整

  B.数据结构、关系操作、完整性约束

  C.数据增加、数据修改、数据查询

  D.外模式、模式、内模式

  4.在( )中一个结点可以有多个双亲,节点之间可以有多种联系。

  A.网状模型 B. 关系模型

  C.层次模型 D. 以上都有

  5.( )的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,

   也简化了程序员的工作和数据库开发建立的工作。

  A.网状模型 B. 关系模型

  D.层次模型 D. 以上都有

  6.在关系数据库中,要求基本关系中所有的主属性上不能有空值,其遵守的约束规则是( ) 。

  A.数据依赖完整性规则 B. 用户定义完整性规则

  C.实体完整性规则 D. 域完整性规则

    选择题答案:

  (1) D (2) B (3) B (4) A (5) B (6) C

    二、简答题

  1.试述关系模型的三个组成部分。

  答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

   2.试述关系数据语言的特点和分类。

  答:关系数据语言可以分为三类:

   关系代数语言 例如ISBL

   关系演算语言 (元组关系演算语言 例如APLHA,QUEL 和 域关系演算语言 例如QBE)

   具有关系代数和关系演算双重特点的语言 例如SQL

   这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。

    3. 定义并理解下列术语,说明它们之间的联系与区别:

  (1)域,关系,元组,属性

  答: 域:域是一组具有相同数据类型的值的集合。

  关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为

  R(D1,D2,…,Dn)

  元组:关系中的每个元素是关系中的元组。

  属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可

  以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。

  (2)主码,候选码,外部码

  答: 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。

  主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。

  外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreign key),简称外码。

  基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。

  (3)关系模式,关系,关系数据库

  关系模式:关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:

  R(U,D,dom,F)

  其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。

  关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为

  R(D1,D2,…,Dn)

  关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。

  关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

    4.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?

  答: 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。

  其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。

  1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。

  2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必

  

  须为:

  · 或者取空值(F的每个属性值均为空值);

  · 或者等于S中某个元组的主码值。

  3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。

    

  在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。

  例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。

  学生(学号,姓名,性别,专业号,年龄)

  专业(专业号,专业名)

  而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。

  课程(课程号,课程名,学分)

  选修(学号,课程号,成绩)

    5.等值连接与自然连接的区别是什么?

  答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。

  θ为“=”的连接运算称为等值连接。

  它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为:

   R A=B S = { tr ts| tr∈R ∧ ts∈S ∧ tr[A] = ts[B] }

    自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作:

   R S = { tr ts| tr∈R ∧ ts∈S ∧ tr[B] = ts[B] }

posted on 2020-06-09 12:55  江边杨柳小岸桥  阅读(1381)  评论(0编辑  收藏  举报

导航

1