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