第一范文网 - 专业文章范例文档资料分享平台

第三章关系数据库标准语言SQL

来源:用户分享 时间:2025/5/28 11:51:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

【习3-1】 试述SQL语言的特点。

答:SQL语言现在已经成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。它的特点如下:

(1)综合统一:SQL语言集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一,可以完成数据库生命周期中的全部活动。另外,在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一。 (2)高度非过程化:用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。

(3)面向集合的操作方式:SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

(4)以同一种语法结构提供两种使用方式:SQL语言不论是以交互方式,还是以嵌入式方式使用,其语法结构基本上是一致的。为用户提供了极大的灵活性与方便性。

(5)语言简捷,易学易用:SQL语言十分简捷,完成核心功能只用了9个动词,并且其表达方式接近英语口语,因此易学易用。

【习3-2】 试述SQL的定义功能。

答:关系数据库系统支持三级模式结构,其模式、外模式和内模式中基本对象有表、视图和索引。因此SQL的数据定义功能包括定义表、定义视图和定义索引。 (1)基本表:包括定义基本表(CREATE TABLE)、修改基本表(ALTER TABLE)和删除基本表(DROP TABLE)。 (2)视图:包括定义视图(CREATE VIEW)和删除视图(DROP VIEW)。 (3)索引:包扩定义索引(CREATE INDEX)和删除索引(DROP INDEX)。

【习3-3】 用SQL语句建立第二章习题5中的四个表。 解:(1)S表:CREATE TABLE S

(SNO CHAR(4) NOT NULL UNIQUE,

SNAME CHAR(40) UNIQUE, STATUS INT,

CITY CHAR(12));

(2)P表:CREATE TABLE P

(PNO CHAR(4) NOT NULL UNIQUE,

PNAME CHAR(40) UNIQUE, COLOR CHAR(4),

WEIGHT INT);

(3)J表:CREATE TABLE J

(JNO CHAR(4) NOT NULL UNIQUE, JNAME CHAR(40) UNIQUE, CITY CHAR(12));

(4)SPJ表:CREATE TABLE SPJ

(SNO CHAR(4) NOT NULL,

PNO CHAR(4) NOT NULL, JNO CHAR(4) NOT NULL, QTY INT);

【习3-4】 针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询 (1)求供应工程J1零件的供应商号码SNO

SELECT SNO FROM SPJ

WHERE JNO=‘J1’

(2)求供应工程J1零件P1的供应商号码SNO

SELECT SNO

FROM SPJ

WHERE JNO=‘J1’AND PNO=‘P1’

(3)求供应工程J1零件为红色的供应商号码SNO

SELECT SNO FROM SPJ, P

WHERE SPJ.PNO=P.PNO AND JNO==‘J1’AND COLOR=‘红’

(4)求没有使用天津供应商生产的红色零件的工程号JNO

SELECT JNO FROM J

WHERE NOT EXISTS

(SELECT *

FROM S, SPJ, P

WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND S.CITY=’天津’ AND P.COLOR=’红’)

(5)求至少用了供应商S1所供应的全部零件的工程号JNO

SELECT DISTINCT JNO FROM SPJ SPJX WHERE NOT EXISTS (SELECT *

FROM SPJ SPJY WHERE SNO=’S1’

AND NOT EXISTS

(SELECT *

FROM SPJ SPJZ

WHERE SPJZ.SNO=SPJX.SNO AND SPJZ.JNO=SPJY.JNO))

【习3-5】 针对习题3中的四个表试用SQL语言完成以下各项操作 (1)找出所有供应商的姓名和所在城市

SELECT SNAME, CITY

FROM S

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

SELECT PNAME, COLOR, WEIGHT FROM P

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

SELECT JNO FROM SPJ

WHERE SNO=’S1’

(4)找出工程项目J2使用的各种零件的名称及其数量 SELECT PNAME, QTY FROM P, SPJ

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

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

SELECT DISTINCT PNO

FROM S, SPJ

WHERE S.SNO=SPJ.SNO AND CITY=’上海’ 或

SELECT DISTINCT PNO FROM SPJ

WHERE SNO IN

(SELECT SNO

FROM S

WHERE CITY=’上海’)

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

SELECT JNAME FROM S, SPJ, J

WHERE S.SNO=SPJ.SNO AND SPJ.JNO=J.JNO AND S.CITY=’上海’ 或

SELECT JNAME

FROM J

WHERE JNO IN (SELECT JNO FROM SPJ, S

WHERE SPJ.SNO=S.SNO AND 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=’天津’)) 或

SELECT JNO FROM J

WHERE NOT EXISTS

(SELECT *

FROM SPJ, S

WHERE SPJ.JNO=J.JNO

AND SPJ.SNO=S.SNO AND S.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’

DELELTE

FROM S

WHERE SNO=’S2’

注意删除顺序,应该先从SPJ表中删除供应商S2所供应零件的记录,然后从S表中删除S2。

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

INSERT INTO SPJ

VALUES (‘S2’, ‘J6’, ‘P4’, 200)

【习3-6】什么是基本表?什么是视图?两者的区别和联系是什么?

答:基本表是独立存在的表,在SQL中一个关系就对应一个表。一个或多个表对应一个存储文件,一个表可以带若干个索引,索引也存放在存储文件中。

视图是从一个或几个基本表中导出的表。它本身不独立存储在数据库中,也就是说,数据库中只存放视图的定义而不存放视图对应的数据。

它们的区别在于基本表中存储有数据,是实表;而视图中没有数据存在,是虚表。虽然视图在概念上与基本表等同,对其操作的方式与基本表相同,但对视图有些操作是有限制的。它们的联系是:由于数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表中,所以基本表中的数据发生变化,视图中的数据也会随之改变。 【习3-7】试述视图的优点。 答:视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。所以合理使用视图能够带来许多好处:

(1)视图能够简化用户的操作:通过定义视图,可以使用户将注意力集中在所关心的数据上;可以使数据库看起来结构简单、清晰,进而简化用户的数据查询操作。

(2)视图能使用户能以多种角度看待同一数据:当有多种用户共享同一个数据库时,视图机制可以使不同的用户以不同的方式看待和使用同一数据。

(3)视图对重构数据库提供了一定程度的逻辑独立性:在关系数据库中,数据库的重构往往是不可避免的。重构数据库最常见的是将一个基本表“垂直”地分成多个基本表。这样尽管数据库的逻辑结构改变了,但应用程序不必修改,因为新建立的视图定义的是用户原来的关系,使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据。但由于对视图的更新是有条件的,所以视图不能提供完全的逻辑独立性。

搜索更多关于: 第三章关系数据库标准语言SQL 的文档
第三章关系数据库标准语言SQL.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c70dad50yqg862m61dlf1_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top