某数据库中有供应商关系S和零件关系P,其中;供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件关系模式P(Pno,Pname,Color,Weight,City)中的属性分别表示:零

admin2019-03-04  17

问题 某数据库中有供应商关系S和零件关系P,其中;供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件关系模式P(Pno,Pname,Color,Weight,City)中的属性分别表示:零件号、零件名、颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。请将下面的SQL语句空缺部分补充完整。
   Create Table SP(Sno Char(5),
               Pno Char(6),
               Status Char(8),
               Qty NUMERIC(9),
                 (7)   (Sno,Pno),
                 (8)   (Sno),
                 (9)   (Pno));
   查询供应了“红”色零件的供应商号、零件号和数量(Qty)的元组演算表达式为:
  

选项 A、t[1]=u[1]∧t[2]=w[2]∧t[3]=v[4]
B、t[1]=v[1]∧t[2]=u[2]∧t[3]=u[4]
C、t[1]=w[1]∧t[2]=u[2]∧t[3]=u[4]
D、t[1]=u[1]∧t[2]=v[2]∧t[3]=v[4]

答案D

解析 本题的SQL语言填空部分非常容易,实际上就是要考生写出关系的主键和外键,即使考生不记得如何用SQL定义主键、外键,只要能正确找出主键、外键就能根据备选项推出正确答案。
   现在我们来分析SP关系的主键和外键。SP中的字段有供应商代码、零件号、状态和数量。题目中提到“要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应”,所以要确定一种零件必须知道其供应商代码和零件号。因此,SP关系的主键应为(供应商代码,零件号),即(Sno,Pno)。又因为Sno为S关系的主键,Pno为P关系的主键,所以Sno是SP关系对应S关系的外键,Pno是SP关系对应P关系的外键。所以(7)选B,设置(Sno,Pno)为SP关系的主键;(8)选C,设置Sno为SP关系对应S关系的外键;(9)选D,设置Pno为,SP关系对应P关系的外键。
   (10)和(11)是按要求补充元组演算表达式。
   
   当了解了元组演算的相关知识以后,我们可以分析试题了。从上面的元组表达式的书写格式我们可以看出:(10)应是填写要操作的关系名,这个关系名的顺序是有要求的,因为对应的u,v,w后面有相应的操作。由于后面有条件:w[3]="红",而在关系SP,S,P中,只有关系P有颜色字段,所以P应对应w,又从u[1]=v[1]和v[2]=w[1]可以看出v和两个关系都要关联,在SP,S,P中能与两个关系都有关联的,只有SP,所以断定SP对应v。因此(10)应填S(u)∧SP(v)∧P(w)。(11)是确定结果集要选取的字段,题目要求查询供应商号、零件号和数量(Qty),前面我们已经知道了u,v,w对应的关系了,供应商号出现在S和SP两个关系中,所以t[1]=u[1]或t[1]=v[1]都行。零件号出现在了SP和P两个关系中,t[2]=v[2]或t[2]=w[1]都行,最后的数量只有SP一个关系中有,t[3]=v[4]。故答案t[1]=u[1]∧t[2]=v[2]∧t[3]=v[4]是正确的。
转载请注明原文地址:https://jikaoti.com/ti/RIx7FFFM
0

相关试题推荐
最新回复(0)