建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Zip,City)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:Sno→ (Sname,Zip,City),Zip→City。“零件”表P(Pno,Pname,

admin2008-11-02  41

问题 建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Zip,City)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:Sno→ (Sname,Zip,City),Zip→City。“零件”表P(Pno,Pname,Color,Weight,City),表示零件号、零件名、颜色、重量及产地。表S与表P之间的关系SP(Sno,Pno,Price, Qty)表示供应商代码、零件号、价格、数量。    A.“供应商”表S属于(36)。    B.若要求供应商名不能取重复值,关系的主码是Sno。请将下面的SQL语句空缺部分补充完整。CREATE TABLE S(Sno  CHAR(5),          Sname CHAR (30) (37),          Zip  CHAR(8),          City CHAR (20)         (38);    C.查询供应“红”色零件,价格低于500,且数量大于200的供应商代码、供应商名、零件号、价格及数量的SQL语句如下:SELECT  Sno,Sname,Pno,Price,Qty  FROM S,SP    WHERE Pno IN  (SELECT Pno FROM P WHERE  (39))    AND (40);

选项 A、SP.Price<500
B、SP.Qty>200
C、SP.Price<500 AND SP.Qty>200
D、Color=’红’

答案C

解析 本题考查应试者对范式、SQL语言的掌握程度。
   试题(36)考查范式的基础知识。“供应商”表S属于2NF,因为表S的主键是Sno,非主属性Sname,Zip,City 不存在对键的部分函数的依赖。但是,当2NF消除了非主属性对码的传递函数依赖,则称为3NF。“供应商”表S不属于3NF,因为存在传递依赖,即Sno→Zip,Zip→City。所以正确的答案是B。
   试题(37)正确的答案是B,因为试题要求供应商名不能取重复值,且值是唯一的,供应商的名也是唯一的,所以需要用NOT NULL UNIQUE。试题(38)正确的答案是C,因为表S的主键是Sno,所以需要用PRIMARY KEY (Sno) 来约束。补充完整的SQL语句如下:
CREATE TABLE S(Sno  CHAR (5),
          Sname  CHAR (30) UNIQUE,
          Status  CHAR (8),
          City  CHAR (20)
          PRIMARY KEY (Sno));
   查询各供应商供应“红”色零件的种类,价格低于500,且数量大于200的供应商代码、供应商名、零件号、价格及数量的SQL语句的空缺部分补充完整如下。
   对于部门关系中的部门负责人也是一个职工,因此,负责人代码是一个外键,为了保证数据的正确性,通过参照完整性加以约束。SQL语言中是通过使用如下保留字: FOREIGN KEY 定义外键,REFERENCES指明外码对应于哪个表的主码。参照完整性定义格式如下;
FOREIGN KEY(属性名)REFERENCES 表名(属性名)
按照以上所述,将(37)空缺部分补充完整如下:
CREATE TABLE 部门(部门号CHAR (4) PRIMARY KEY,部门名CHAR (20),
       电话CHAR (13),负责人代码CHAR (5),任职时间 DATE,
       FOREIGN KEY  (负责人代码)REFERENCES 职工(职工号));
   查询比软件部所有职工月薪都要少的职工姓名及月薪的SQL语句的空缺部分补充完整如下:
SELECT  Sno,Sname,Pno,Price  FROM S,SP
   WHERE Pno IN  (SELECT Pno FROM P WHERE Color=’红’)
   AND SP. Price<500 AND SP. Qty>200;
转载请注明原文地址:https://jikaoti.com/ti/7oN7FFFM
0

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