第二章
1.试述关系模型的三个组成部分。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2.简述关系数据语言的特点和分类。
关系数据语言可以分为三类:
关系代数语言
关系演算语言:元组关系演算语言和域关系演算语言。
结构化查询语言(SQL): 具有关系代数和关系演算双重特点的语言。
3.定义并理解下列术语,说明它们之间的联系与区别:
1)域,笛卡儿积,关系,元组,属性;
2)主码,全码,候选码,外码,主属、非主属性;
3)关系模式,关系,关系数据库
第一问
域:一组具有相同数据类型的值的集合。
笛卡儿积:是域上的一种集合运算
关系:D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)
元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)
属性:关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(Attribute)
第二问
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)
全码:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
外码:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码
主属性:候选码的诸属性称为主属性(Prime attribute)
非主属性:不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute)或非码属性(Non-key attribute)
第三问
关系模式:关系模式是对关系的描述
关系:D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)
关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库
4.举例说明关系模式和关系的区别。
关系模式是型;关系是值,是关系模式的实例。
5.试述关系模型的完整性约束。在参照完整性中,什么情况下外码属性的值可以为空值?
关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系模型的完整性规则是对关系的某种约束条件。
实体完整性规则:是指若属性A 是基本关系R 的主属性,则属性 A 不能取空值。
参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)
用户定义的完整性:是针对某一具体关系数据库的约束条件。它反映某一具体应用所设计的数据必须满足的语义要求。
在参照完整性中,如果外码属性不是其所在关系的主属性,则可以取空值,否则不能取空值。
6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO
关系代数:πSNO(σJNO=‘J1’(SPJ))
ALPHA语言:
GET W(SPJ.SNO): SPJ.JNO='J1'
2)求供应工程J1零件P1的供应商号码SNO:
关系代数:πSNO(σJNO=‘J1’∧PNO=‘P1‘(SPJ))
ALPHA语言:
GET W(SPJ.SNO):SPJ.JNO='J1'∧SPJ.PNO=‘P1‘
3)求供应工程J1零件为红色的供应商号码SNO:
关系代数:πSNO(πSNO,PNO(σJNO=‘J1‘ (SPJ))⋈
πPNO(σCOLOR=’红‘ (P)))
ALPHA语言:
RANGE P PX
GET W(SPJ.SNO) :SPJ.JNO='J]'A3PX(PX.COLOR='红'APX.PNO=SPJ.PNO)
4)求没有使用天津供应商生产的红色零件的工程号JNO:
关系代数:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S⋈
SPJ⋈
P)
ALPHA 语言 :
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
关系代数:πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
ALPHA 语言 :
7.试述等值连接与自然连接的区别和联系。
连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组;
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
8.关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?
并、差、笛卡尔积、投影和选择5种运算为基本运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
最后更新于