数据库系统概论课后练习答案3.doc
文本预览下载声明
第3章 关系数据库标准语言SQL
试述 sQL 语言的特点。
答:
综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。
高度非过程化。用 sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 sQL 语句的操作过程由系统自动完成。
面向集合的操作方式。 sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
语言简捷,易学易用。
试述 sQL 的定义功能。
答:
SQL 的数据定义功能包括定义表、定义视图和定义索引。
SQL 语言使用 cREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;
使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;
使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。
用 sQL 语句建立第二章习题 5 中的 4 个表。
答:
对于 S 表: S ( SNO , SNAME , STATUS , CITY ) ;
建 S 表:
CREATE TABLE S(Sno Char(3) UNIQUE,
Sname Char(10),
Status Char(2),
City Char(10));
对于 P 表: P ( PNO , PNAME , COLOR , WEIGHT );
建 P 表 :
CREATE TABLE P(Pno Char(3) UNIQUE,
Pname Char(10),
COLOR Char(4),
WEIGHT INT);
对于 J 表: J ( JNO , JNAME , CITY) ;
建 J 表:
CREATE TABLE J(Jno Char(3) UNIQUE,
JNAME Char(10),
CITY Char(10));
对于 sPJ 表: SPJ ( sNo , PNo , JNo , QTY) ;
建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)
CREATE TABLE SPJ(Sno Char(3),
Pno Char(3),
JNO Char(3),
QTY INT);
针对上题中建立的 4 个表试用SQL 语言完成第二章习题 5 中的查询。
答:
求供应工程 Jl 零件的供应商号码 SNO ;
SELECT SNO FROM SPJ WHERE JNO=J1
求供应工程 Jl 零件 Pl 的供应商号码 SNO ;
SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO=P1
求供应工程 Jl 零件为红色的供应商号码 SNO ;
SELECT SNO FROM SPJ
WHERE JNO=J1 AND pno in
(select pno from p
where color=红)
或
SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红SELECT JNO FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ
WHERE SPJ.JNO=J.JNO
AND SNO IN
(SELECT SNO
FROM S
WHERE CITY=天津)
AND PNO IN
(SELECT PNO
FROM P
WHERE COLOR=红));
或
SELECT JNO FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ,S,P
WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO
AND SPJ.PNO=P.PNO AND S.CITY=天津
AND P.COLOR=红);
求至少用了供应商 Sl 所供应的全部零件的工程号JNO ;
SELECT DISTINCT JNO FROM SPJ SPJZ
WHERE NOT EXISTS
(SELECT *
FROM SPJ,SPJX
WHERE SNO=S1
AND NOT EXISTS
(SELECT *
FROM SP
显示全部