数据库原理作业参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理作业参考答
案
内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)
《数据库原理》作业参考答案2
第二次(P80)
1.试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性三部分组成。
2.述关系数据语言的特点和分类。
答:特点:1)集合操作方式;
2)高度非过程化;
3)集查询、DDL、DML、DCL于一体
分类:关系数据语言可以分为三类:关系代数语言、关系演算语言、SQL;其中关系演算语言又可分为:元组关系演算语言和域关系演算语言。
3.定义并理解下列术语,说明它们之间的联系与区别。
(1)域,笛卡尔积,关系,元组,属性
(2)主码,候选码,外部码
(3)关系模式,关系,关系数据库
答:(1)域:一组具有相同数据类型的值的集合;
笛卡尔积:建立在一组域D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×D n = {(d1 , d2 , … , d n) | d i∈D i , i=1,…,n}关系:笛卡尔积D1×D2×…×D n的有限子集;
元组:笛卡尔积的每个元素(d1 , d2 , … , d n)称作一个n-元组(n-tuple),简称元组(Tuple);
属性:关系的每一列对应一个域,给每列起一个名字,称为属性(Attribute)。
(2)主码:若关系中的某一属性组的值能够唯一地标识一个元组,则称该属性组为候选码(Candidate Key),主码是从候选码中选定的一个码(Primary Key);
候选码:若关系中的某一属性组的值能够唯一地标识一个元组,则称该属性组为候选码(Candidate Key);
外部码:F是关系R的一组属性,但不是关系R的码,如果F与关系S的主码K 相对应,则称F是关系R的外部码(Foreign Key)。
(3)关系模式:是对关系的型的描述,说明关系由哪些属性组成,这些属性来自于哪些域,以及属性与域的映象。形式化表示为:R(U,D,dom,F),简记为:
R(U);
关系:关系可以理解为关系模式在某一时刻的状态或内容;
关系数据库:关系数据库即实体关系和实体之间联系的关系的集合。4.述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
答:关系模型中可以有三类完整性约束:实体完整性、参照完整性、用户自定义完整性。
实体完整性规则:若属性A是关系R的主属性,则属性A不能取空值;
参照完整性规则:若属性F是关系R的外码,它与关系S的主码K对应,则R中每个元组在F上的取值必须:或者为空值,或者等于S中某个元组的主码值。用户自定义完整性:能够反映语义的,用户自己定义的约束条件。
空值反映了现实中该值的无意义或不知道,在一些情况下,尽管被参照关系的主码值确定,但参照关系中在外码属性上的值不知道,此时外码属性上的取值可以为空。外部码属性的值为空,说明外码属性的值不知道。
5.一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
试用关系代数完成如下查询:
(1)求供应工程J1零件的供应商号码SNO;
答:πSNO(σJNO=’J1’(SPJ))
(2)求供应工程J1零件P1的供应商号码SNO;
答:πSNO(σJNO=’J1’ ∧PNO=’P1’(SPJ))
(3)求供应工程J1零件为红色的供应商号码SNO;
答:πSNO(σJNO=’J1’ ∧COLOR=’红’(SPJ∞P))
或πSNO(σJNO=’J1’ ∧COLOR=’红’ ∧ SPJ.PNO=P.PNO(SPJ×P))
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
答:πJNO(J)-πJNO(σCOLOR=’红’(P∞(σCITY=’天津’(SPJ∞S))))(5)求至少用了供应商S1所供应的全部零件的工程号JNO.
答:πJNO,PNO(SPJ) ÷πPNO(σSNO=’S1’(SPJ))
6.述等值连接与自然连接的区别和联系。
答:从两个关系的广义笛卡儿积中选取给定属性间满足一定条件的元组,称为θ连接;当连接符θ为等号时,称为等值连接。从两个关系的广义笛卡儿积中选取在相同属性列上取值相等的元组,并去掉重复的列,称为自然连接。
自然连接与等值连接的区别:自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性,而等值连接则不必。
自然连接与等值连接的联系:自然连接是等值连接的特殊处理,当R与S无相同属性时,R∞S = R×S。
7.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?
答:关系代数基本运算有:选择、投影、更名、笛卡儿积、并、差,其中选择、投影、更名为一元运算,笛卡儿积、并、差为多元运算。
关系代数其他运算有:集合交、自然连接、除、赋值,用基本运算表示其他运算如下:R∩S = R - (R - S)
R∞S =σR[A]=S[A](R×S)
R÷S =πX (R)-πX(πX(R)×πY(S)-R)