1. 试述关系模型的三个组成部分。
关系数据结构:关系,即二维表。
关系操作集合:查询(选择、投影、并、差、笛卡尔积、连接等)操作 + 插入删除修改操作。
关系完整性约束:实体完整性、参照完整性、用户定义的完整性。
3. 定义并解释下列术语,说明它们之间的联系与区别:
(1) 域:一组具有相同数据结构的值的集合。
笛卡尔积:域上的一组集合运算。
关系:D1×D2×...×Dn的子集叫做在域D1, D2, ..., Dn上的关系,表示为R(D1, D2, ..., Dn)。
元组:设笛卡尔积为D1×D2×...×Dn = {(d1, d2, ..., dn)|di∈Di, i=1,2,...,n },每个元素(d1, d2, ..., dn) 叫做一个n元组,简称元组。
属性:二维表每一列的名字。
(2) 主码:若一个关系有多个候选码,则选定其中一个为主码。
候选码:某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码。
(3) 关系模式:关系的描述称作关系模式,它可以形式化地表示为: R(U,D,dom,F, I),通常可以简记作R(A1 , A2 ,..., An ).
关系:是关系模式在某一时刻的状态或内容。
关系数据库:关系模式的集合构成关系数据库模式的型; 关系的集合则构成具体的关系数据库的值。
5. 试述关系模型的完整性规则。在参考完整性中,什么情况下外码属性的值可以为空值?
实体完整性:若属性(指一个或一组属性) A是基本关系R的主属性,则A不能取空值(null value)。
参照完整性:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
用户定义的完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
6. 试用关系代数完成如下查询,并用元组关系演算完成查询(1)(2)(3)。
(1) ∏SNO(σJNO='J1'(SPJ)) ; {t(1)|SPJ(t) ∧t[3]=‘J1’ };
(2) ∏SNO(σJNO='J1'(SPJ) ⋈ (σPNO='P1'(SPJ)) ; {t(1)|SPJ(t) ∧t[2]=‘P1’∧t[3]=‘J1’ };
(3) ∏SNO(σJNO='J1'(SPJ) ⋈ P ⋈ σCOLOR='红''J1'(P)); {t(1)|SPJ(t) ∧t[3]=‘J1’ ∧ P(y) ∧ y[3]='红' ∧ y[1]=t[2]};
8. 关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?
常规:并、差、交、笛卡尔积;
特有:选择(限制)、投影、连接、自然连接、除运算。
经过安全约束后的三类关系运算(关系代数表达式、安全元组演算表达式、安全域演算表达式)的表达能力是等价的,可以相互转换。
PPT知识点
关系模型的基本概念
– 关系模型的三要素:关系数据结构、关系操作集合、关系完整性约束
关系代数
– 从数学角度,基本关系代数运算有5种:并、差、乘、选择、投影
– 从数据库角度,核心的关系代数运算为:选择、投影、连接(或自然连接)