问题
单项选择题
某公司数据库的两个关系为:部门(部门号,部门名,负责人,电话)和员工(员工号,姓名,住址)。假设每个部门有若干名员工,一名负责人,一部电话;员工号为员工关系的主键。
查询各部门负责人的姓名及住址的SQL语句如下:
SELECT 部门名, 姓名, 住址
FROM 部门, 员工 WHERE (60) ;
(60)处填()。
A.员工号=负责人
B.员工号=’负责人’
C.姓名=负责人
D.姓名=’负责人’
答案
参考答案:A
解析:
本题考查数据库中范式的基本概念和基本的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 员工号=负责人;