某公司数据库的两个关系为:部门(部门号,部门名,负责人,电话)和员工(员工号,姓名,住址)。假设每个部门有若干名员工,一名负责人,一部电话;员工号为员工关系的主键。 若部门名是唯一的,请将下述SQL语句的空缺部分补充完整。 CREATE TAB

admin2019-05-11  27

问题 某公司数据库的两个关系为:部门(部门号,部门名,负责人,电话)和员工(员工号,姓名,住址)。假设每个部门有若干名员工,一名负责人,一部电话;员工号为员工关系的主键。
   若部门名是唯一的,请将下述SQL语句的空缺部分补充完整。
   CREATE TABLE 部门 (部门号 CHAR(3) PRIMARY KEY,
   部门名 CHAR(10)   (1)_____ ,
   负责人CHAR(4),
   电话CHAR(20))
     (2)_____;

(2)_____
A.PRIMARY KEY (部门号) NOT NULL UNIQUE
B.PRIMARY KEY (部门名) UNIQUE
C.FOREIGN KEY (负责人) REFERENCES 员工 (姓名)
D.FOREIGN KEY (负责人) REFERENCES 员工 (员工号)

选项 A、 
B、 
C、 
D、 

答案D

解析 本题考查数据库中范式的基本概念和基本的SQL语句。
   由于部门名是唯一的,因此在“部门名CHAR(10)”后应有“UNIQUE”。根据表1可以看出负责人来自员工且等于员工号属性,因为员工关系的主键是员工号,所以部门关系的外键负责人需要用FOREIGN KEY (负责人) REFERENCES 员工 (员工号) 来约束。这样部门关系的SQL语句如下:
   CREATE TABLE 部门 (部门号 CHAR (3) PRIMARY KEY,
   部门名 CHAR (10) UNIQUE,
   负责人 CHAR (4),
   电话 CHAR (20)
   FOREIGN KEY (负责人) REFERENCES 员工 (员工号));
   根据SQL的语法要求,查询各部门负责人的姓名及住址的SQL语句的空缺部分补充完整如下:
   SELECT 部门名, 姓名, 住址
   FROM 部门, 员工 WHERE 员工号=负责人;
转载请注明原文地址:https://jikaoti.com/ti/NhL7FFFM
0

最新回复(0)