数据库系统概论课后习题答案(第6版)第二章

本文详细阐述了关系模型的三个组成部分:数据结构、操作集合和完整性约束,包括关系数据语言的分类(如SQL)、关键术语如域、主码和外码的定义,以及通过SPJ数据库示例展示关系代数和SQL操作。此外,还讨论了等值连接与自然连接的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章 关系模型

此篇文章作者为:hiki-nazimis
出处: https://hiki-nazimis-organization.gitbook.io/database6th/

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=’红‘ §))
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 语言 :

RANGE   SPJ SPJX 
        P PX 
        S SX 
GET W(J.JNO) :¬∃ SPJX(SPJX.JNO=J.JNO ∧
         ∃ SX(SX.SNO=SPJX.SNO ASX.CITY ='天津∧ 
         ∃ PX(PX.PNO=SPJX.PNO APX.COLOR ='红'

5)求至少用了供应商S1所供应的全部零件的工程号JNO:
关系代数:πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
ALPHA 语言 :

GET W(J.JNO) :∀ PX(∃ SPJX(SPJX.PNO=PX.PNO ∧ SPJX.SNO='S1)
                =>3SPJY(SPJY.JNO=JJNO ASPJY.PNO=PX.PNO))

7. 试述等值连接与自然连接的区别和联系。

连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组;   
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

8.关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?

并、差、笛卡尔积、投影和选择5种运算为基本运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值