综合题35章Word下载.docx
《综合题35章Word下载.docx》由会员分享,可在线阅读,更多相关《综合题35章Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
(3)删除索引ITS。
第二题答案:
(1)
USETS
INDEXONBNOTOITS
(2)
SELECTPUB,COUNT(BNO)
FR0MTS
GROUPBYPUB
(3)
DELETEFILEITS.IDX
3.已知学生表S和学生选课表SC。
其关系模式如下:
S(SNO,SN,SD,PROV)
SC(SN0,CN,GR)
其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。
试用SQL语言实现下列操作:
(1)查询“信息系”的学生来自哪些省区。
(2)按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。
第三题答案:
SLEECTDISTINCTPROV
FROMS
WHERESD=“信息系”
SELECTSN,GR
FROMS,SC
WHERESD=“英语系”ANDCN=“计算机”ANDS.SNO=SC.SNO
ORDERBYGRDESC
4.设有关系模式:
SB(SN,SNAME,CITY)
其中,S表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。
PB(PN,PNAME,COLOR,WEIGHT)
其中P表示零件,PN则为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。
JB(JN.JNAME,CITY)
其中,J表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主关键字为JN。
SNB(SN,PN,JN,CITY)
其中,SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。
写出实现以下各题功能的SQL语句:
(1)取出所有工程的全部细节;
(2)取出所在城市为上海的所有工程的全部细节;
(3)取出重量最轻的零件代号;
(4)取出为工程J1提供零件的供应商代号;
(5)取出为工程J1提供零件P1的供应商代号;
(6)取出由供应商S1提供零件的工程名称;
(7)取出供应商S1提供的零件的颜色;
(8)取出为工程J1或J2提供零件的供应商代号;
(9)取出为工程J1提供红色零件的供应商代号;
(10)取出为所在城市为上海的工程提供零件的供应商代号;
(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;
(12)取出供应商与工程所在城市相同的供应商提供的零件代号;
(13)取出上海的供应商提供给上海的任一工程的零件的代号;
(14)取出至少由一个和工程不在同一城市的供应商提供零件的工程代号;
(15)取出上海供应商不提供任何零件的工程的代号;
(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;
(17)取出由供应商s1提供零件的工程的代号;
(18)取出所有这样的一些二元组,使得第1个城市的供应商为第2个城市的工程提供零件;
(19)取出所有这样的三元组,使得第1个城市的供应商为第2个城市的工程提供指定的零件;
(20)重复(19)题,但不检索两个CITY值相同的三元组;
第四题答案:
5.在本章所定义的学生数据库(S,C,SC)中用SQL做如下之操作:
(1)查询系为计算机的学生学号与姓名;
(2)查询计算机系所开课程之课程号与课程名;
(3)查询知道修读一门OS的学生姓名;
(4)查询每个学生已选修课程门数和总平均成绩;
(5)查询所有课程的成绩都在80分以上的学生姓名、学号并按学号顺序排列;
(6)删除在S,SC中所有S#以'
91'
开头的元组。
第四章综合题
1.设数据库中有三个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
用户有一查询语句:
检索不学“数据库”课程的学生姓名和年龄。
(1)试写出该查询的关系代数表达式。
(2)试写出查询优化的关系代数表达式。
(3)画出该查询初始的关系代数表达式的语法树。
(4)使用优化算法,对语法树进行优化,并画出优化后的语法树。
2.
3.窗体底端
2.已知一个关系数据库得模式如小:
S(SNO,SNAME,SCITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,JCITY)
SPJ(SNO,PNO,JNO,QTY)
其中,S表示供应商,它得各属性依次为供应商号、供应商名和供应商所在城市;
P表示零件,它得各属性依次为零件号、零件名、零件颜色和零件重量;
J表示工程,它得各属性依次为工程号、工程名和工程所在城市;
SPJ表示供货关系,它得各属性依次为供应商号、零件号、工程号和供货数量。
检索使用上海供应商生产得红色零件得工程号。
(1)试写出该查询得关系代数表达式。
(2)试写出查询优化得关系代数表达式。
(3)画出该查询初始得代数表达式得语法树。
(4)使用优化算法,对语法树进行优化,并画出优化后得语法树。
第五章综合题
1.分析关系模式:
STUDENT(学号,姓名,出生日期,系名,班号,宿舍区),指出其候选关键字,最小依赖集和存在的传递函数依赖。
经分析有:
候选关键字:
学号(每个学生只有惟一的学号)
最小依赖集:
{学号→姓名,学号→出生日期,学号→班号,系名→宿舍区,班号→系名}
存在传递函数依赖:
学号→系名→宿舍区,∴有学号
宿舍区;
班号→系名→宿舍区,∴有班号
2.设有关系模式R(U,F),其中:
U={A,B,C,D,E,P},F={A→B,C→P,E→A,CE→D}
求出R的所有候选关键字。
根据候选关键字的定义:
如果函数依赖X→U在R上成立,且不存在任何X'
X,使得X'
→U也成立,则称X是R的一个候选关键字。
由此可知,候选关键字只可能由A,C,E组成,但有E→A,所以组成候选关键字的属性可能是CE。
3.设有关系模式R(C,T,S,N,G),其上的函数依赖集:
F={C→T,CS→G,S→N}
根据候选关键字的定义,R的候选关键字只可能由F中各个函数依赖的右边属性组成,即C、S,由于单独的C或S不能导出N或T成立,所以组成候选关键字的属性CS。
4.设有关系模式R(U,F),其中:
U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,DC→A}
(1)求出R的候选关键字。
(2)判断ρ={AB,AE,CE,BCD,AC}是否为无损连接分解?
(1)根据候选关键字定义,CE是R的候选关键字。
(2)不具有无损连接性。
5.设有关系模式R(U,F),其中:
U={A,B,C,D},F={A→B,B→C,D→B),把R分解成DCNF模式集:
(1)如果首先把R分解成{ACD,BD},试求F在这两个模式上的投影。
(2)ACD和BD是BCNF吗?
如果不是,请进一步分解。
第五题答案:
(1)∏ACD(F)={A→C,D→C}
∏BD(F)={D→B}
(2)BD已是BCNF。
ACD不是BCNF。
模式ACD的候选关键字是AD。
考虑A→C,这个函数依赖不满足BCNF条件(A不是模式ACD的候选关键字),将ACD分解为AC和AD,此时AC和AD均为BCNF。
6.设有关系模式R(A,B,C,D,E),R的函数依赖集:
F={A→D,E→D,D→B,BC→D,CD→A}
(1)求R的候选关键字。
(2)将R分解为3NF。
第六题答案:
(1)R的候选关键字是CE。
(2)求出最小依赖集F'
={A→D,E→D,D→B,BC→D,CD→A}
将R分解的3NF:
ρ={AD,DE,BD,BCD,ACD}。
(3)
(4)窗体底端
7.设有关系模式R(A,B,C,D,E),其上的函数依赖集:
F={A→C,C→D,B→C,DE→C,CE→A}
(1)求R的所有候选关键字。
(2)判断ρ={AD,AD,BC,CDE,AE}是否为无损连接分解?
(3)将R分解为BCNF,并具有无损连接性。
第七题答案:
(1)BE是R的惟—候选关键字。
(2)ρ不具有无损连接性。
(3)考虑A→C,∵AC不是BCNF(AC不包含候选关键字BE),将ABCDE分解为AC和ABDE,AC已是BCNF。
进一步分解ABDE,选择B→D,把ABDE分解为BD和ABE,此时BD和ABE均为BCNF。
∴ρ={AC,BD,ABE}
8.设有一教学管理数据库,其属性为:
学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。
这些数据有下列语义:
学号和课程号分别与其代表的学生和课程一一对应;
一个学生所修的每门课程都有一个成绩;
每门课程只有一位任课教师,但每位教师可以有多门课程;
教师中没有重名,每个教师只属于一个系。
(1)试根据上述语义确定函数依赖集。
(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?
并举例说明在进行增、删操作时的异常现象。
(3)分解为具有依赖保持和无损连接的3NF。
(1)F={(S#,C#)→G,C#→TN,TN→D}
(2)关系模式为1NF,因为该关系模式的候选关键字为(S#,C#),则非主属性有G、TN和G。
又∵F中有C#→TN,∴存在非主属性TN对候选关键字(S#,C#)的部分依赖,即(S#,C#)
TN
若新增设一门课程而暂时还没有学生选修时,则因缺少关键字S#值而不断进进行插入操作。
若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删除。
(3)∵F=F'
={(S#,C#)→G,C#→TN,TN→D}
∴ρ={R1,R2,R3}
R1=(S#,C#,G)
R2={C#,TN}
R3={TN,D}