数据库系统概论第五版课后习题答案王珊 下载本文

内容发布更新时间 : 2024/12/23 0:33:17星期一 下面是文章的全部内容请认真阅读。

19 .数据库管理员、系统分析员、数据库设计人员、应用程序员的职责是什么? 答:

数据库管理员的职责:(1)决定数据库中的信息内容和结构; (2)决定数据库的存储结构和存取策略; (3)定义数据的安全性要求和完整性约束条件; (4)监控数据库的使用和运行; (5)数据库的改进和重组、重构。

系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及 DBA 相结合,确定系统的硬件、软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。

第二章 关系数据库

1 .试述关系模型的三个组成部分。

答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

2 .试述关系数据语言的特点和分类。 答:关系数据语言可以分为三类: 关系代数语言。

关系演算语言:元组关系演算语言和域关系演算语言。 SQL:具有关系代数和关系演算双重特点的语言。 这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。 3 (略) 4 .

5 . 述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。 6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: π

Sno

Jno=‘J1’

(SPJ))

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

Sno

Jno=‘J1’∧Pno=‘P1‘

(SPJ))

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

Sno

Sno,,Pno

(σ

Jno=‘J1‘

(SPJ))∞π

Pno

(σ

COLOR=’红‘

(P)))

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

Jno

(SPJ)- π

JNO

(σ

city=‘天津’∧Color=‘红‘

(S∞SPJ∞P)

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

Jno,Pno

(SPJ)÷ π

Pno

(σ

Sno=‘S1‘

(SPJ))

7. 试述等值连接与自然连接的区别和联系。

答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

8.关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?

答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。

第三章 关系数据库语言SQL

1 .试述 sQL 语言的特点。 答:

(l)综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。 (2)高度非过程化。用 sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 sQL 语句的操作过程由系统自动完成。

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

(4)以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。 (5)语言简捷,易学易用。 2.

3 (1) select * from S where A='10'; (2) select A,B from S;

(3) select A,B,S.C,S.D,E,F from S ,T where S.C=T.C and S.D=T.D;

(4) select * from S ,T where S.C=T.C;

(5) select * from S ,T where S.A

4.用 sQL 语句建立第二章习题 6中的 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))