Download presentation
Presentation is loading. Please wait.
1
作业三讲评 04计算机
2
第1-5题 第1-3,6题是基本概念题,大家在书上就可以找到定义,没有大问题 第4题,5题,7题问题较多
3
第4题 第2问,外码什么时候可以为空? 典型错误: 外码在其属性值不知或未赋值时为空 当F的属性的值”不知道”或”无意义”时可以为空
F是基本关系R的外码,当F与基本关系S的主码Ks并未形成对应关系时,R中每个元组在F上的值取空
4
第4题(续) 参考答案 参照完整性 实体完整性 当外码不是被参照表的主码时可以为空 要求外码取值要么为空值,要么为被参照属性列的值之一
它只规定了外码取值的某种特性 实体完整性 决定属性段可否为空值 当外码不是被参照表的主码时可以为空
5
第5题 考核要点 回答情况 对关系代数的理解和应用 对ALPHA的理解和应用 对QBE的理解和应用 问题主要集中在关系代数的应用上
对题设的理解不够彻底
6
第5题(续) πsno(σjno=’J1’, PNO =’P1’ (SPJ)) 使用关系代数中的主要问题 一个操作的多个条件之间用逗号分开
在关系代数使用了ALPHA的取非符号‘フ ’ πjno(フ(σcity=’天津’ ^color=’红色’(S×SPJ×P))
7
第5题(续) 使用关系代数中的主要问题 没有考虑到执行效率;典型例子:
把同一个关系表的连续两个选择操作分开。例如:σjno=’J1’( σPNO =’P1’ (SPJ)) 对多个的关系表先统统的进行笛卡儿积操作,然后再进行选择或投影操作。例如:πjno(σcity=’天津’ ^color=’红色’(S×SPJ×P))
8
第5题(续) 使用ALPHA中的主要问题 使用QBE中的主要问题 没有先定义,就直接引用变量
9
第5(1)题: 找出供应工程J1零件的供应商号码SNO 考察: 选择和投影操作 关系代数:∏sno( JNO=‘J1’(SPJ))
ALPHA语言:GET W(SPJ.SNO): SPJ.JNO = ‘J1’ QBE: SPJ SNO PNO JNO QTY P.S1 J1
10
第5(2)题 QBE: 供应工程J1零件P1的供应商号码SNO 考察:两个选择条件,一个投影
关系代数:∏sno( JNO=‘J1’ ∧PNO=‘P1’(SPJ)) ALPHA语言:GET W(SPJ.SNO): SPJ.JNO = ‘J1’ ∧SPJ.PNO = ‘P1’ QBE: SPJ SNO PNO JNO QTY P.S1 P1 J1
11
第5(3)题 供应工程J1零件为红色的供应商号码 考察:两表的连接,和各个单表的选择 关系代数
∏SNO(∏SNO,PNO( JNO=‘J1’(SPJ)) ∞∏PNO( color = ‘红’)(P)) ALPHA语言: RANGE P PX GET W(SPJ.SNO): PX(PX.PNO = SPJ.PNO∧SPJ.JNO=‘J1’ ∧PX.color=‘红’) QBE: P PNO PNAME COLOR WEIGHT P1 红 SPJ SNO PNO JNO QTY P.S1 P1 J1
12
第5(4)题 ALPHA: RANGE SPJ SPJX P PX S SX
求没有使用天津供应商生产的红色零件的工程号JNO 考察:多个连接,集合差,选择,投影操作 关系代数: ∏JNO(J)-∏JNO(∏SNO( CITY = “天津”(S)) ∞∏SNO,PNO,JNO(SPJ) ∞ ∏PNO( COLOR=“红”) ALPHA: RANGE SPJ SPJX P PX S SX GET W(J.JNO): ¬ SPJX(SPJX.JNO=J.JNO^ SX(SX.SNO = SPJX.SNO)^SX.CITY=“天津”^ PX(PX.PNO=SPJX.PNO^PX.COLOR = “红”))
13
第5(4)题 QBE(包含没有使用任何零件的工程号) ¬ J JNO JNAME CITY P.J1 S SNO SNAME STATUS
PNO PNAME COLOR WEIGHT P1 红 S SNO SNAME STATUS CITY S1 天津 SPJ SNO PNO JNO QTY S1 P1 J1
14
第5(4)题 QBE(不包含没有使用任何零件的工程号) ¬ S SNO SNAME STATUS CITY S1 天津 SPJ SNO
PNO PNAME COLOR WEIGHT P1 红 S SNO SNAME STATUS CITY S1 天津 SPJ SNO PNO JNO QTY S1 P1 J1
15
第5(5)题 除操作在写关系演算表达式的关键:包含一个“蕴含”关系。 求至少用了供应商S1所供应的全部零件的工程号JNO 考察:除关系
关系代数: 必须是S1所供应的零件 ∏JNO,PNO((SPJ) ÷ ∏sno, pno( SNO=‘S1’(SPJ))) 使用的零件号与S1供应的零件号一致 ∏JNO,PNO(SPJ) ÷ ∏pno( SNO=‘S1’(SPJ)) ALPHA RANGE SPJ SPJX SPJ SPJY P PX GET W(J.JNO): PX( SPJX(SPJX.PNO = PX.PNO^SPJX.SNO = ‘S1’) SPJY(SPJY.JNO = J.JNO ^ SPJY.PNO = PX.PNO)) 除操作在写关系演算表达式的关键:包含一个“蕴含”关系。
16
第6题 等值连接:两个表选取两个属性列,它们的类型相同,列名可以不同,就可以做等值连接。
自然连接:两个表中必须包含相同属性(属性名,属性类型),那么在这个属性上就可以做自然连接。并在连接结果中只能保留一个列。
17
第6题 考核要点: 回答思路: 连接、自然连接、等值连接的定义 自然连接和等值连接的联系与区别
联系:等值连接和自然连接都是从行的角度进行运算。自然连接是一种特殊的等值连接。 区别:等值连接没有取消重复列。自然连接还需要取消了重复列,所以说自然连接是同时从行和列的角度进行运算。
18
第7题 考核要点: 关系代数的运算符的理解 关系代数运算符之间的等价表示
19
第7题(续)-参考答案 关系代数的基本运算符: 并∪、差-、笛卡尔积×、投影Π和选择σ 交∩ R∩S = R-(R-S) 连接
20
第7题(续)-参考答案 除法 关系r(R)除以s(S),且S⊆R 关系R(X,Y)与关系S(Y,Z)相除
21
总结 总体上,作业做得很好 集中在B级和A级上 优秀作业:20位同学
Similar presentations