您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页第五章习题答案

第五章习题答案

来源:华佗小知识


第三章习题答案

1 用SQL语言建立第四章习题4 的4 个表

建立S表:S(SNO,SNAME,STATUS,CITY);

CREATE TABLE S

( SNO CHAR(3) primary key,

SNAME CHAR(10),

STATUS CHAR(2),

CITY CHAR(10));

建立P表:P(PNO,PNAME,COLOR,WEIGHT);

CREATE TABLE P

( PNO CHAR(3) primary key,

PNAME CHAR(10),

COLOR CHAR(4),

WEIGHT INT);

建立J表:J(JNO,JNAME,CITY);

CREATE TABLE J

( JNO CHAR(3) primary key,

JNAME CHAR(10),

CITY CHAR(10));

建立SPJ表:SPJ(SNO,PNO,JNO,QTY);

CREATE TABLE S

( SNO CHAR(3),

PNO CHAR(3),

JNO CHAR(3),

QTY INT,

Primary key(Sno,Pno,Jno));

2 针对习题1中的4个表试用SQL语言完成以下各项操作:

(1) 找出所有供应商的姓名和所在城市。

SELECT SNAME, CITY

FROM S;

(2) 找出所有零件的名称、颜色、重量。

SELECT PNAME, COLOR, WEIHGT

FROM P;

(3) 找出使用供应商S1所供应零件的工程号码。

SELECT JNO

FROM SPJ

WHERE SNO=’S1’;

(4) 找出工程项目J2使用的各种零件的名称及其数量。

SELECT P.PNAME,SPJ.QTY

FROM SPJ,P

WHERE P.PNO=SPJ.PNO AND JNO=’J2’;

(5) 找出上海厂商供应的所有零件号码。

SELECT DISTINCT PNO

FROM SPJ

WHERE SNO IN

( SELECT SNO

FROM S

WHERE CITY=’上海’);

(6) 找出使用上海产的零件的工程名称。

SELECT JNAME

FROM J, SPJ, S

WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO

AND S.CITY=’上海’;

(7) 找出没有使用天津产的零件的工程号码。

SELECT JNO

FROM J

WHERE NOT EXISTS

(SELECT *

FROM SPJ

WHERE SPJ.JNO=J.JNO AND SNO IN

(SELECT SNO

FROM S

WHERE CITY=’天津’);

(8) 把全部红色零件的颜色改成蓝色。

UPDATE P

SET COLOR=’蓝’

WHERE COLOR=’红’

(9) 由S5供给J4的零件P6改为由S3供应,请作必要的修改。

UPDATE SPJ

SET SNO=’S3’

WHERE SNO=’ S5’ AND JNO=’J4’ AND PNO=’P6’

(10) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。

DELETE

FROM SPJ

WHERE SNO=’S2’;

DELETE

FROM S

WHERE SNO=’S2’

(11) 请将(S2,J6,P4,200)插入供应情况关系。

INSER INTO SPJ(SNO,JNO,PNO,QTY)

VALUES(S2,J6,P4,200)

OR INSER INTO SPJ

VALUES(S2, P4, J6,200)

3、基本表与视图两者的区别和联系是什么?

答:区别:基本表是实际存储在数据库中的二维表,它是本身存在的表。视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。

联系:视图是从一个或几个基本表(或视图)中导出的表,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

4、 试述视图的优点。

答:1) 视图能够简化用户的操作。

2) 视图机制可以使用户以不同的方式看待同一数据。

3) 视图对数据库的重构提供了一定程度的逻辑性。

4) 视图可以对机密的数据提供安全保护。

5. 请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:

(1) 找出三建工程项目使用的各种零件代码及其数量。

(2) 找出供应商S1的供应情况。

CREATE VIEW V_SPJ

AS

SELECT SNO,PNO,QTY

FROM SPJ

WHERE JNO=

( SELECT JNO

FROM J

WHERE JNAME=’三建’);

(1) SELECT PNO,QTY

FROM V_SPJ;

(2) SELECT PNO,QTY

FROM V_SPJ

WHERE SNO=’S1’;

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务