单选题 某数据库中有供应商关系S和零件关系P,其中:供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件关系模式P(Pno,Pname,Color, Weisht,City)中的属性分别表示:零件号、零件名、颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可以由多个供应商供应。请将以下{{U}} {{/U}}空缺处的SQL语句补充完整。
CREATE TABLE SP(Sno CHAR (5),
Pno CHAR (6),
Status CHAR (8),
QLy NUMERIC (9),
PRIMARY KEY (Sno,Pno)
{{U}} {{U}} {{/U}} {{/U}};
  • A.PRIMARY KEY (Sno) REFERENCE S (Sno),FOREIGN KEY (Pno) REFERENCES P (Pno)
  • B.FOREIGN KEY (Sno) REFERENCE S (Sno),PRIMARY KEY (Pno) REFERENCES P (Pno)
  • C.FOREIGN KEY (Sno) REFERENCE S (Sno),FOREIGN KEY (Pno) REFERENCES P (Pno)
  • D.PRIMARY KEY (Sno) REFERENCE S (Sno),PRIMARY KEY (Pno) REFERENCES P (Pno)
【正确答案】 C
【答案解析】[解析] 本试题SQL语句空缺部分主要是对关系模式SP的完整性定义。依题意,一个供应商可以供应多种零件,而一种零件可以由多个供应商供应,因此在供应商和零件之间存在多对多的联系。为此需要为该联系创建一个关系模式,该关系模式的主码为供应商代码Sno和零件号Pno,即试题中已给出的PRIMARY KEY (Sno,Pno)。 供应商代码Sno为供应商关系的主码,在SP关系中的供应商代码Sno必须参照供应商关系S,即 FOREIGN KEY (Sno) REFERENCE S (Sno)。 零件号Pno为零件关系的主码,在SP关系中的零件号Pno必须参照零件关系P,即FOREIGN KEY (Pno) REFERENCES P (Pno)。 由以上分析可知,(62)空缺处的正确答案是选项C。