好文档 - 专业文书写作范文服务资料分享网站

第四版数据库系统概论课后答案(全)

天下 分享 时间: 加入收藏 我要投稿 点赞

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

1 .试述 sQL 语言的特点。 答: (l)综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。

(2)高度非过程化。用 sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 sQL 语句的操作过程由系统自动完成。 (3)面向集合的操作方式。 sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

(4)以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。 (5)语言简捷,易学易用。 2 .试述 sQL 的定义功能。 sQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 cREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。 3 .用 sQL 语句建立第二章习题 5 中的 4 个表。 答:

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

CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));

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

CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT INT);

对于 J 表: J ( JNO , JNAME , CITY) ; 建 J 表:

CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))

对于 sPJ 表: sPJ ( sNo , PNo , JNo , QTY) ; 建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)

CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY INT)) 4.针对上题中建立的 4 个表试用 sQL 语言完成第二章习题 5 中的查询。 ( l )求供应工程 Jl 零件的供应商号码 SNO ;

SELECT DIST SNO FROM SPJ WHERE JNO=’J1’

( 2 )求供应工程 Jl 零件 Pl 的供应商号码 SNO ;

SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'

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

SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'

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

SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

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

由于VFP不允许子查询嵌套太深,将查询分为两步 A、查询S1供应商供应的零件号

SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2) B、查询哪一个工程既使用P1零件又使用P2零件。

SELECT JNO FROM SPJ WHERE PNO='P1'

AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')

5.针对习题3中的四个表试用SQL语言完成以下各项操作: (1)找出所有供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S (2)找出所有零件的名称、颜色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P

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

SELECT DIST JNO FROM SPJ WHERE SNO='S1' (4)找出工程项目J2使用的各种零件的名称及其数量。

SELECT PNAME,QTY FROM SPJ,P

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

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

SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海' (6)出使用上海产的零件的工程名称。

SELECT JNAME FROM SPJ,S,J

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

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

注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于JNO是唯一或不唯一的情况.

注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况

(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的记录,并从供应情况关系中删除相应的记录。 A、DELETE FROM S WHERE SNO=’S2’

B、DELETE FROM SPJ WHERE SNO=‘S2’ (11)请将(S2,J6,P4,200)插入供应情况关系。 INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)

6 .什么是基本表?什么是视图? 答

两者的区别和联系是什么?基本表是本身独立存在的表,在 sQL 中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

7 .试述视图的优点。 答

( l )视图能够简化用户的操作; ( 2 )视图使用户能以多种角度看待同一数据; ( 3 )视图对重构数据库提供了一定程度的逻辑独立性; ( 4 )视图能够对机密数据提供安全保护。

8 .所有的视图是否都可以更新?为什么? 答:

不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.

9 .哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明。

答:基本表的行列子集视图一般是可更新的。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。

10 .试述某个你熟悉的实际系统中对视图更新的规定。 答 VFP

11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。

CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME='三建' 针对该视图VSP完成下列查询:

(1)找出三建工程项目使用的各种零件代码及其数量。 SELECT DIST PNO,QTY FROM VSP (2)找出供应商S1的供应情况。

SELECT DIST * FROM VSP WHERE SNO='S1'

第6章 关系数据库理论

1 .理解并给出下列术语的定义:

函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All 一key )、1 NF 、ZNF 、3NF 、BcNF 、多值依赖、4NF 。

定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X?Y。(即只要X上的属性值相等,Y上的值一定相等。) 术语和记号:

X?Y,但Y不是X的子集,则称X?Y是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。

X?Y,但Y是X的子集,则称X?Y是平凡的函数依赖。 若X?Y,则X叫做决定因素(Determinant)。 若X?Y,Y?X,则记作X??Y。 若Y不函数依赖于X,则记作X ? Y。

定义2:在R(U)中,如果 X?Y,并且对于X的任何一个真子集X’,都有X’ ? Y,则称Y

对X完全函数依赖

若X?Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖

定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。 定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF 。(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。

定义5:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得X?Y,Y ? X,Y ? Z成立,则称R∈3NF。

定义6:关系模式R∈1NF 。若X?Y且Y不是X的子集时,X必含有码,则R∈BCNF。

定义7:关系模式R∈1NF,如果对于R的每个非平凡多值依赖X??Y(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF。 2.

解:(1)关系模式如下:

学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum)

学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:Sno?Sname,Sno?Sbirth,Sno?Class,Class?Dept,DEPT?Rno 传递依赖如下:

由于Sno?Dept,而Dept?Sno ,Dept?Rno(宿舍区)

所以Sno与Rno之间存在着传递函数依赖。

由于Class?Dept,Dept ? Class,Dept?Rno

所以Class与Rno之间存在着传递函数依赖。

由于Sno?Class,Class?Sno,Class?Dept

所以Sno与Dept之间存在着传递函数依赖。

B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下: Class?Pname,Class?Cnum,Class?Cyear,Pname?Dept. 由于Class?Pname,Pname?Class,Pname?Dept 所以C1ass与Dept之间存在着传递函数依赖。

C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下: Dept?Dno,Dno?Dept,Dno?Office,Dno?Dnum

根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。 D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下: Mname?Myear,Mname?Maddr,Mname?Mnum 该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A、学生S候选码:Sno;外部码:Dept、Class;无全码 B、班级C候选码:Class;外部码:Dept;无全码 C、系D候选码:Dept或Dno;无外部码;无全码 D、学会M候选码:Mname;无外部码;无全码 5 .试举出3 个多值依赖的实例。 答:

(1)关系模式MSC ( M , S , C )中,M 表示专业,S 表示学生,C 表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必修课相同,实例关系如下。按照语义对于M 的每一个值M i , s 有一个完整的集合与之对应而不问C 取何值,所以M 一一S 。由于C 与S 的完全对称性,必然有M 一一C 成立。

(2)关系模式ISA ( I , S , A )中,I 表示学生兴趣小组,S 表示学生,A 表示某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。 按照语义有I 一一S , I 一一A 成立。

(3)关系模式RDP ( R , D , P )中,R 表示医院的病房,D 表示责任医务人员,P 表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。

12.下面的结论哪些是正确的? 哪些是错误的? 对于错误的请给一个反例说明之。 (1)任何一个二目关系是属于3NF。

答:正确。因为关系模式中只有两个属性,所以无传递。 (2)任何一个二目关系是属于BCNF.

答:正确。按BCNF的定义,若X?Y,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。详细证明如下:(任何二元关系模式必定是BCNF)。

证明:设R为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依赖关系: A、A1?A2,但A2?A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF。 B、A1?A2,A2?A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。 包含码。R是BCNF。C、R的码为(A1,A2)(即A1 ?A2,A2 ?A1),决定因素都 (3)任何一个二目关系是属于4NF.

答:正确。因为只有两个属性,所以无非平凡的多值依赖。

第四版数据库系统概论课后答案(全)

第3章关系数据库标准语言SQL1.试述sQL语言的特点。答:(l)综合统一。sQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2)高度非过程化。用sQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL语句的操作过程
推荐度:
点击下载文档文档为doc格式
5ro448tl304ddq3430jm4g4gh0kze500yhr
领取福利

微信扫码领取福利

微信扫码分享