某公司的部门(部门号,部门名,负责人,电话)、商品(商品号,商品名称,单价,库存量)和职工(职工号,姓名,住址)三个实体对应的关系如表1、表2和表3所示。 假设每个部门有一位负责人,一个负责人只有一部电话,但有若干名员工;每种商品只能由一个部门负责销售。

admin2009-01-10  26

问题 某公司的部门(部门号,部门名,负责人,电话)、商品(商品号,商品名称,单价,库存量)和职工(职工号,姓名,住址)三个实体对应的关系如表1、表2和表3所示。
假设每个部门有一位负责人,一个负责人只有一部电话,但有若干名员工;每种商品只能由一个部门负责销售。
     
   ①部门关系不属于第三范式的原因是(36)。如果用户要求得到表4所示的结果,需要(37),并增加关系模式  (38)  。
   ②若部门名是唯一的,请将下述部门SQL语句的空缺部分补充完整。
    CREATE TABLE 部门 (部门号 CHAR(3)  PRIMARY KEY,
                     部门名CHAR(10)(39),
                     负责人CHAR(4),
                     电话CHAR(20))
                           (40));
   ③查询各部门负责人的姓名及住址的SQL语句如下:
   SELECT  部门名,姓名,住址
           FROM 部门,职工(41);

选项 A、WHERE 职工号=负责人
B、WHERE职工号=’负责人’
C、WHERE 姓名=负责人
D、WHERE 姓名=’负责人’

答案A

解析 本题考查的是应试者对范式、SQL语言的掌握程度。
   试题(36)考查的是范式的基础知识。部门关系不属于第三范式的原因是因为部门的主键是部门号,非主属性部门名,负责人,电话虽然不存在对键的部分函数依赖,但是存在传递依赖,即部门号→部门名→电话。所以正确的答案是C。
   试题(37)正确的答案是D;因为表4中有职工号、姓名、部门名和月销售额,此时必须知道职工属于哪个部门,故需在职工关系中增加一个部门号属性,并且增加关系模式销售(职工号,商品号,日期,数量),所以试题(38)正确的答案是A。
   试题(39)正确的答案是B,因为试题要求部门名是唯一的,根据表1可以看出负责人来自职工且等于职工号属性;试题(40)正确的答案是D,因为职工关系的主键是职工号,所以部门关系的外键负责人需要用FOREIGN KEY(负责人)REFERENCES职工(职工号)来约束。这样部门关系的SQL语句如下;
   CREATE TABLE部门(部门号CHAR(3)PRIMARY KEY,
                 部门名CHAR(10)UNIQUE,
                 负责人CHAR(4),
                 电话CHAR(20)
                 FOREIGN KEY(负责人)REFERENCES职工(职工号));
   试题(41)正确的答案是A,将查询各部门负责人的姓名及住址的SQL语句的空缺部分补充完整如下:
    SELECT  部门名,姓名,住址  FROM 部门,职工 WHERE 职工号:负责人;
转载请注明原文地址:https://jikaoti.com/ti/PQN7FFFM
0

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