数据库第二章课后题(2020.3.2作业)

1.定义并理解下列术语,说明他们之间的联系与区别
(1)域,笛卡尔积,关系,元祖,属性
(2)主码,候选码,外码
(3)关系模式,关系,关系数据库

答:
(1)
域:域是一组具有相同数据类型的值的集合。
例如:正数、全班同学的身高、电脑城所有电脑的型号等都可以是域。一个域允许的不同取值个数称为这个域的基数。

笛卡尔积:给定一组域D1,D2,…,Dn,允许其中某些域是相同的。D1,D2,…,Dn的笛卡尔积为D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。
两个集合的笛卡尔积的基数就是两集合集的基数相乘。笛卡尔积中不能重复。

关系:D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)。
R为关系的名字,n是关系的目或度。n=1称单元关系或一元关系,n=2称二元关系。

元祖:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n0-tuple)或简称元组。

属性:关系也是一个二维表,表的每行对应于一个元组,表的每列对应于一个域。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(attribute)。
n目关系必有n个属性。

(2)
主码:若一个问题有多个候选码,则选定其中一个为主码。
关系模式的所有属性是这个关系模式的候选码,称为全码。

候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。

外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(foreign key),简称外码。基本关系R称为参照关系或目标关系。关系R和S可以是相同的关系。

(3)
关系模式:关系模式是对关系的描述,可以形式化地表示为R(U,D,DOM,F)。R :关系名,U:组成该关系的属性名集合,D:U中属性所来自的域,DOM:属性向域的映象的集合,F:属性间数据的依赖关系的集合。

关系:关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系模式是动态的,会随着时间不断变化。因为关系操作在不断地更新着数据库中的数据。

关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库。
关系数据库的型称也为关系数据库模式,是对关系数据库的描述,它包括若干领域的定义及在这些领域上所定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻所对应的关系的集合,通常称为关系数据库

2.试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?
答:
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
实体完整性规则:若属性(只一个或一种属性)A是基本关系R的主属性,则A不能取空值。
参照完整性规则:若属性(或属性组)F 是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S 不一定是不同的关系),则对于R中每个元组在F上的值必须或者取空值(F 的每个属性值均为空值),或者等于S中某个元组的主码值。
用户定义完整性:是针对某一具体关系数据库的约束条件。它反映某一具体应用涉及的数据所必须满足的主义要求。
参照完整性中,外部码属性值可以为空,表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。
例如,在下面的“水果”表中,“销售价格”是一个外部码,不是“水果”的主属性,可以为空,代表该水果的销售价格未定。(以斜体代替下换线)
水果(名字,颜色,主要产地,销售价格)
水果店(水果编号,进货价格,销售价格)
而在下面的“商品”表中,“库房编号”虽然也是一个外部码,但它又是“库房”的主属性,所以其值不能为空。因为关系模型必须满足实体完整性。
商品(商品代码,库房编号,价格)
库房(库房编号,库房温度)

3.设有一个SPJ数据库,包括S、P、」及SPJ4个关系模式:
S(SNO,SNAME,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)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为 QTY。
今有若干数据如下:

在这里插入图片描述
试用关系代数:
(1)求供应工程J1零件的供应商号码SNO;
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件为红色的供应商号码 SNO;
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

答:
在这里插入图片描述
注:这里第四问审题错误,一开始以为条件为两个,“非天津”和“红色”,实际上是“非天津的红色”。

4. 关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?
答:
关系代数的基本运算有并、差、笛卡尔积、投影和选择这五种。其他运算有交、连接和除,这些运算均可以用基本运算来表示。

发布了4 篇原创文章 · 获赞 4 · 访问量 1537

猜你喜欢

转载自blog.csdn.net/MooM_X/article/details/104617066