数据库作业3:第二章课后题(关系数据库及相关概念)

一、定义并理解下列术语,说明它们之间的联系和区别

1.域,笛卡尔积,关系,元组,属性

2.候选码,主码,外部码

3.关系模式,关系,关系数据库

1.(1):一种具有相同数据类型的值的集合。
(2)笛卡尔积:给定一组域D1,D2,…,Dn,这些域可以是相同的D域。这组域的笛卡尔积为
1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
(3)关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)
(4)元组:关系中的每个元素是关系中的元组。笛卡尔集中的每个一个元素(dl,d2,…, dn)称为一个n元组或简称为元组(Tuple),元素中的每一个值di叫做一个分量(Component)。
(5)属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。

2.(1)候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。
(2)主码:若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。
(3)外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码K相对应,则称F是基本关系R的外部码(Foreignkey),简称外码。基本关系尺称为参照关系(Referencingrelation),基本关系S称为被参照关系(Referencedrelation)或目标关系(Tatgetrelation)。关系R和S可以是相同的关系。

3.(1)关系模式:关系的描述称为关系模式(RelationSchema)。它可以形式化地表示为R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
(2)关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的;而关系是动态的、随时间不断变化的,因为关系操作在不断更新着数据库中的数据。
(3)关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

二、试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?

答:

  • 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
    (1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。.
    (2)参照完整性规则:若属性(或属性组) F是基本关系R的外码,它与基本关系S
    的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F.上的值
    必须为下面二者之一:
    ●或者取空值(F的每个属性值均为空值);
    ●或者等于S中某个元组的主码值。
    (3)用户定义的完整性:针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。

  • 项目在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。
    例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。
    学生(学号,姓名,性别,专业号,年龄)
    专业(专业号,专业名)
    而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。
    课程(课程号,课程名,学分)
    选修(学号,课程号,成绩)

三、设有一个SPJ数据库,包括S、P、J及SPJ4个关系模式:

S(SNO,SBAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY).

供应商表S由供应商代码(SNO),供应商姓名(SNAME),供应商状态(STATUS),供应商所在城市组成(CITY)。

零件表P由零件代码(PNO),零件名(PNAME),颜色(COLOR),重量(WEIGHT)组成。

工程项目表(JNO),工程项目名(JNAME),工程项目所在城市(CITY)组成。

供应情况表SPJ由供应商代码(SNO),供应商姓名(SNAME),供应商状态(STATUS),供应数量(QTY),表示某供应商供应某种零件给某工程项目的数量为QTY。

今有若干数

数据库作业3:第二章课后题(关系数据库及相关概念)_第1张图片

1)求供应工程J1零件的供应商号码SNO:

πSno(σSno=‘J1’(SPJ))

2)求供应工程J1零件P1的供应商号码SNO:

πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))

3)求供应工程J1零件为红色的供应商号码SNO:

πSno(σPno=‘P1‘(σCOLOR=’红‘ (P)∞SPJ))

4)求没有使用天津供应商生产的红色零件的工程号JNO:

πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)

5)求至少用了供应商S1所供应的全部零件的工程号JNO:

πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))

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

答:并、差、笛卡尔积、 投影和选择5种运算为基本的运算,其他3种运算,即交、连接和除,均可以用这5种基本运算来 表达。
交: R∩S=R-(R-S) 或 R∩S=S-(S-R)
连接: = AθB(R×S) = A=B(R×S) R∞S=∏ ( R.B=S.B(R×S))
除: R÷S =∏X®-∏X(∏X®×∏Y(S)-R)

你可能感兴趣的:(数据库作业3:第二章课后题(关系数据库及相关概念))