第2章习题解1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题

一、单项选择题

1.A 2.C 3.B 4.C 5.A 6.B 7.B 8.B 9.C 10.C

二、填空

1、关系中主码的取值必须惟一且非空,这条规则是实体完整性规则。

2、关系代数中专门的关系运算包括:选择、投影、连接和除法,主要实现查询类操作。

3、关系数据库的关系演算语言是以谓词演算为基础的DML语言。

4、关系数据库中,关系称为表,元组亦称为行,属性亦称为列。

5、数据库描述语言的作用是定义数据库。

6、一个关系模式可以形式化地表示为R(U,D,dom,F)。

7、关系数据库操作的特点是一次一集合式操作。

8.数据库的所有关系模式的集合构成关系数据库模型,所有的关系集合构成关系数据库。

9、在关系数据模型中,两个关系R1与R2之间存在1:m的联系,可以通过在一个关系R2中的

外键或外码或外部关键字在相关联的另一个关系R1中检索相对应的记录。

10、将两个关系中满足一定条件的元组连接到一起构成新表的操作称为θ-连接操作。

三、简单、计算或查询

1、试述关系模型的三要素内容。

解:

(1)关系模型的数据结构——关系

关系模型的数据结构:非常单一,在用户看来,关系模型中数据的逻辑结构是一张二维表。但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系。

(2)关系模型的关系操作:关系模型给出了关系操作的能力,它利用基于数学的方法来表达关系操作,关系模型给出的关系操作往往不针对具体的RDBMS语言来表述。

关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作和添加(insert)、删除(delete)、修改(update)等更新操作两大部分。查询的表达能力是其中最主要的部分。

早期的关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。关系代数是用对关系的运算(即元组的集合运行)来表达查询要求的方式。关系演算是用谓词来表达查询要求的方式。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关系演算和域关系演算三种语言在表达功能上是等价的。

另外还有一种介于关系代数和关系演算之间的语言SQL(Structured Query Language)。SQL不但具有丰富的查询功能,而且具有数据定义、数据操纵和数据控制功能,是集查询、DDL、DML、DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的国际标准语言。因此,关系数据语言可以分成三类:

1) 关系代数:用对关系的集合运算表达查询要求,例如 ISBL。

2) 关系演算:用谓词表达查询要求,可分为两类:①元组关系演算:谓词变元的基本对象是元组变量,例如 APLHA、QUEL;②域关系演算:谓词变元的基本对象是域变量,例如QBE。

3) 关系数据语言,例如SQL。

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

(3)关系模型的三类完整性约束:关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户自定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的

完整性约束条件,应该由关系系统自动支持。用户自定义的完整性是应用领域特殊要求而需要遵循的约束条件,体现了具体领域中的语义约束。

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

解:见上题“2)关系模型的关系操作”。

3、定义并理解下列概念,说明它们间的联系与区别:

(1)域、笛卡尔积、关系、元组、属性

(2)主码、候选码、外码

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

解:

(1)域、笛卡尔积、关系、元组、属性

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

2)笛卡尔积:给定一组域D

1、D

2

、…、D

n

(这些域中可以包含相同的元素,即可以完全不同,也可

以部分或全部相同), D

1、D

2

、…、D

n

的笛卡尔积为

D 1×D

2

×…×D

n

={(d

1

,d

2

,…,d

n

)|d

i

∈D

i

,i=1,2,…,n}

3)关系(Relation):D

1×D

2

×…×D

n

的任一子集叫作在域D

1

,D

2

,…D

n

上的关系,用

R(D

1,D

2

,…D

n

)表示。

关系是笛卡尔积的子集,反过来说,看到某关系,也要看到该关系背后存在的其所属于的笛卡尔积,

关系内容无论如何变都变化不出其所属于的笛卡尔积的,这是笛卡尔积概念的意义所在。

4)表的每行对应一个元组。

5)表的每列起一个唯一的名字,称为属性。

联系:

关系是笛卡尔积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个唯一的名字,称为属性。

(2)主码、候选码、外码

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

2)主码:一个关系至少有一个候选码,则选定其中一个为主控使用者,称为主码(Primary key)。

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

联系:

关系的候选码中选定一个称为主码,主码即是候选码;而外码是与另一关系的主码相对应的属性组。

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

关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述,一个关系模式应当是一个5元组。

1)关系模式:关系的描述称为关系模式(Relation Schema)。一个关系模式应当是一个五元组。它可以形式化地表示为:R(U, D, dom, F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域的集合,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。

2)关系:关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。

3)关系数据库:在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,所有实体及实体之间的联系的关系的集合构成一个关系数据库。

相关文档
最新文档