某公司的部門(部門號,部門名,負責人,電話)、商品(商品號,商品名稱,單價,庫存量)和職工(職工號, 姓名, 住址)三個實體對應的關系如表1、表2和表3所示。假設每個部門有一位負責人,一個負責人只有一部電話,但有若干名員工;每種商品只能由一個部門負責銷售。
a. 部門關系不屬于第三范式的原因是 (1) 。如果用戶要求得到表4所示的結果,需要 (2) ,并增加關系模式 (3) 。
b. 若部門名是唯一的,請將下述部門SQL語句的空缺部分補充完整。
CREATE TABLE 部門(部門號CHAR(3) PRIMARY KEY,
部門名 CHAR(10) (4) ,
負責人 CHAR(4),
電話 CHAR(20))
(5) ;
c. 查詢各部門負責人的姓名及住址的SQL語句如下:
SELECT 部門名,姓名,住址
FROM 部門,職工 (6) ;
(1)
A.沒有消除非主屬性對碼的部分函數(shù)依賴,如:部門名→負責人
B.沒有消除非主屬性對碼的部分函數(shù)依賴,如:負責人→電話
C.只消除了非主屬性對碼的部分函數(shù)依賴,而未消除傳遞函數(shù)依賴
D.沒有消除非主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴
(2)
A.修改表1的結構,在表1中增加一個職工號
B.修改表2的結構,在表2中增加一個職工號
C.修改表2的結構,在表2中增加一個部門號
D.修改表3的結構,在表3中增加一個部門號
(3)
A.銷售(職工號,商品號,日期,數(shù)量)
B.銷售(職工號,商品名稱,商品號,數(shù)量)
C.銷售(職工號,部門號,日期,數(shù)量)
D.銷售(職工號,部門號,商品號,日期)
(4)
A.NOT NULL
B.UNIQUE
C.KEY UNIQUE
D.PRIMARY KEY
(5)
A.PRIMARY KEY(部門號)NOT NULL UNIQUE
B.PRIMARY KEY(部門名)UNIQUE
C.FOREIGN KEY(負責人)REFERENCES 職工(姓名)
D.FOREIGN KEY(負責人)REFERENCES 職工(職工號)
(6)
A.WHERE 職工號=負責人
B.WHERE 職工號=’負責人’
C.WHERE 姓名=負責人
D.WHERE 姓名=’負責人’