1.试述SQL的特点。
2.说明在DROP TABLE时,RESTRICT和CASCADE的区别。
3.有两个关系S(A,B,C,D)和T(C,D,E,F),写出与下列查询等价的SQL表达式:

4.用SQL语句完成查询。
(1)求供应工程J1零件的供应商号码SNO
(2)求供应工程J1零件P1的供应商号码SNO
(3)求供应工程J1零件为红色的供应商号码SNO
(4)求没有使用天津供应商生产的红色零件的工程号JNO
(5)求至少用了供应商S1所供应的全部零件的工程号JNO
其中涉及表格如下:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME.COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY)。
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所
在城市(CITY)组成。
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(INAME)、工程项目所在城市(CITY)组成。
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY) 组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:
PNO | PNAME | COLOR | WEIGHT |
P1 | 螺母 | 红 | 12 |
P2 | 螺栓 | 绿 | 17 |
P3 | 螺丝刀 | 蓝 | 14 |
P4 | 螺丝刀 | 红 | 14 |
P5 | 凸轮 | 蓝 | 40 |
P6 | 齿轮 | 红 | 30 |
SNO | SNAME | STATUS | CITY |
S1 | 精益 | 20 | 天津 |
S2 | 盛锡 | 10 | 北京 |
S3 | 东方红 | 30 | 北京 |
S4 | 丰泰盛 | 20 | 天津 |
S5 | 为民 | 30 | 上海 |
JNO | JNAME | CITY |
J1 | 三建 | 北京 |
J2 | 一汽 | 长春 |
J3 | 弹簧厂 | 天津 |
J4 | 造船厂 | 天津 |
J5 | 机车厂 | 唐山 |
J6 | 无线电厂 | 常州 |
J7 | 半导体厂 | 南京 |
SNO | PNO | JNO | QTY |
S1 | P1 | J1 | 200 |
S1 | P1 | J3 | 100 |
S1 | P1 | J4 | 700 |
S1 | P2 | J2 | 100 |
S2 | P3 | J1 | 400 |
S2 | P3 | J2 | 200 |
S2 | P3 | J4 | 500 |
S2 | P3 | J5 | 400 |
S2 | P5 | J1 | 400 |
S2 | P5 | J2 | 100 |
S3 | P1 | J1 | 200 |
S3 | P3 | J1 | 200 |
S4 | P5 | J1 | 100 |
S4 | P6 | J3 | 300 |
S4 | P6 | J4 | 200 |
S5 | P2 | J4 | 100 |
S5 | P3 | J1 | 200 |
S5 | P6 | J2 | 200 |
S5 | P6 | J4 | 500 |
5.针对习题4中的4个表试用SQL完成以下各项操作:
(1)找出所有供应商的姓名和所在城市;
(2)找出所有零件的名称、颜色、重量;
(3)找出使用供应商S1所供应零件的工程号码;
(4)找出工程项目J2使用的各种零件的名称及其数量;
(5)找出上海厂商供应的所有零件号码;
(6)找出使用上海产的零件的工程名称;
(7)找出没有使用天津产的零件的工程号码;
(8)把全部红色零件的颜色改成蓝色;
(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;
(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
(11)请将(S2,J6,P4,200)插入供应情况关系。
6.什么是基本表?什么是视图?两者的区别和联系是什么?
7.试述视图的优点。
8.哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明。
9.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO),零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量:
(2)找出供应商S1的供应情况。

