设有一个SPJ数据库,包括S、P、J及SPJ 4个关系 模式ゕ豪 柳佳豪 SGNO SWAME STATUSGMWA"S P(PNO, PNAME,COLOR, WEIGHT); J(JNO,JNAME,CITY); (SNAME)、快立商状き(STATUs)、(立商所在城 市(CITY)组成。 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(CWEIGHED)组成。工程项目表」由工程项目代码(INON 工程项目名(UNAME)、工程项目所在城市(CITY)组成。 供应情况表SP由供应商代码(SNO)、零件代码 (PNO)、工程项目代码(JNO)、供应数量(QTY)组 歟東※保田壱仟佰漆玖参仟拾※工*保目拾玖. 量为QTY。 完成以下査洵 (1)创建SPJ表,定义主码和外码; (2)查询所有在上海的供应商供应的零件代码和 零件名; (3 将供应商S1供应的紅鱼零件的重量提高5,(4),查询项目名以“制造”开头,以“厂”结束的项目的详细情况; (5) 创建一个视图,其中包括供应商号,零件号以及供应零件数量情况。
时间: 2024-03-19 18:41:42 浏览: 352
[详细完整版]SPJ数据库.doc
5星 · 资源好评率100%
(1) 创建SPJ表,定义主码和外码:
```
CREATE TABLE S(SNO CHAR(3) PRIMARY KEY, SNAME VARCHAR(10), STATUS CHAR(1), CITY VARCHAR(10));
CREATE TABLE P(PNO CHAR(3) PRIMARY KEY, PNAME VARCHAR(10), COLOR VARCHAR(10), WEIGHT DECIMAL(5,2));
CREATE TABLE J(JNO CHAR(3) PRIMARY KEY, JNAME VARCHAR(10), CITY VARCHAR(10));
CREATE TABLE SPJ(SNO CHAR(3), PNO CHAR(3), JNO CHAR(3), QTY INT, PRIMARY KEY(SNO, PNO, JNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO));
```
(2) 查询所有在上海的供应商供应的零件代码和零件名:
```
SELECT DISTINCT P.PNO, P.PNAME
FROM S, P, SPJ
WHERE S.CITY = '上海' AND S.SNO = SPJ.SNO AND P.PNO = SPJ.PNO;
```
(3) 将供应商S1供应的红鱼零件的重量提高5:
```
UPDATE P
SET WEIGHT = WEIGHT + 5
WHERE P.PNO IN (SELECT PNO FROM SPJ WHERE SNO = 'S1' AND PNO = 'H001');
```
(4) 查询项目名以“制造”开头,以“厂”结束的项目的详细情况:
```
SELECT *
FROM J
WHERE JNAME LIKE '制造%' AND JNAME LIKE '%厂';
```
(5) 创建一个视图,其中包括供应商号、零件号以及供应零件数量情况:
```
CREATE VIEW SUPPLY_INFO AS
SELECT SNO, PNO, SUM(QTY) AS TOTAL_QTY
FROM SPJ
GROUP BY SNO, PNO;
```
阅读全文