问题 单项选择题

某公司数据库的两个关系为:部门(部门号,部门名,负责人,电话)和员工(员工号,姓名,住址)。假设每个部门有若干名员工,一名负责人,一部电话;员工号为员工关系的主键。

查询各部门负责人的姓名及住址的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 员工号=负责人;

单项选择题
多项选择题