● 建立一个供应商、零件数据库。其中“供应商”表 S(Sno,Sname,Zip,City)分别表示: 供应商代码、 供应商名、 供应商邮编、 供应商所在城市, 其函数依赖为: Sno→(Sname,Zip,City ) ,Zip→City。 “零件”表 P(Pno,Pname,Color,Weight,City) ,表示零件号、零件名、颜色、重量及产地。表 S与表 P 之间的关系 SP(Sno,Pno,Price,Qty)表示供应商代码、零件号、价格、数量。
a. “供应商”表 S属于 (36) 。
(36)
A. 1NF
B. 2NF
C. 3NF
D. BCNF
b. 若要求供应商名不能取重复值,关系的主码是 Sno。请将下面的 SQL 语句空缺部分补充完整。
CREATE TABLE S(Sno CHAR(5),
Sname CHAR(30) (37) ,
Zip CHAR(8),
City CHAR(20)
(37)
A. NOT NULL
B. UNIQUE
C. PRIMARY KEY(Sno)
D. PRIMARY KEY(Sname)
(38)
A. NOT NULL
B. NOT NULL UNIQUE
C. PRIMARY KEY(Sno)
D. PRIMARY KEY(Sname)
c. 查询供应“红”色零件,价格低于 500,且数量大于 200的供应商代码、供应商名、零件号、价格及数量的 SQL 语句如下:
SELECT Sno,Sname,Pno,Price,Qty FROM S,SP
WHERE Pno IN ( SELECT Pno FROM P WHERE (39) )
AND (40) ;
(39)
A. SP. Price < 500
B. SP. Qty > 200
C. SP. Price < 500 AND SP. Qty > 200
D. Color = '红'
(40)
A. SP. Price < 500
B. SP. Qty > 200
C. SP. Price < 500 AND SP. Qty > 200
D. Color = '红'
本文讨论了数据库设计的规范化理论,包括1NF、2NF、3NF和BCNF。同时,给出了创建供应商表S的SQL语句,强调了主键的选择。此外,还展示了一个SQL查询,用于获取供应红色零件且价格低于500、数量大于200的供应商信息。
1020

被折叠的 条评论
为什么被折叠?



