第2章 关系数据库
1 .试述关系模型的三个组成部分。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2 .试述关系数据语言的特点和分类。
关系数据语言可以分为三类:
关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL :具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3 .(略)
4 .(略)
5 . 述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
实体完整性规则是指若属性A 是基本关系R 的主属性,则属性A 不能取空值。
若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码Ks 相对应(基本关系R 和S 不一定是不同的关系) ,则对于R 中每个元组在F 上的值必须为:或者取空值(F的每个属性值均为空值) ;或者等于S 中某个元组的主码值。即属性F 本身不是主属性,则可以取空值,否则不能取空值。
6.设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:
1)求供应工程J1零件的供应商号码SNO :
πSno (σJno=‘J1’(SPJ ))
2)求供应工程J1零件P1的供应商号码SNO :
πSno (σJno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO :
πSno (πSno,Pno (σJno=‘J1‘ (SPJ))∞πPno (σCOLOR=’红‘ (P )))
4)求没有使用天津供应商生产的红色零件的工程号JNO :
πJno (SPJ)- πJNO (σcity=‘天津’∧Color=‘红‘ (S ∞SPJ ∞P ))
5)求至少用了供应商S1所供应的全部零件的工程号JNO :
πJno ,Pno (SPJ)÷ πPno (σSno=‘S1‘ (SPJ ))
7. 试述等值连接与自然连接的区别和联系。
连接运算符是“=”的连接运算称为等值连接。它是从关系R 与S 的广义笛卡尔积中选取A ,B 属性值相等的那些元组
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
8.关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?
并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。