第2章 关系数据库
-
试述关系模型的三个组成部分
关系数据结构、关系操作集合、关系完整性约束 -
定义并理解下列术语,说明他们之间的联系与区别
域:一组具有相同数据类型的值的集合
笛卡尔积:参与运算的每个域中取一个元组进行拼接
关系:用R(D1,D2,D3,……,Dn)表示,简单来说就是一个表,是笛卡尔积的有限子集
元组:在先前的定义当中,表中一行表示一个元组,域中的一个元素(d1,d2,d3,……,dn)表示一个n元组理解为。域中一个元素表示n行的一列,即n元组
属性:表中一列表示一个属性,这个列来源于域中的一个值(元素)
主码:关系中的某一属性组的值能够唯一地表示一个元组,而其子集不能,则称该属性组为候选码,若一个关系有多个候选码,则选定其中一个为主码
外码:A关系中的a属性为B关系中的主码,则a属性为A关系的外码,A关系为参照关系,B关系为被参照关系
关系模式:关系的描述称为关系模式,形式化地表示为R(U,D,DOM,F),不太懂,定义了关系的框架那种?
关系数据库:所有关系的集合构成一个关系数据库
关系模式就是关系的一种抽象表示?形式化表示?框架? -
试述关系模型的完整性规则,在参照完整性中,什么情况下外码属性的值可以为空值?
实体完整性规则:若属性A是基本关系R的主属性 ,则属性A不能取空值
什么是空值?“不知道”“不存在”“无意义”?如何表示,增加一个属性用“0”,“1”标注是否为空
参照完整性规则:关系中的元组在外码上的值或者为空,或者为外码在另一关系中的值(看书理解)
什么情况下外码属性的值可以为空值?
有人说是根据应用场合区分,最开始也是这么理解,后来觉得应该不是,既然是规则中的,肯定是有科学的或者逻辑性的解释
私以为:当关系中的主码也是关系中的外码时,不能取空值,即保证实体完整性(只是看了书上的例子分析的,还没有具体验证过,欢迎指正) -
设有一个spj数据库,包括spj和spj四种关系模式(题目在p70),试用关系代数完成如下查询
-
试述等值连接和自然连接的区别和联系
等值连接值相同求连接,自然连接会去掉重复行?