Chap2 习题解答
1. 试述关系模型的三个组成部分。
- 关系数据结构
- 关系操作集合
- 关系完整性约束
2. 简述关系数据语言的特点和分类。
- 关系数据语言可以分为三类:
- 关系代数语言
- 关系演算语言:元组关系演算语言和域关系演算语言
- SQL:具有关系代数和关系演算双重特点的语言
- 这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3. 定义并理解下列术语,说明它们之间的联系与区别:
- (1)域,笛卡尔积,关系,元组,属性:
- 域是一种相同类型的集合。笛卡尔积是域上的一种集合运算。因为笛卡尔积在现实生活中的应用不大,所以使用笛卡尔积的子集会更好,它被称为关系。关系上的每个元素叫元组。关系表中每个行对应一个元组,一个域对应一个列,因为关系表中不同的列可以来自同一个域,所以为了加以区分,给每个列取了一个名字就叫属性。
- (2)主码,候选码,外码:
- 可以唯一标识一个元组的叫候选码。人为选择的候选码叫主码。关系模式 R R R 中属性或属性组 X X X 并非 R R R 的候选码,但 X X X 是另一个关系模式的候选码,且 X X X 与 R R R 的主码对应,则称 X X X 是 R R R 的外码。
- (3)关系模式,关系,关系数据库:
- 关系的描述称为关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就被称为关系数据库。
4. 举例说明关系模式和关系的区别。
- 关系模式和关系的区别如下:
- 关系模式是静态的,关系是动态的。
- 关系模式为我们看到的一张二维表的表头,即有哪些列构成,每个列的名称,类型长度等等。
- 关系为一张二维表的具体内容,就是除了标题行以外的数据行,因为表数据经常被修改、插入、删除,所以不同时刻,关系可能不一样。
5. 试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?
- 完整性规则:
- 实体完整性:若 A A A 是关系 R ( U ) R(U) R(U) 中的主属性,则属性 A A A 不能为空值。
- 参照完整性:属性(属性组) F F