第三章习题解答和解析
1.试述 SQL 语言的特点。
答:⑴综合统一:集数据定义语言 DDL、数据操纵语言 DML、数据控制语言 DCL 的功能
于一体。
⑵ 高度非过程化:用 SQL 语言进行数据操作,只要提出“做什么”,无须指明“怎么做”,因
此无需了解存取路径。
⑶ 面向集合的操作方式:SQL 语言采用的集合操作方式,不仅操作对象、查询结果可以是
元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
⑷ 以同一种语法结构提供两种使用方法:SQL 语言既是自含式语言,能独立地用于联机交
互;又是嵌入式语言,能嵌入到高级语言中进行混合编程。
⑸ 语言简捷,易学易用。
2.试述 SQL 的定义功能。
答:SQL 语言的定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 CREATE
TABLE 语句建立基本表,ALTER TABLE 语句修改基本表的定义,DROP TABLE 语句删除
基 本表;使用 CREATE INDEX 语 句 建 立索引, DROP INDEX 语 句 删 除索引;使用
CREATE VIEW 语句建立视图,DROP VIEW 语句删除视图。
3.用 SQL 语句建立第二章习题 5 中的 4 个表。
答:建立表 S(SNO,SNAME,STATUS,CITY)
CREATE TABLE S(SNO CHAR(3),SNAME CHAR(10),STATUS CHAR(2),CITY
CHAR(10));
建立表 P(PNO,PNAME,COLOR,WETGHT)
CREATE TABLE P(PNO CHAR(3),PNAME CHAR(10),COLOR CHAR(4),WEIGHT
INT);
建立表 J(JNO,JNAME,CITY)
CREATE TABLE J(JNO CHAR(3),JNAME CHAR(10),CITY CHAR(10));
建立表 SPJ(SNO,PNO,JNO,QTY)
CREATE TABLE SPJ(SNO CHAR(3),PNO CHAR(3),JNO CHAR(3),QTY INT);
4.针对上题建立的 4 个表试用 SQL 语言完成第二章习题 5 中的查询。
答:同学们可以对比 SQL 语言、关系代数、抽象的关系演算语言,体会各种语言的优点。
⑴ 求供应工程 J1 零件的供应商号 SNO。 SELECT SNO FROM SPJ WHERE JNO=¹J1¹;
⑵ 求 供 应 工 程 J1 零 件 P1 的 供 应 商 号 SNO 。 SELECT SNO FROM SPJ WHERE
JNO=¹J1¹ AND PNO=¹P1¹;
⑶ 求供应工程 J1 红色零件的供应商号 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=¹ 红 ¹);
⑷ 求没有使用天津供应商生产的红色零件的工程号 JNO。
解析:从 J 表入手,以包含那些尚未使用任何零件的工程号。
评论0