数据库概论参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3、4 教材习题答案

3、1 试述SQL语言得特点。

答:

SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)与数据控制(Data Control)功能于一体,主要特点包括:

1、综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL 得功能于一体。

2、高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径得选择以及SQL语句得操作过程由系统自动完成。这不仅大大减轻了用户负担,而且有利于提高数据独立性。

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

4、以同一种语法结构提供两种使用方式。SQL语言既就是自含式语言,又就是嵌入式语言。作为自含式语言,它能够独立地用于联机交互操作使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言得程序中,供程序员设计程序时使用。

5、语言简捷,易学易用。SOL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只用了9个动词。SQL语言接近英语句子,因此容易学习,容易使用。

6、支持三级模式结构。SQL语言支持关系数据库得三级模式结构。其中外模式对应于视图(View),模式对应于基本表,内模式对应于存储文件。

3、2 试述SQL得定义功能。

答:

SQL得数据定义功能包括定义表、定义视图与定义索引。

SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引,DROP INDEX语句删除索引;使用CREATE VIEW语句建立视图,DROP VIEW语句删除视图。

3、3 用SQL语句建立习题2、4中得4个表。

答:

对于供应商表:S(Sno(供应商代码),Sname (供应商名),Status(供应状态),City(供应商所在城市))

建S表

CREATE TABLE S

(Sno CHAR(4),Sname CHAR(10),Status CHAR(4),City CHAR(20));

对于零件表:P(Pno(零件代码),Pname(零件名),Color(颜色),Weight(重量))

建P表

CREATE TABLE P

(Pno CHAR(4),Pname CHAR(20),Color CHAR(4),Weight INT);

对于工程项目表:J(Jno(工程项目代码),Jname(工程项目名),City(工程项目所在得城

市))

建J表

CREATE TABLE J

(Jno CHAR(4),Jname CHAR(20),City CHAR(20));

对于零件供应情况表:SPJ(Sno(供应商代码),Pno(零件代码),Jno(工程项目代码),QTY(供应数量))。

建SPJ表

CREATE TABLE SPJ

(Sno CHAR(4), Pno CHAR(4),Jno CHAR(4),QTY INT);

3、4 针对习题3、3中建立得3个表,试用SQL语言完成习题2、4中得查询。

⑴找出供应工程J1零件得供应商号;

答:

SELECT Sno

FROM SPJ

WHERE Jno=’J1’;

⑵找出供应工程J1零件P1得供应商号;

答:

SELECT Sno

FROM SPJ

WHERE Jno=’J1’ AND Pno=’P1’;

⑶找出供应工程J1红色零件得供应商号;

答:

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 P、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 Col or=’绿’));

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=’绿’);

⑸找出至少用了S2供应商所供应得全部零件得工程号。

答:

SELECT DISTINCT Jno

FROM SPJ SPJZ

WHERE NOT EXISTS

(SELECT *

FROM SPJ SPJX

WHERE Sno=’S2’

AND NOT EXISTS

(SELECT *

FROM SPJ SPJY

WHERE SPJY、Pno=SPJX、Pno

AND SPJY、Jno=SPJZ、Jno));

⑹找出供应红色得P1零件且其供应量大于200得供应商号。

答:

SELECT Jno

FROM P,SPJ

WHERE P、Pno=SPJ、Pno AND P、Pno=’P1’ AN D SPJ、QTY>=200;

3、5 针对习题3、3中得4个表,试用SQL语言完成以下各项操作。

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

答:

SELECT Sname,City

相关文档
最新文档