数据库原理及应用课后习题答案机械工业出版社王丽艳.docx

上传人:b****7 文档编号:10759139 上传时间:2023-02-22 格式:DOCX 页数:46 大小:325.02KB
下载 相关 举报
数据库原理及应用课后习题答案机械工业出版社王丽艳.docx_第1页
第1页 / 共46页
数据库原理及应用课后习题答案机械工业出版社王丽艳.docx_第2页
第2页 / 共46页
数据库原理及应用课后习题答案机械工业出版社王丽艳.docx_第3页
第3页 / 共46页
数据库原理及应用课后习题答案机械工业出版社王丽艳.docx_第4页
第4页 / 共46页
数据库原理及应用课后习题答案机械工业出版社王丽艳.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

数据库原理及应用课后习题答案机械工业出版社王丽艳.docx

《数据库原理及应用课后习题答案机械工业出版社王丽艳.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用课后习题答案机械工业出版社王丽艳.docx(46页珍藏版)》请在冰豆网上搜索。

数据库原理及应用课后习题答案机械工业出版社王丽艳.docx

数据库原理及应用课后习题答案机械工业出版社王丽艳

习题1

1、试述数据、数据库、数据库管理系统、数据库系统的概念。

1)数据是描述客观事物的一组符号集合,是计算机可以识别和处理的符号集。

2)数据库(Database,DB)是长期存储在计算机内、有组织的、可共享的大量数据的集合。

数据库中的数据能反映出数据之间的联系。

3)数据库管理系统(DatabaseManagementSystem,DBMS),是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。

它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

4)数据库系统(Databasesystem,DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统DBMS及其开发工具、应用系统和用户构成。

核心是DBMS。

2、使用数据库系统有什么好处?

1)将大量的数据有组织的存储在数据库中,实现数据的共享、减少了数据的冗余性和提高了数据的独立性。

2)数据库系统的核心是数据库管理系统,它主要负责对数据库的管理和维护工作。

通过DBMS,用户可以逻辑、抽象地处理数据,不用关心数据在计算机中的具体存储方式,以及计算机处理数据的过程细节。

一切具体而繁琐的工作由DBMS完成。

3)数据库应用程序一般具有友好的用户界面,便于用户实现自己的需求。

4)数据库管理员是数据库系统中的重要人员,专门负责数据库的建立、配置、管理和维护工作。

3、试述文件系统和数据库系统之间的区别和联系。

在文件系统阶段,利用“按文件名访问,按记录进行存取”的管理技术,对文件中的数据进行修改、插入和删除操作。

应用程序和数据之间有了一定的独立性,但是文件系统中,文件仍然是面向应用的。

因此数据的冗余度大,浪费存储空间,而且容易造成数据的不一致性,给数据的修改和维护带来困难。

另外,数据独立性差,文件之间是孤立的,系统不容易扩充。

在数据库系统中,所有相关的数据都存储在一个称为数据库的集合中,它们作为一个整体定义。

由于数据是统一管理的,因此可以从全局出发,合理组织数据,避免了数据冗余。

另外,在数据库中,程序与数据相互独立,数据通过DBMS而不是应用程序来操作和管理,应用程序不再处理文件和记录的格式。

4、试述数据库系统的特点。

1)数据实现集中管理

数据库中的数据是按照一定的结构存储在一起的,数据之间存在一定的联系。

2)实现数据共享

数据库中的数据可被多个不同的用户共享,可以并发地存取数据。

多个用户可以用各种方式通过接口使用数据库,实现数据共享。

3)减少数据的冗余度

数据库中的数据面向多个应用,可以被多个用户、多个应用程序共享和使用,大大降低了数据的重复存储,减小了数据的冗余。

4)数据独立性高

数据独立性是指应用程序不会因数据的物理表示方式和访问技术的变化而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。

5、数据库管理系统的主要功能有哪些?

1)数据定义功能

借助DBMS提供的数据定义语言(DataDefinitionLanguage,DDL)来对数据库中的数据对象进行定义。

2)数据组织、存储和管理

数据存储和组织的基本目标是提高存储空间利用率和方便存取,提供多种存取方法提高存取效率。

3)数据操纵功能

借助DBMS提供的数据操纵语言(DataManipulationLanguage,DML)来完成用户对数据库提出的各种要求,实现数据的查询、插入、删除和修改等操作。

4)数据库的事务管理和运行管理

为了保证数据能安全、可靠的运行,数据库提供了事务管理功能。

数据库在建立、运行和维护时由DBMS统一管理和控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

5)数据库的建立和维护功能

包括数据库初始数据装载转换、数据库转储、介质故障恢复、数据库的重组织、性能监视分析等。

为了提高处理的效率,数据库管理系统提供了多种维护工具软件。

6)其他功能。

DBMS的其他功能包括:

DBMS与网络中其它软件系统的通信、两个DBMS系统的数据转换、异构数据库之间的互访和互操作等等。

6、试述数据库系统中两级映像结构的特点及功能。

1)外模式/模式映像

模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。

对应于同一个模式可以有任意多个外模式。

对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系,即如何从外模式找到其对应的模式。

这些映像定义通常包含在各自外模式的描述中。

当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应的修改,可以使外模式保持不变。

应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

2)模式/内模式映像

数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系,即说明逻辑记录和字段在内部是如何表示的。

该映像定义通常包含在模式描述中。

当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应的改变,可以使模式保持不变,从而应用程序也不必改变。

保证了数据与程序的物理独立性,简称数据的物理独立性。

7、试述数据库系统的三级模式结构,这种结构的优点是什么?

1)概念模式(Schema),也称逻辑模式或模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

概念模式表示数据库中全部信息,它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、开发工具及高级程序设计语言无关。

一个数据库只有一个模式。

DBMS提供模式描述语言(模式DDL)来严格地定义模式。

2)外模式(ExternalSchema),也称子模式或用户模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同的用户需求的数据视图。

它是数据库整体数据结构的子集或局部重构。

外模式通常是模式的子集。

一个数据库可以有多个外模式。

DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。

3)内模式(InternalSchema),也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

一个数据库只有一个内模式。

DBMS提供内模式描述语言(内模式DDL或存储模式DDL)来严格定义内模式。

8、什么是数据与程序的物理独立性?

什么是数据与程序的逻辑独立性?

为什么数据库具有数据与程序的独立性?

数据独立性是指应用程序不会因数据的物理表示方式和访问技术的变化而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。

它包括两个方面:

物理独立性和逻辑独立性。

物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表示现实世界的信息内容发生变化时,不影响应用程序的特性。

数据独立性是由数据库管理系统的两级映像功能来保证的。

9、试述数据库系统的组成。

1)数据库:

是数据库系统的处理对象,是以一定的组织方式存储在一起的、大量的、有组织的、能够被多个用户共享的数据的集合。

2)数据库管理系统:

是数据库系统的核心。

主要负责对数据库的管理和维护工作。

用户不用关心数据在计算机中的具体存储方式,以及计算机处理数据的过程细节。

一切具体而繁琐的工作由DBMS完成。

3)应用系统:

介于用户和数据库管理系统之间,是计算机人员开发的面向最终用户的软件,它是在DBMS基础上实现的。

数据库应用程序一般具有友好的用户界面,便于用户实现自己的需求。

4)用户:

包括数据库的开发、管理和使用者。

10、DBA的职责是什么?

数据库管理员是数据库系统中的重要人员,他是专门负责数据库的建立、配置、管理和维护工作的人员。

主要职责体现在建库、用库和改进三个方面。

他负责决定数据中的信息的内容和结构,决定数据库的存储结构和存取策略,同时,他要确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件,保证数据库的安全性和完整性。

并且,DBA还要监视数据库系统的运行情况,及时处理运行过程中出现的问题,进行数据库的备份、恢复和改进等工作。

习题2

1、试述概念模型的作用。

概念层数据模型,也称为概念模型或信息模型,它是从数据的应用语义角度来抽取模型,并按照用户的观点来对数据和信息进行建模,这类模型主要用于数据库设计阶段,它与具体的数据库管理系统无关。

概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解,它是用户和设计人员交流的工具。

2、解释“三个世界”之间的联系。

从客观世界、信息世界到数据世界是一个认识的过程,也是抽象和映射的过程。

在计算机数据库中存储的数据,是经过两级抽象而来的,并且反映的是现实世界的有关信息。

现实世界的复杂事物经过两级抽象的结果就是数据模型。

而抽象的过程是先将现实世界抽象为信息世界的实体模型,然后再将实体模型经过二级抽象得到数据库系统支持的数据模型。

3、定义并解释下列术语。

1)实体

客观存在并可相互区别的事物称为实体(Entity)。

实体可以是具体的人、事、物,也可以是抽象的概念或联系。

2)实体型

具有相同特征的实体称为实体型(EntityType)。

3)实体集

同属于一个实体型的实体的集合称为实体集(EntitySet)。

4)属性

属性(Attribute)就是描述实体的特性或性质的数据。

5)码

能够唯一标识一个实体的属性或属性集称为码(Key)。

如果码是由几个属性构成的,则其中不能有多余的属性。

即必须是几个属性全部给出才能唯一标识一个实体。

码是区别实体集中不同实体的关键属性,也称为关键字或键。

6)实体-联系图:

采用图形的形式描述实体-联系模型称为实体-联系图。

4、学校中有若干个系,每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授和副教授各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程由若干学生选修。

试用E-R图画出此学校的概念模型。

给出主要实体(系、班级、教研室、学生、教员、课程)的E-R图

5、某工厂生产若干产品,每种产品由不同的零件组成,每种零件可用在不同的产品上。

这些零件由不同的原材料制成,不同的零件使用的材料可能相同。

这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。

请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。

6、试述网状、层次模型的特点。

1)层次模型

优点:

①层次数据模型简单清晰。

②易于表示诸如“家族关系”、“行政结构”等现实世界层次结构的事物及联系。

③对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型,其查询效率优于关系模型,不低于网状模型。

缺点

①只能表达1:

n联系,若要表达多对多的关系,需要引入冗余数据,从而易产生数据的不一致性,或者通过引入虚拟结点来创建非自然的数据组织来解决。

②对数据的插入、删除和更新操作的限制较多。

③查询子女结点必须通过父结点,缺乏快速定位机制。

2)网状模型

优点

网状数据模型能够更为直接地描述现实世界,具有良好的性能,存取效率高。

缺点

其结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。

应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

7、试述关系模型的概念,定义并解释下列术语。

1)关系(Relation):

一个关系对应通常说的一张表。

2)域(Domain):

属性的取值范围。

3)元组(Tuple):

表中的一行即为一个元组。

表2-1中的每一行称为一个元组。

4)分量:

元组中的一个属性值。

5)关系模式:

指对一个关系的结构描述,即关系模式中要指出元组集合的结构。

一般表示为:

关系名(属性1,属性2,…,属性n)。

8、试述关系数模型的特点。

1)关系模型的基本理论分别为“关系运算理论”和“关系模式设计理论”,它们均建立在严格数学理论的基础之上,从而使得基于关系模型数据库技术的发展与深化具有广阔的天地与坚实的支撑。

2)关系模型的概念清晰单一,实体,实体间的联系以及数据查询的最终结果都用关系表示,数据结构简洁明晰,用户易懂易学。

3)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性。

当然,关系数据模型也有缺点。

其中主要的缺点是:

由于存取路径对用户透明,查询效率往往很低。

为了提高性能,DBMS必须对用户的查询请求进行优化,因此增加了开发的难度。

 

习题3

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

1)数据结构

关系模型的数据结构非常简单,只包括单一的数据结构——关系。

从用户角度,关系模型中数据的逻辑结构是一张扁平的二维表。

2)数据操作

关系操作采用集合操作方式,即操作的对象和结果都是集合。

这种方式称为一次一集合的方式。

而非关系数据结构的数据操作方式为一次一记录方式。

关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。

3)完整性约束

关系模型提供了丰富的完整性控制机制,允许定义三类完整性:

实体完整性、参照完整性和用户定义完整性。

2.定义并理解下列术语,说明它们之间的联系与区别:

1)域、笛卡尔积、关系、元组、属性

①域(Domain)

域是一组具有相同数据类型的值的集合。

②笛卡尔积(CartesianProduct)

定义3.2给定一组域D1,D2,…,Dn,这些域中可以有相同的域。

D1,D2,…,Dn的笛卡尔积为:

D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}

③关系

D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为:

R(D1,D2,…,Dn),这里R是关系名。

④表的每行对应一个元组,也可称为记录(Record)。

⑤表的每列对应一个域,也可以称为字段(Filed)。

由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)。

2)主码、候选码、外码

①若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性组为候选码或码(Key)。

其中属性组中不能含有多余的属性。

②若一个关系有多个候选码,则选定其中一个作为主码(PrimaryKey)。

每个关系有且仅有一个主码。

③如果一个属性或属性组不是所在关系的码,却是另一个关系的码,则称该属性或属性组为所在关系的外码。

3)关系模型、关系、关系数据库

①关系数据库中关系模式是型,关系是值,关系模式是对关系的描述,关系模式可以用一个五元组表示:

R(U,D,DOM,F)。

②关系是笛卡尔积的有限集,关系是一个二维表。

③采用关系模型的数据库称为关系数据库。

3.试述关系模型的完整性规则,在参照完整性中,为什么外码属性的值也可以为空?

什么情况下才可以为空?

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

(1)或者取空值(F的每个属性值均为空值)

(2)或者等于S中某个元组的主码值

对于选课表关系中每个元组的“课程号”属性只取两类值:

(1)空值,表示该学生未选课。

(2)非空值,这时该值必须是课程表关系中出现的“课程号”值,表示该学生不可能选修一个未开设的课程。

参照完整性是不同关系之间或一个关系不同元组之间一种约束,通过外码和主码建立了不同关系之间的联系。

4.关系代数包含哪些运算?

传统的集合运算:

并、交、差和笛卡尔积。

专门的关系运算:

选择、投影、连接和除。

5.试述笛卡尔积、等值连接与自然连接的区别和联系。

在进行等值连接和自然连接时,必须先做笛卡尔积,然后选择其中满足条件的元组。

自然连接是特殊的等值连接,要求素有的公共属性都要相等,并且,在自然连接中最后要去掉重复的列。

6.设置有两个关系R和S(如下),计算R-S,R∪S,R∩S,R-S,RXS,

R-S

A

B

C

4

5

7

5

2

6

R∪S

A

B

C

4

5

7

12

15

5

5

2

6

2

1

11

5

4

3

R∩S

A

B

C

12

15

5

2

1

11

当两个表具有相同列时,不做除运算。

 

RXS

R.A

R.B

R.C

S.A

S.B

S.C

4

5

7

2

1

11

4

5

7

5

4

3

4

5

7

12

15

5

12

15

5

2

1

11

12

15

5

5

4

3

12

15

5

12

15

5

5

2

6

2

1

11

5

2

6

5

4

3

5

2

6

12

15

5

2

1

11

2

1

11

2

1

11

5

4

3

2

1

11

12

15

5

B

A

5

4

15

12

2

5

1

2

A

B

C

12

15

5

5

2

6

R.A

R.B

R.C

S.A

S.B

S.C

4

5

7

2

1

11

4

5

7

5

4

3

12

15

5

2

1

11

12

15

5

5

4

3

5

2

6

2

1

11

A

B

C

12

15

5

2

1

11

 

7.设有三个关系

Student(Sno,Sname,Ssex,Sage,Spol,Sdept)

Course(Cno,Cname,Credi,Teacher)

SC(Sno,Cno,Grade)

加下划线的属性为主码。

试用关系代数表达式表示下列查询语句。

1)查询CHEN老师所授课程的课程号,课程名。

2)查询年龄小于25岁的男生的学号和姓名。

3)查询学号为S2的学生所学课程的课程名与任课教师名。

4)查询ZHENG同学没有选修的课程号。

5)查询全部学生都选修的课程的课程号与课程名。

(可以有其他的表达式形式)

习题4

1、试述SQL语言有什么特点?

1)综合统一

2)高度非过程化

3)面向集合的操作方式

4)以同一种语法结构提供多种使用方式

5)语言简洁,易学易用

2、试述SQL的定义功能。

SQL的数据定义语句包括模式定义、表定义和索引定义。

3、针对前面建立的表格Student、Course和SC,试用SQL完成下面的操作:

1)在Course表中添加一列,该列存放授课教师的姓名。

ALTERtableCourse

ADDteachernamechar(10);

2)将SC表中的Grade一列的数据类型改为SMALLINT。

ALTERtableSC

ALTERCOLUMNGradesmallint;

3)删除表Student中的Snat列。

ALTERtableStudent

DROPSnat

4)查询学生的所有选课信息。

SELECT*

FROMSC

5)查询计算机系年龄在18到20岁之间女生的姓名,年龄。

SELECTSname,Sage

FROMStudent

WHERESdep=’计算机’andSageBetween18and20

6)查询总成绩超过200分的学生,列出其学号和总分。

SELECTSno,Sum(Grade)总分

FROMSC

GROUPBYSno

HAVINGSum(Grade)>200

7)查询没有选修“数据库原理”课程的学生的姓名和所在系

SELECTSname,Sdept

FROMStudent

WHERESnoNOTIN(SELECTSno

FROMSC

WHERECno=(SELECTCno

FROMCourse

WHERECname=’数据库原理’))

8)查询哪些学生没有选课,列出学号和姓名

SELECTSno,Sname

FROMStudent

WHERESnoNOTIN(SELECTSno

FROMSC)

9)查询001号课程的最高分、最低分和平均分。

SELECTMAX(Grade),MIN(Grade),AVG(Grade)

FROMSC

WHERECno=’001’

10)将“操作系统”课程的学分改为2学分。

UPDATECourse

SETCredit=2

WHERECname=’操作系统’

11)将计算机系学生的“高数”成绩加10分。

UPDATESC

SETGrade=Grade+10

WHERESnoIN(SELECTSno

FROMStudent

WHERESdept=’计算机’)

And

Cno=(SELECTCno

FROMCourse

WHERECname=’高数’)

4、数据库采用索引有什么优点?

1)使用索引加快数据查询的速度

2)使用索引保证数据的唯一性

3)使用索引加快连接速度

5、什么是基本表?

什么是视图?

两者的区别和联系是什么?

基本关系是实际存在的表,是实际存储数据的逻辑表示。

视图是从一个或几个基本表导出的表,是基本表的部分行和列数据的组合。

数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

因此,它是一个虚表。

基本表中的数据发生变化,从视图中查询出的数据也随之改变了。

视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及变化。

视图可以从一个基本表中提取数据,也可以从多个基本表中提取数据,甚至可以从其他视图中提取数据,构成新视图的内容。

对视图的操作最后会转换成对基本表的操作。

视图一经定义,就可以和基本表一样被查询、被删除。

 

6、试述视图的优点。

1)视图能够简化用户的操作

2)视图使用户从多种角度看待同一数据

3)提供了一定程度的逻辑独立性

4)视图能够对机密数据提供安全保护

5)改进性能

7、所有视图是否都可以更新?

为什么?

在关系数据库中,并不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。

目前各个关系数据库一般只允许对行列子集视图进行更新,而且各个系统对视图的更新还有更进一步的规定。

8、利用表格Student、Course和SC,试用SQL语句完成以下创建视图操作:

1)查询学生的学号、姓名、政治面貌

CREATEVIEWS_N

AS

SELECTSno,Sname,SpolFROMStudent

2)查询每个学生的选课门数,要求列出学生的学号和选课门数。

CREATEVIEWCourse_S

AS

SELECTSno,count(*)FROMSCGROUPBYSno

3)查询计算机系C语言程序设计成绩最高的学生学号、姓名。

CREATEVIEWC_MAX

AS

SELECTSno,Sname

FROMStudent

WHERESnoIN(SELECTSno

FROMSC

WHERECno=(SELEC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1