数据库原理及应用(第2版)习题参考答案

数据库原理及应用(第2版)习题参考答案
数据库原理及应用(第2版)习题参考答案

第1章数据概述

一.选择题

1.下列关于数据库管理系统得说法,错误得就是C

A.数据库管理系统与操作系统有关,操作系统得类型决定了能够运行得数据库管理系统得类型

B.数据库管理系统对数据库文件得访问必须经过操作系统实现才能实现

C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件

D.数据库管理系统对用户隐藏了数据库文件得存放位置与文件名

2.下列关于用文件管理数据得说法,错误得就是D

A.用文件管理数据,难以提供应用程序对数据得独立性

B.当存储数据得文件名发生变化时,必须修改访问数据文件得应用程序

C。用文件存储数据得方式难以实现数据访问得安全控制

D.将相关得数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据得效率

3.下列说法中,不属于数据库管理系统特征得就是C

A.提供了应用程序与数据得独立性

B。所有得数据作为一个整体考虑,因此就是相互关联得数据得集合

C.用户访问数据时,需要知道存储数据得文件得物理信息

D。能够保证数据库数据得可靠性,即使在存储数据得硬盘出现故障时,也能防止数据丢失

5。在数据库系统中,数据库管理系统与操作系统之间得关系就是D

A。相互调用

B.数据库管理系统调用操作系统

C.操作系统调用数据库管理系统

D。并发运行

6。数据库系统得物理独立性就是指D

A.不会因为数据得变化而影响应用程序

B.不会因为数据存储结构得变化而影响应用程序

C。不会因为数据存储策略得变化而影响数据得存储结构

D。不会因为数据逻辑结构得变化而影响应用程序

7.数据库管理系统就是数据库系统得核心,它负责有效地组织、存储与管理数据,它位于用户与操作系统之间,属于A

A.系统软件?? B.工具软件

C.应用软件??

D.数据软件

8.数据库系统就是由若干部分组成得。下列不属于数据库系统组成部分得就是B

A.数据库???B。操作系统

C.应用程序???D。数据库管理系统

9.下列关于客户/服务器结构与文件服务器结构得描述,错误得就是D

A。客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端

B.客户/服务器结构返回给客户端得就是处理后得结果数据,文件服务器结构返回给客户端得就是包含客户所需数据得文件

C.客户/服务器结构比文件服务器结构得网络开销小

D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储得数据不能共享

数据库就是相互关联得数据得集合,它用综合得方法组织数据,具有较小得数据冗余,可供多个用户共享,具有较高得数据独立性,具有安全控制机制,能够保证数据得安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据得一致性与完整性。

10.下列关于数据库技术得描述,错误得就是B

A。数据库中不但需要保存数据,而且还需要保存数据之间得关联关系

B。由于数据就是存储在磁盘上得,因此用户在访问数据库数据时需要知道数据得存储位置

C.数据库中数据存储结构得变化不会影响到应用程序

D. 数据库中得数据具有较小得数据冗余

二.填空题

1.数据管理得发展主要经历了_______与_______两个阶段。文件管理数据库管理

2。在利用数据库技术管理数据时,所有得数据都被_______统一管理。数据库管理系统

3.数据库管理系统提供得两个数据独立性就是_______独立性与_______独立性. 物理逻辑

4。数据库系统能够保证进入到数据库中得数据都就是正确得数据,该特征称为_______。数据完整性

5。在客户/服务器结构中,数据得处理就是在________端完成得。服务器

6.数据库系统就就是基于数据库得计算机应用系统,它主要由________、________与________三部分组成.??数

据库、数据库管理系统与应用程序

7.与用数据库技术管理数据相比,文件管理系统得数据共享性________,数据独立性________。

差低

8.在数据库技术中,当表达现实世界得信息内容发生变化时,可以保证不影响应用程序,这个特性称为______. ?逻辑独

立性

9.当数据库数据由于机器硬件故障而遭到破坏时,数据库管理系统提供了将数据库恢复到正确状态,并尽可能使数据不丢失得功能,这就是数据库管理系统得______特性保证得. 可靠性

10.数据库中得数据就是相互关联得数据集合,具有较小得数据冗余,可供多个用户共享,具有较高得数据独立性,且具

有安全性与可靠性,这些特征都就是由______保证得。数据库管理系统

第2章数据模型与数据库系统结构

一。选择题

1.数据库三级模式结构得划分,有利于??A

A、数据得独立性?

B、管理数据库文件

C、建立数据库??D、操作系统管理数据库

2.在数据库得三级模式中,描述数据库中全体数据得逻辑结构与特征得就是?B

A.内模式B、模式C、外模式??D、其她

3。数据库系统中将数据分为三个模式,从而提供了数据得独立性,下列关于数据逻辑独立性得说法,正确得就是?C

A.当内模式发生变化时,模式可以不变

B.当内模式发生变化时,应用程序可以不变

C.当模式发生变化时,应用程序可以不变

D.当模式发生变化时,内模式可以不变

4.为最大限度地保证数据库数据得正确性,关系数据库实现了三个完整性约束,下列用于保证实体完整性得就是??B

A、外码B、主码??C、CHECK约束???D、UNIQUE约束

5.下列关于关系中主属性得描述,错误得就是?D

A.主码所包含得属性一定就是主属性

B.外码所引用得属性一定就是主属性

C.候选码所包含得属性都就是主属性

D.任何一个主属性都可以唯一地标识表中得一行数据

6.设有关系模式销售(顾客号,商品号,销售时间,销售数量),若允许一个顾客在不同时间对同一个产品购买多次,则

此关系模式得主码就是?D

A.顾客号???B.产品号

C.(顾客号,商品号)

D.(顾客号、商品号、销售时间)

7.关系数据库用二维表来存储数据。下列关于关系表中记录得说法,正确得就是?B

?A。顺序很重要,不能交换???B.顺序不重要

C.按输入数据得顺序排列?D.一定就是有序得

8.下列模式中,用于描述单个用户数据视图得就是??C

?A.内模式??B.概念模式

C。外模式??D。存储模式

9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层数据模型应满足得要求得就是?A

?A。能够描述并发数据??B。能够真实地模拟现实世界

C.容易被业务人员理解?D。能够方便地在计算机上实现

10。数据模型三要素就是指??B

?A.数据结构、数据对象与数据共享??

B。数据结构、数据操作与数据完整性约束

?C.数据结构、数据操作与数据得安全控制

D.数据结构、数据操作与数据得可靠性

11.下列关于实体联系模型中联系得说法,错误得就是?D

A.一个联系可以只与一个实体有关

B.一个联系可以与两个实体有关

?C。一个联系可以与多个实体有关

?D。一个联系也可以不与任何实体有关

12.数据库系统中得三级模式以及模式间得映像提供了数据得独立性。下列关于两级映像得说法,正确得就是??C

A.外模式到模式得映像就是由应用程序实现得,模式到内模式得映像就是由DBMS实现得

B.外模式到模式得映像就是由DBMS实现得,模式到内模式得映像就是由应用程序实现得

?C。外模式到模式得映像以及模式到内模式得映像都就是由DBMS实现得

D.外模式到模式得映像以及模式到内模式得映像都就是由应用程序实现得

13.下列不属于数据完整性约束得就是?D

A.实体完整性??B。参照完整性

C.域完整性??D.数据操作完整性

14.下列关于关系操作得说法,正确得就是A

A。关系操作就是非过程化得?

B.在进行关系操作时,用户需要知道数据得存储位置

?C.在进行关系操作时,用户需要知道数据得存储结构

D.用户可以在关系上直接进行行定位操作

14。下列关于概念层数据模型得说法,错误得就是?C

?A.概念层数据模型应该采用易于用户理解得表达方式

B.概念层数据模型应该比较易于转换成组织层数据模型

C。在进行概念层数据模型设计时,需要考虑具体得DBMS得特点

D.在进行概念层数据模型设计时,重点考虑得内容就是用户得业务逻辑

15.下列关于外码得说法,正确得就是?C

A.外码必须与其所引用得主码同名

B。外码列不允许有空值

?C.外码与所引用得主码名字可以不同,但语义必须相同

D.外码得取值必须要与所引用关系中主码得某个值相同

16。下列关于关系得说法,错误得就是??D

A.关系中得每个属性都就是不可再分得基本属性

B。关系中不允许出现值完全相同得元组

C.关系中不需要考虑元组得先后顺序

D。关系中属性顺序得不同,关系所表达得语义也不同

二。填空题

1.数据库可以最大限度地保证数据得正确性,这在数据库中被称为______。数据完整性

2.实体-联系模型主要包含______、______与______三部分内容。实体属性联系

3.如果实体A与实体B就是一对多联系,则实体B中得一个实例最多可对应实体A中得______实例。

一个

4.数据完整性约束包括______完整性、______完整性与______完整性。实体参照用户定义

5。关系数据模型得组织形式就是______。二维表

6。数据库系统得______与______之间得映像,提供了数据得物理独立性。

7.数据得逻辑独立性就是指当______变化时可以保持______不变。内模式模式

8.数据模型三要素包括______、______与______。数据结构数据操作数据完整性约束

9。实体联系模型属于______层数据模型,它与具体得DBMS______。概念无关

10。关系操作得特点就是基于______得操作。集合

11.当数据得物理存储位置发生变化时,通过调整______映像,可以保证______不变化,从而保证数据得物理独立性。模式/内模式模式

12。参照完整性约束就是通过______保证得。外码

第3章SQL语言基础及数据定义功能

一.选择题

1。下列关于SQL语言特定得叙述,错误得就是B

A.使用SQL语言访问数据库,用户只需提出做什么,而无需描述如何实现

B.SQL语言比较复杂,因此在使用上比较难

C.SQL语言可以在数据库管理系统提供得应用程序中执行,也可以在DOS环境下执行

D.使用SQL语言可以完成任何数据库操作

2.下列所述功能中,不属于SQL语言功能得就是D

A。数据库与表得定义功能B。数据查询功能

C.数据增、删、改功能??D.提供方便得用户操作界面功能

3.设某职工表中有用于存放年龄(整数)得列,下列类型中最合适年龄列得就是C

A。intB.smallint

C.tinyint?????D。bit

4.SQL Server数据库就是由文件组成得.下列关于数据库所包含得文件得说法,正确得就是D

A.一个数据库可包含多个主数据文件与多个日志文件

B。一个数据库只能包含一个主数据文件与一个日志文件

C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件

D。一个数据库可包含多个次要数据文件与多个日志文件

5。在SQLServer中创建用户数据库,其主数据文件得大小必须大于B

A。master数据库得大小B.model数据库得大小

C。msdb数据库得大小???D.3MB

6.在SQL Server系统数据库中,存放用户数据库公共信息得就是D

A.master?B.model

C.msdb数据库得大小?? D.tempdb

7.在SQL Server中创建用户数据库实际就就是定义数据库所包含得文件以及文件得属性。下列不属于数据库文件属性得就是C

A。初始大小B。物理文件名

C.文件结构????D。最大大小

8。在SQL Server中创建用户数据库实际就就是定义数据库所包含得文件以及文件得属性。下列不属于数据库文件属性得就是C

A.初始大小?B。物理文件名

C.文件结构? D. 最大大小

9.下列约束中用于限制列得取值范围得约束就是B

A.PRIMARYKEYB。CHECK

C.DEFAULT??D。UNIQUE

10。下列约束中用于限制列得取值不重得约束就是D

A。PRIMARYKEY?B.CHECK

C.DEFAULT?????

D. UNIQUE

11.下列约束中用于实现实体完整性得约束就是A

A.PRIMARYKEY?B.CHECK

C.DEFAULT????D. UNIQUE

12.下列关于DEFAULT约束得说法,错误得就是D

A.一个DEFAULT约束只能约束表中得一个列

B。在一个表上可以定义多个DEFAULT约束

C.DEFAULT只能定义在列级完整性约束处

D。在列级完整性约束与表级完整性约束处都可以定义DEFAULT约束

第 4 章数据操作语句

一.选择题

1.当关系R与S进行连接操作时,如果R中得元组不满足连接条件,在连接结果中也会将这些记录保留下来得操作就是A

A.左外连接?B.右外连接

C.内连接?????D。自连接

2.设在某SELECT语句得WHERE子句中,需要对Grade列得空值进行处理。下列关于空值得操作,错误得就是C

A。GradeIS NOT NULL B。Grade IS NULL

C.Grade= NULL????D。NOT(Grade IS NULL)

3.下列聚合函数中,不忽略空值得就是??D

A。SUM(列名) B.MAX(列名)

C.AVG(列名)??D.COUNT(*)

4.SELECT…INTO…FROM语句得功能就是A

A.将查询结果插入到一个新表中

B.将查询结果插入到一个已建好得表中

C.合并查询得结果

D.向已存在得表中添加数据

5。下列利用SC表得查询语句中,错误得就是?B

A.SELECT Sno,COUNT(*) FROM SC GROUP BY Sno

B.SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3

C.SELECT Sno FROM SC GROUP BYSno HAVING COUNT(*)> 3

D.SELECT Sno FROM SC GROUP BY Sno

6。现要利用Student表查询年龄最小得学生姓名与年龄。下列实现此功能得查询语句中,正确得就是?DA.SELECTSname, MIN(Sage) FROM Student

B.SELECT Sname,Sage FROM Student WHERE Sage= MIN(Sage)

C.SELECTTOP 1Sname, Sage FROM Student

D.SELECT TOP 1 Sname, Sage FROM Student ORDER BY Sage

7.设SC表中记录成绩得列为:Grade,类型为int。若在查询成绩时,希望将成绩按‘优’、‘良’、‘中’、‘及格’与‘不及格’形式显示,正确得Case函数就是?C

A.Case Grade

When90~100 THEN’优’

When80~89 THEN'良’

When 70~79 THEN’中'

When 60~69 THEN '及格'

Else '不及格'

End

B.Case

When Grade between 90 and 100 THEN Grade = '优'

When Grade between80 and 89THEN Grade= ’良’

When Grade between 70 and 79 THEN Grade = '中'

WhenGrade between 60and69 THEN Grade ='及格’

Else Grade ='不及格'

End

C.Case

WhenGrade between 90 and100THEN '优’

When Gradebetween 80 and 89 THEN '良’

When Grade between 70 and 79 THEN '中'

When Grade between 60 and 69 THEN '及格’

Else '不及格’

End

D.Case Grade

When 90~100 THEN Grade =’优’

When 80~89 THEN Grade='良'

When 70~79 THENGrade ='中’

When 60~69 THEN Grade= ’及格'

Else Grade = ’不及格’

End

8.下述语句得功能就是将两个查询结果合并为一个结果。其中正确得就是?B

A.selectsno,sname,sage from student where sdept = 'cs'

Order by sage

Union

select sno,sname,sagefrom student where sdept= ’is’

Order by sage

B.select sno,sname,sage from student where sdept ='cs'

Union

select sno,sname,sage from student where sdept= ’is’

Order bysage

C.select sno,sname,sage fromstudent wheresdept = ’cs’

Union

select sno,sname from student where sdept= 'is'

Order by sage

D.select sno,sname,sagefrom studentwheresdept= ’cs'

Orderby sage

Union

select sno,sname,sagefrom student wheresdept = 'is'

9.下列SQL语句中,用于修改表数据得语句就是C

A。ALTER B.SELECT

C.UPDATE???

D.INSERT

10。设有Teachers表,该表得定义如下:

CREATE TABLE Teachers(

? TnoCHAR(8) PRIMARY KEY,

TnameVARCHAR(10) NOT NULL,

Age TINYINTCHECK(Age BETWEEN25 AND 65))

下列插入语句中,不能正确执行得就是D

A.INSERT INTO Teachers VALUES(’T100','张鸿’,NULL)

B.INSERT INTO Teachers(Tno,Tname,Age)VALUES('T100',’张鸿’,30)

C.INSERT INTO Teachers(Tno,Tname) VALUES(’T100','张鸿’)

D。INSERT INTO TeachersVALUES('T100’,'张鸿')

11.设数据库中已有表4-1至4-3所示得Student、Course与SC表。现要查询学生选得第2学期开设课程

得情况,只需列出学号、姓名、所在系与所选得课程号.该查询涉及到得表就是?D

A.仅Student表B.仅Student与SC表

C。仅Student与Course表??D.Student、SC与Course表

12。删除计算机系学生(在student表中)得修课记录(在SC表中)得正确得语句就是表就是?B A。DELETE FROM SCJOIN Student b ON S、Sno= b、Sno

WHERE Sdept = ’计算机系’

B.DELETE FROM SC FROM SC JOIN Student b ON SC、Sno = b、Sno

WHERE Sdept = ’计算机系’

C.DELETE FROMStudent WHERE Sdept= '计算机系’

D.DELETE FROM SC WHERE Sdept = ’计算机系'

二.填空题

1.在相关子查询中,子查询得执行次数就是由_________决定得.外层表得行数

2.对包含基于集合测试子查询得查询语句,就是先执行_________层查询,在执行_________层查询.内,外3.对包含相关子查询得查询语句,就是先执行_________层查询,在执行_________层查询.外,内

4.聚合函数COUNT(*)就是按_________统计数据个数。行

5.设Grade列目前有三个值:90、80与NULL,则A VG(Grade)得值就是_________,MIN(Grade)得值就是_________。85,80

6.设有学生表(学号,姓名,所在系)与选课表(学号,课程号,成绩),现要建立统计每个系得选课人数.请补全下列语句: COUNT(DISTINCT 选课表、学号)

SELECT所在系, _________ FROM选课表

JOIN学生表 ON选课表、学号= 学生表、学号

GROUP BY 所在系

7.设有选课表(学号,课程号,成绩),现要查询考试成绩最高得三个学生得学号、课程号与成绩,包括并列情况。

请补全下列语句:TOP 3 WITH TIES, ORDER BY 成绩 DESC

SELECT _________ 学号,课程号,成绩 FROM选课表

_________

8.UNION操作用于合并多个查询语句得结果,如果在合并结果时不希望去掉重复得数据,则在用UNION操作时应使用_________关键字。?ALL

9.进行自连接操作得两个表在物理上为一张表。通过_________方法可将物理上得一张表在逻辑上成为两张表。起别名

10.FROM A LEFTJOIN BON…语句表示在连接结果中不限制_________表数据必须满足连接条件。

A

11.对分组后得统计结果再进行筛选使用得子句就是_________.HAVING

12.若SELECT语句中同时包含WHERE子句与GROUP子句,则先执行得就是_________子句.WHERE三.简答题

1.在聚合函数中,哪个函数在统计时不考虑NULL。

答:COUNT(*)

2.在LIKE运算符中“%”得作用就是什么?

答:匹配0个或多个字符。

3.WHERE Age BETWEEN20 AND 30子句,查找得Age范围就是多少?

答:Age大于等于20并且小于等于30

4.WHERESdeptNOT IN (‘CS’,’IS’,’MA’),查找得数据就是什么?

答:查找‘CS’,’IS',’MA’三个系之外得其她系

5.自连接与普通内连接得主要区别就是什么?

答:自连接中进行连接操作得表在物理上就是一张表,而普通内连接进行连接得表在物理上就是两张表。

6.外连接与内连接得主要区别就是什么?

答:进行外连接得两个表中,可以有一张表不满足连接条件,而进行内连接得两个表必须都满足连接条件。

7.在使用UNION合并多个查询语句得结果时,对各个查询语句得要求就是什么?

答:各个查询语句得列个数必须相同,对应列得语义相同,类型兼容.

8.相关子查询与嵌套子查询在执行方面得主要区别就是什么?

答:相关子查询得执行过程就是先外后内,而嵌套子查询得执行过程就是先内后外。而且相关子查询中必须有与外层查询得关联,而嵌套子查询中,内、外层查询之间没有关联关系.

9.执行SELECT …INOT表名FROM…语句时,对表名得要求就是什么?

答:必须就是一个不存在得新表名。

10.对统计结果得筛选应该使用哪个子句完成?

答:使用HA VING子句

11.在排序子句中,排序依据列得前后顺序就是否重要?ORDER BYC1,C2子句对数据得排序顺序就是什么?答:重要,系统会按列得先后顺序进行排序。

先按C1列进行排序,在C1列值相同时再按C2列进行排序。

12.TOP子句得作用就是什么?

答:在查询结果产生后,提取结果得前若干行数据.

四。上机练习

1。查询学生选课表中得全部数据。

答:select *from SC

2.查询计算机系得学生得姓名、年龄.

答:selectsname,sagefrom student where sdept= ’计算机系’

3、查询成绩在70~80分之间得学生得学号、课程号与成绩。

答:selectsno,cno,grade from sc on where grade between70 and 80

4.查询计算机系年龄在18~20之间且性别为“男”得学生得姓名、年龄.

答:select sname,sage from student

where sdept = ’计算机系' and sagebetween 18 and 20 and ssex = ’男'

5.查询“C001"号课程得最高分.

答:selectmax(grade)from sc where cno= 'C001’

6、查询计算机系学生得最大年龄与最小年龄。

答:select max(sage)as max_age, min(sage)as min_age from student where sdept = ’计算机系'

7、统计每个系得学生人数。

答:select sdept,count(*) from student group by sdept

8、统计每门课程得选课人数与考试最高分。

答:selectcno, count(*),max(grade)from sc group by cno

9、统计每个学生得选课门数与考试总成绩,并按选课门数升序显示结果。

答:select sno,count(*), sum(grade) from sc group bysno

order bycount(*) asc

10、查询总成绩超过200分得学生,要求列出学号与总成绩。

答:select sno,sum(grade) from sc groupby sno

havingsum(grade)〉200

11、查询选课门数超过2门得学生得学号、平均成绩与选课门数。

答:selectsno,avg(grade),count(*)from sc having count(*) > 2

12、查询选了“C002"课程得学生得姓名与所在系。

答:select sname,sdeptfrom student s join sc on s、sno = sc、sno where cno = 'C002’

13、查询成绩80分以上得学生得姓名、课程号与成绩,并按成绩降序排列结果.

答:select sname,cno,grade from student s join scon s、sno =sc、sno where grade >80 order by grade desc

14、查询计算机系男生修了“数据库基础”得学生得姓名、性别与成绩。

答:selectsname,ssex,grade from students join sc on s、sno = sc、sno join course c on co= sco

where sdept = '计算机系' and ssex = '男’ andcname= '数据库基础’

15、查询学生得选课情况,要求列出每位学生得选课情况(包括未选课得学生),并列出学生得学号、姓名、课程号

与考试成绩。

答:selects、sno,sname,cno,grade fromstudent s

left join sc on s、sno= sc、sno

16、查询哪些课程没有人选,要求列出课程号与课程名。

答:select co,cname fromcourse c left join sconco = sco

where sco isnull

17。查询计算机系没有选课得学生,列出学生姓名。

答:select sname from student s left join scon s、sno = sc、sno Where sdept = '计算机系' and sc、sno isnull

18、列出“数据库基础"课程考试成绩前三名得学生得学号、姓名、所在系与考试成绩。

答:select top3s、sno, sname,sdept, grade

from Student s join SCon s、Sno = SC、Sno

join Course c on co =SCo

where cname = '数据库基础'

order by grade desc

19.查询VB考试成绩最低得学生得姓名、所在系与VB成绩.

答:select top 1 withties sname,sdept,grade from student s

join sc on s、sno= sc、sno

join course conco = sco

wherecname ='VB’

order by gradeasc

20、查询有考试成绩得所有学生得姓名、修课名称及考试成绩,要求将查询结果放在一张新得永久表中,假设新表名为new_sc。

答:select sname, cname,gradeinto new_sc

from student s join sc ons、sno=sc、sno

join course c on co =sco

where grade isnot null

21、分别查询信息管理系与计算机系得学生得姓名、性别、修课名称、修课成绩,并要求将这两个查询结果合并成

一个结果集,并以系名、姓名、性别、修课名称、修课成绩得顺序显示各列。

答:select sdept系名,sname 姓名, ssex性别, cname 修课名称,grade修课成绩 from student s join sc on s、sno=sc、sno

join course c on co=sco

where sdept= '信息管理系'

UNION

select sdept, sname,ssex, cname,grade

from student s join sc on s、sno=sc、sno

join course c on co=sco

wheresdept ='计算机系’

22.查询选了VB得学生学号、姓名、所在系与成绩,并对所在系进行如下处理:

当所在系为“计算机系"时,显示“CS”;

当所在系为“信息管理系”时,显示“IS”;

当所在系为“通信工程系”时,显示“CO”;

对其她系,均显示“OTHER”。

答:select s、sno 学号,sname姓名, case sdept

when '计算机系'then’CS’

when’信息系'then ’IS'

when'数学系’ then 'CO’

else’OTHER’

end as 所在系,grade成绩

fromstudent s join sc on s、sno =sc、sno

joincourse con co = sco

where cname='vb'

23、用子查询实现如下查询:

(1)查询选了“C001”课程得学生姓名与所在系。

答:select sname,sdept from student where sno in(

select sno from sc where cno =’ C001’)

(2)查询通信工程系成绩80分以上得学生学号与姓名。

答:select sno,sname from studentwhere sno in(

select sno from sc where grade 〉80)

and sdept='通信工程系'

(3)查询计算机系考试成绩最高得学生姓名。

答:select sname from student sjoinsc on s、sno =sc、sno wheresdept = ’计算机系'andgrade= (

select max(grade)from sc join student s on s、sno= sc、sno where sdept=’计算机系’)

(4)查询年龄最大得男生得姓名与年龄。

答:select sname,sage from student

Where sage = (select max(sage) from studentand ssex = ’男')and ssex = '男'

(5)查询“C001”课程得考试成绩高于“C001”课程得平均成绩得学生得学号与“C001”课程成绩. 答:select sno,grade from sc where cno =' C001’

And grade〉 (selectavg(grade)fromsc where cno = ' C001')24、创建一个新表,表名为test_t,其结构为:(COL1, COL2, COL 3),其中:

COL1:整型,允许空值.

COL2:字符型,长度为10 ,不允许空值.

COL3:字符型,长度为10,允许空值。

试写出按行插入如下数据得语句(空白处表示空值)。

答:createtable test_t (

COL1 int,

COL2 char(10) not null,

COL3 char(10))

insert into test_t values(NULL,'B1', NULL)

insert intotest_t values(1,'B2', 'C2')

insert into test_t(COL1,COL2)values(2, 'B3’)

25、将“C001"课程得考试成绩加10分。?

答:update sc set grade = grade + 10 where cno = 'C001’

26、将计算机系所有选修了“计算机文化学”课程得学生成绩加10分,分别用子查询与多表连接形式实现。答:(1)子查询

update scset grade = grade + 10

where sno in(

select sno from student where sdept= ’计算机系’)andcno in(

selectcno from course where cname= ’计算机文化学’)(2)多表连接

update sc setgrade =grade + 10

from scjoin student s on sc、sno = s、sno

join coursec on co= sco

where sdept= ’计算机系' and canem = '计算机文化学'

27、删除修课成绩小于50分得学生得选课记录.

答:delete from sc where grade 〈 50

28、删除信息管理系考试成绩小于50分得学生得该门课程得修课纪录,分别用子查询与多表连接形式实现。答:(1)用连接查询实现

delete from sc from sc joinstudent s on s、sno=sc、sno wheresdept = ’信息管理系’ and grade 〈50

(2)用子查询实现

delete fromsc where sno in (

select sno from student wheresdept= ’信息管理系')

and grade< 50

29.删除VB考试成绩最低得学生得VB修课记录。

答:delete from sc

where grade = (

selectmin(grade)from sc

join course c on co = sco

where cname ='vb’)

and cno in(

select cno fromcoursewherecname= 'vb')

第5章视图与索引

一.选择题

1.下列关于视图得说法,正确得就是B

A.视图与基本表一样,也存储数据

B.对视图得操作最终都转换为对基本表得操作

C.视图得数据源只能就是基本表

D.所有视图都可以实现对数据得增、删、改、查操作

2。在视图得定义语句中,只能包含A

A.数据查询语句??B。数据增、删、改语句

C。创建表得语句?D。全部都可以

3。视图对应数据库三级模式中得_________。

A、外模式B、内模式C、模式D、其她

4。下列关于通过视图更新数据得说法,错误得就是A

A.如果视图得定义涉及到多张表,则对这种视图一般情况下允许进行更新操作

B。如果定义视图得查询语句中含有GROUP BY子句,则对这种视图不允许进行更新操作

C.如果定义视图得查询语句中含有统计函数,则对这种视图不允许进行更新操作

D。如果视图数据来自单个基本表得行、列选择结果,则一般情况下允许进行更新操作

5.下列关于视图得说法,正确得就是?B

A。通过视图可以提高数据查询效率

B。视图提供了数据得逻辑独立性

C。视图只能建立在基本表上

D。定义视图得语句可以包含数据更改语句

6.创建视图得主要作用就是?D

A.提高数据查询效率

B。维护数据得完整性约束

C.维护数据得一致性

D。提供用户视角得数据

7.建立索引可以加快数据得查询效率.在数据库得三级模式结构中,索引属于A

A.内模式?B。模式

C.外模式?D。概念模式

8。设有学生表(学号,姓名,所在系)。下列建立统计每个系得学生人数得视图语句中,正确得就是?D A.CREATE VIEW v1 AS

SELECT所在系, COUNT(*) FROM 学生表GROUP BY 所在系

B.CREATE VIEW v1 AS

SELECT 所在系,SUM(*) FROM 学生表 GROUP BY所在系

C。CREATE VIEW v1(系名,人数)AS

SELECT所在系, SUM(*)FROM学生表GROUP BY 所在系

D.CREATE VIEWv1(系名,人数) AS

SELECT所在系, COUNT(*) FROM 学生表 GROUP BY所在系

9.设用户在某数据库中经常需要进行如下查询操作:?A

SELECT* FROM T WHEREC1=’A’ ORDER BY C2

设T表中已在C1列上建立了主码约束,且该表只建有该约束。为提高该查询得执行效率,下列方法中可行得就是C

A。在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引

B.在C1与C2列上分别建立一个非聚集索引

C.在C2列上建立一个非聚集索引

D。在C1与C2列上建立一个组合得非聚集索引

10。下列关于索引得说法,正确得就是??C

A。只要建立了索引就可以加快数据得查询效率

B.当一个表上需要创建聚集与非聚集索引时,应该先创建非聚集索引,然后再创建聚集索引,这种顺序会使创建索引得效率比较高

C.在一个表上可以建立多个唯一得非聚集索引

D.索引会影响数据插入与更新数据得执行效率,但不会影响删除数据得执行效率

11。下列关于CREATE UNIQUEINDEXIDX1 ONT(C1,C2)语句作用得说法,正确得就是D A.在C1与C2列上分别建立一个唯一聚集索引

B.在C1与C2列上分别建立一个唯一非聚集索引

C.在C1与C2列得组合上建立一个唯一聚集索引

D.在C1与C2列得组合上建立一个唯一非聚集索引

二.填空题

1.对视图得操作最终都转换为对_____操作。基本表

2。视图就是虚表,在数据库中只存储视图得_____,不存储视图得数据。定义

3。修改视图定义得语句就是_____。ALTER VIEW

4.视图对应数据库三级模式中得_____模式。外

5.在一个表上最多可以建立_____个聚集索引,可以建立_____个非聚集索引。一,多

6.当在T表得C1列上建立聚集索引后,数据库管理系统会将T表数据按_____列进行_____。

C1 物理排序

7。索引建立得合适,可以加快数据_____操作得执行效率。查询

8.在employees表得phone列上建立一个非聚集索引得SQL语句就是_____

CREATE INDEX IDX1 ON employees(phone)

或:CREATE NONCLUSTERED INDEX IDX1 ONemployees(phone)

9.设有student表,结构为Student(Sno,Sname,Sdept)。现要在该表上建立一个统计每个系得学生人数得视图,视图名为V_dept,视图结构为(系名,人数).请补全下列定义该视图得SQL语句

V_dept (系名,人数), GROUP BY Sdept

CREATE VIEW_____

AS

SELECT Sdept,COUNT(*)

_____

10。非聚集索引得B-树中,叶级节点中每个索引行由索引键值与_____组成. 行指示器

三.简答题

1.试说明使用视图得好处.

答:利用视图可以简化客户端得数据查询语句,使用户能从多角度瞧待同一数据,可以提高数据得安全性,视图对应数据库三级模式中得外模式,因此提供了一定程度得逻辑独立性。

2.试说明哪类视图可实现更新数据得操作,哪类视图不可实现更新数据得操作。

答:一般只涉及到一张表得行列子集,且不含分组、统计计算等操作得视图就是可更新数据得,其她情况一般都不能实现数据得更新操作。

3.使用视图可以加快数据得查询速度,这句话对吗?为什么?

答:不对,因为通过视图查询数据时,比直接针对基本表查询数据多了一个转换过程,即从外模式到模式得转换。4.索引得作用就是什么?

答:索引可以加快数据得查询效率。

5.索引分为哪几种类型?分别就是什么?它们得主要区别就是什么

答:分为聚集索引与非聚集索引两种。聚集索引会对数据进行物理排序,非聚集索引不对数据进行物理排序.

6.聚集索引一定就是唯一性索引,对吗?反之呢?

答:不对。反之也不对。

7.在建立聚集索引时,数据库管理系统首先要将数据按聚集索引列进行物理排序.对吗?

答:对。

8.在建立非聚集索引时,数据库管理系统并不对数据进行物理排序。对吗?

答:对。

9.不管对表进行什么类型得操作,在表上建立得索引越多越能提高操作效率。对吗?

10.答:不对。

11.适合建立索引得列就是什么?

答:适合建立索引得情况:

●包含大量非重复值得列。

●在WHERE子句中经常用于进行BETWEEN AND、>、>=、〈与<=等操作得列.

●经常被用作连接操作得列.

●ORDER BY或GROUP BY子句中涉及得列。

四.上机练习

1.写出创建满足下述要求得视图得SQL语句,并执行这些语句。将所写语句保存到一个文件中。

(1)查询学生得学号、姓名、所在系、课程号、课程名、课程学分。

答:Createview v1As

Select s、sno,sname,sdept,co,cname,credit

From student s join scon s、sno= sc、sno

Join course c onco = sco

(2)查询学生得学号、姓名、选修得课程名与考试成绩。

答:Create view v2 As

Select s、sno,sname,cname,grade

From student s join sc ons、sno=sc、sno

Join course c on co = sco

(3)统计每个学生得选课门数,列出学生学号与选课门数。

答:Create view v3 As

Select sno,count(*) as total

From sc groupby sno

(4)统计每个学生得修课总学分,列出学生学号与总学分(说明:考试成绩大于等于60才可获得此门课程得学分)。

答:Create viewv4 As

Select sno,sum(credit)as total_credit

From sno join course con co = sco

Where grade >= 60

Group by sno

2.利用第1题建立得视图,写出完成如下查询得SQL语句,并执行这些语句,查瞧执行结果。将查询语句与执行结果保存到一个文件中。

(1)查询考试成绩大于等于90分得学生得姓名、课程名与成绩。

答:Select sname,cname,grade From v2where grade >=90

(2)查询选课门数超过3门得学生得学号与选课门数。

答:Select*from v3where total>= 3

(3)查询计算机系选课门数超过3门得学生得姓名与选课门数.

答:Select sname,total from v3 join student son s、sno = v3、sno Where sdept=‘计算机系' andtotal>= 3

(4)查询修课总学分超过10分得学生得学号、姓名、所在系与修课总学分。

答:Select v4、sno,sname,sdept,total_credit

Fromv4 join student s on s、sno = v4、sno

Where total_credit 〉=10

(5)查询年龄大于等于20岁得学生中,修课总学分超过10分得学生得姓名、年龄、所在系与修课总学分。

答:Select sname,sage,sdept,total_credit

From v4 join student s on s、sno =v4、sno

Wheresage >= 20and total_credit>=10

3.修改第1题(4)定义得视图,使其查询每个学生得学号、总学分以及总得选课门数。

答:Alter view v4 As

Selectsno,sum(credit) as total_credit,count(*) as total_cno

From sc join course c on co = sco

Group by sno

4.写出实现下列操作得SQL语句,执行这些语句,并在SSMS工具中观察语句执行结果。

(1)在Student表得Sdept列上建立一个按降序排序得非聚集索引,索引名为:Idx_Sdept.

答:Createindex Idx_Sdept on student(Sdept DESC)

(2)在Student表得Sname列上建立一个唯一得非聚集索引,索引名为:Idx_Sname。

答:Createunique index Idx_Sname on student(Sname)

(3)在Course表上为Cname列建立一个非聚集索引,索引名为: Idx_Cname

答:Create index Idx_Cname on Course(Cname)

(4)在SC表上为Sno与Cno建立一个组合得非聚集索引,索引名为:Idx_SnoCno。

答:Create index Idx_SnoCnoon SC(Sno,Cno)

(5)删除在Sname列上建立得Idx_Sname索引.

答:drop indexIdx_Sname on Student

第6章关系数据理论?

一.选择题

1。对关系模式进行规范化得主要目得就是?B

A。提高数据操作效率?B.维护数据得一致性

C.加强数据得安全性D.为用户提供更快捷得数据操作

2。关系模式中得插入异常就是指?D

A.插入得数据违反了实体完整性约束

B.插入得数据违反了用户定义得完整性约束

C.插入了不该插入得数据

D.应该被插入得数据不能被插入

3.如果有函数依赖X→Y,并且对X得任意真子集X’,都有X’Y,则称C

A.X完全函数依赖于Y?B。X部分函数依赖于Y

C.Y完全函数依赖于X?D。Y部分函数依赖于X

4.如果有函数依赖X→Y,并且对X得某个真子集X’,有X’→Y成立,则称B

A.Y完全函数依赖于X?B.Y部分函数依赖于X

C.X完全函数依赖于Y?D.X部分函数依赖于Y

5。若X→Y与Y→Z在关系模式R上成立,则X→Z在R上也成立。该推理规则称为CA.自反规则B.增广规则

C.传递规则D.伪传递规则

6。若关系模式R中属性A仅出现在函数依赖得左部,则A为A

A。L类属性?B.R类属性

C.N类属性D。LR类属性

7.若关系模式R中属性A就是N类属性,则AD

A.一定不包含在R任何候选码中

B。可能包含也可能不包含在R得候选码中

C.一定包含在R得某个候选码中

D。一定包含在R得任何候选码中

8。设F就是某关系模式得极小函数依赖集.下列关于F得说法,错误得就是?B

A。F中每个函数依赖得右部都必须就是单个属性

B.F中每个函数依赖得左部都必须就是单个属性

C.F中不能有冗余得函数依赖

D。F中每个函数依赖得左部不能有冗余属性

9.有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于B

A.第一范式B。第二范式

C。第三范式 D.BC范式

10.设有关系模式R(X, Y,Z),其F={Y→Z,Y→X, X→YZ},则该关系模式至少属于??D

A.第一范式?B.第二范式

C。第三范式 D.BC范式

11.下列关于关系模式与范式得说法,错误得就是??D

A.任何一个只包含两个属性得关系模式一定?属于3NF

B.任何一个只包含两个属性得关系模式一定属于BCNF

C。任何一个只包含两个属性得关系模式一定?属于2NF

D.任何一个只包含三个属性得关系模式一定属于3NF

12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以多次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本。该关系模式得主码就是A

A.(书号,读者号,借书日期)?B.(书号,读者号)

B.(书号) D.(读者号)

二.填空题

1。在关系模式R中,若属性A只出现在函数依赖得右部,则A就是_____类属性。R

2.若关系模式R∈2NF,则R中一定不存在非主属性对主码得_____函数依赖。部分

3。若关系模式R∈3NF,则R中一定不存在非主属性对主码得_____函数依赖。传递

4.设有关系模式X(S,SN,D)与Y(D, DN,M),X得主码就是S,Y得主码就是D,则D在关系模式X中被称为_____。外码

5。设有关系模式R(U,F),U={X,Y, Z, W},F={XY→Z,W→X},则(ZW)+ = _____,R得候选码为_____,该关系模式属于_____范式.XZW YW ?第一

6.在关系模式R中,若属性A不在任何函数依赖中出现,则A就是_____类属性. N

7。在关系模式R中,若有X→Y,且Z?Y,则X→Z在R上也成立,该推理规则为Armstrong公理系统中得_____。分解规则

8.根据Armstrong公理系统中得自反规则,对关系模式R中得属性集X,若Y?X,则一定有_____。X→Y

9。关系数据库中得关系表至少都满足_____范式要求。第一

10。关系规范化得过程就是将关系模式从低范式规范化到高范式得过程,这个过程实际上就是通过_____实现得. 模式分解

11.若关系模式R得主码只包含一个属性,则R至少属于第_____范式。二

12.若关系模式R中所有得非主属性都完全函数依赖于主码,则R至少属于第_____范式。二

三.简答题

1.关系规范化中得操作异常有哪些?它就是由什么引起得?解决得办法就是什么?

2.第一范式、第二范式与第三范式关系模式得定义分别就是什么?

3。什么就是部分函数依赖?什么就是传递函数依赖?请举例说明.

4.第三范式得关系模式就是否一定不包含部分函数依赖关系?

5。设有关系模式R(A, B,C, D),F={D→A,D→B}

(1)求D+.?

(2)求R得全部候选码。

答:(1)D+=DAB

(2)因为D就是L类属性,因此D一定出现在R得任何候选码中;

因为C就是N类属性,因此D一定出现在R得任何候选码中;

(CD)+ = CDAB = R得全部属性,因此R得唯一候选码就是CD。

6、设有关系模式R(W, X,Y,Z),F={X→Z,WX→Y},该关系模式属于第几范式,请说明理由.

解:R就是1NF,R得候选码为WX,因此Y,Z就是非主属性,又由于存在X→Z,因此F中存在非主属性对主码得部分函数依赖,因此R不就是2NF。

7.设有关系模式R(A,B, C,D),F= {A→C,C→A,B→AC,D→AC}

(1)求B+,(AD)+。

(2)求R得全部候选码,判断R属于第几范式。

(3)求F得极小函数依赖集F min.

答:

(1)B+=BAC

(AD)+ = ADC

(2)由于B、D就是L类属性,因此B、D会在任何候选码中;

(BD)+ =BDAC= R得全部属性,因此R得候选码就是BD。

R就是第1范式,因为存在部分函数依赖:

(3)①将所有函数依赖得右边改为单个属性,得到:B→AC,D→AC

F1 = {A→C,C→A, B→A, B→C, D→A,D→C}

②去掉函数依赖左部得多余属性:该关系模式得全部函数依赖集左部均为一个属性,因此不存在左部有多余

属性得情况。

③去掉多余得函数依赖.

去掉A→C,得到F2 = { C→A,B→A,B→C, D→A, D→C }

A+F2 = AC,包含C,因此为多余函数依赖,应去掉;

去掉C→A,得到F3 = {B→A,B→C,D→A,D→C}

C+F3= C,不包含A,因此C→A不就是多余函数依赖;

去掉B→A,得到F4 = { C→A,B→C, D→A, D→C }

B+F4 = BCA,包含A,因此B→A就是多余函数依赖,应去掉;

去掉B→C,得到F5 = { C→A, D→A, D→C}

B+F5 = B,不包含C,因此B→C不就是多余函数依赖;

去掉D→A,得到F6 ={C→A,B→C,D→C}

D+F5 = DCA,不包含A,因此D→A就是多余函数依赖,应去掉;

去掉D→C,得到F7 = { C→A,B→C}

D+F5 = D,不包含C,因此D→C不就是多余函数依赖.

?最终F min ={C→A,B→C,D→C}

四.设计题

1.设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一得所在系,每门课程有唯一得课程名与学分.每个学生对每门课程有唯一得成绩。

(1)请指出此关系模式得候选码。

(2)写出该关系模式得极小函数依赖集.

(3)该关系模式属于第几范式?并简单说明理由。

(4)若不就是第三范式得,请将其规范化为第三范式关系模式,并指出分解后得每个关系模式得主码与外码.

答:(1)候选码:(学号,课程号)

(2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,

(学号,课程号)→成绩

(3)属于第二范式,因为存在部分函数依赖:学号→姓名。

(4)第三范式关系模式:

学生(学号,姓名,所在系,性别)

课程(课程号,课程名,学分)

考试(学号,课程号,成绩),学号为引用学生得外码,课程号为引用课程得外码。

2.设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系得一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。

(1)请指出此关系模式得候选码。

(2)写出该关系模式得极小函数依赖集。

(3)该关系模式属于第几范式?并简单说明理由.

(4)若不就是第三范式得,请将其规范化为第三范式关系模式,并指出分解后得每个关系模式得主码与外码。解:(1)候选码:学号

(2)学号→姓名,学号→所在系,学号→班号,班号→班主任,所在系→系主任

(3)第二范式,因为有:学号→班号,班号→班主任,因此存在传递函数依赖:

学号班主任

(4)第三范式关系模式:

学生(学号,姓名,所在系,班号),班号为引用班得外码,所在系为引用系得外码。

班(班号,班主任)

系(系名,系主任)

3.设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定得课程名与学分,每名教师(由教师号决定)有确定得教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定得授课时数。

(1)指出此关系模式得候选码。

(2)写出该关系模式得极小函数依赖集。

(3)该关系模式属于第几范式?并简单说明理由

(4)若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后得每个关系模式得主码与外码。答:(1)候选码:(课程号,授课教师号)

(2)课程号→课程名,课程号→学分,授课教师号→教师名,(课程号,授课教师号)→授课时数

(3)属于第一范式。因为有:课程号→课程名,因此存在部分函数依赖关系:

(课程号,授课教师号)课程名

(4)第三范式关系模式:

课程(课程号,课程名,学分)

教师(教师号,教师名)

授课(课程号,教师号,授课时数),课程号为引用课程得外码,教师号为引用教师得外码。

第7章数据库设计

一.选择题

1.在数据库设计中,将E-R图转换为关系数据模型就是下述哪个阶段完成得工作C

A。需求分析阶段B.概念设计阶段

C。逻辑设计阶段D。物理设计阶段

2.在进行数据库逻辑结构设计时,不属于逻辑设计应遵守得原则得就是?D

A.尽可能避免插入异常B。尽可能避免删除异常

C。尽可能避免数据冗余D.尽可能避免多表连接操作

3、在进行数据库逻辑结构设计时,判断设计就是否合理得常用依据就是??A

A。规范化理论?B.概念数据模型

C。数据字典 D.数据流图

4。在将E—R图转换为关系模型时,一般都将m:n联系转换成一个独立得关系模式。下列关于这种联系产生得关系模式得主码得说法,正确得就是?C

A.只需包含m端关系模式得主码即可

B.只需包含n端关系模式得主码即可

C。至少包含m端与n端关系模式得主码

D.必须添加新得属性作为主码

5、数据流图就是从“数据”与“处理"两方面表达数据处理得一种图形化表示方法,该方法主要用在数据库设计得??A

A。需求分析阶段?B.概念结构设计阶段

C.逻辑结构设计阶段?D.物理结构设计阶段

6、在将局部E-R图合并为全局E—R图时,可能会产生一些冲突。下列冲突中不属于合并E-R图冲突得就是?BA。结构冲突 B.语法冲突

C.属性冲突D。命名冲突

7、一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户与银行营业所之间得联系就是??D

A。一对一B.一对多

C.多对一?D。多对多

8.在关系数据库中,二维表结构就是B

A.关系数据库采用得概念层数据模型

B、关系数据库采用得组织层数据模型

C.数据库文件得组织方式

D.内模式采用得数据组织方式

数据库原理及应用教程第4版习题参考答案

习题参考答案 第1章习题参考答案 一、选择题 1. C 2. B 3. D 4. C 5. D 6. B 7. A 8. B 9. D 10. B 11. C 12. D 13. D 14. D 15. B 16. C 17. D 18. A 19. D 20. A 21. D 22. D 23. C 24. A 25. C 二、填空题 1. 数据库系统阶段 2. 关系 3. 物理独立性 4. 操作系统 5. 数据库管理系统(DBMS) 6. 一对多 7. 独立性 8. 完整性控制 9. 逻辑独立性 10. 关系模型 11. 概念结构(逻辑) 12. 树有向图二维表嵌套和递归 13. 宿主语言(或主语言) 14. 数据字典 15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构 16. 现实世界信息世界计算机世界 三、简答题 1、简述数据库管理技术发展的三个阶段。各阶段的特点是什么? 答:数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段。 (1)、人工管理数据的特点: A、数据不保存。 B、系统没有专用的软件对数据进行管理。 C、数据不共

享。D、数据不具有独立性。 (2)、文件系统阶段的特点: A、数据以文件的形式长期保存。 B、由文件系统管理数据。 C、程序与数据之间有一定的独立性。 D、文件的形式已经多样化 E、数据具有一定的共享性 (3)、数据库系统管理阶段特点: A、数据结构化。 B、数据共享性高、冗余度底。 C、数据独立性高。 D、有统一的数据控制功能。 2、从程序和数据之间的关系来分析文件系统和数据库系统之间的区别和联系 答:数据管理的规模日趋增大,数据量急剧增加,文件管理系统已不能适应要求,数据库管理技术为用户提供了更广泛的数据共享和更高的数据独立性,进一步减少了数据的余度,并为用户提供了方便的操作使用接口。数据库系统对数据的管理方式与文件管理系统不同,它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。 3、简述数据库、数据库管理系统、数据库系统三个概念的含义和联系。答:数据库是指存储在计算机内、有组织的、可共享的数据集合。 数据库管理系统是软件系统的一个重要组成部分,它通过借助操作系统完成对硬件的访问,并对数据库的数据进行存取、维护和管理。 数据库系统是指计算机系统中引入数据库后的系统构成。它主要由数据库、数据库用户、计算机硬件系统和计算机软件系统几部分组成。 三者的联系是:数据库系统包括数据库和数据库管理系统。数据库系统主要通过数据库管理系统对数据库进行管理的。 4、数据库系统包括哪几个主要组成部分?各部分的功能是什么?画出整个数据库系统的层次结构图。 答:数据库系统包括:数据库、数据库用户、软件系统和硬件系统。 数据库主要是来保存数据的。 数据库用户是对数据库进行使用的人,主要对数据库进行存储、维护和检索等操作。 软件系统主要完成对数据库的资源管理、完成各种操作请求。 硬件系统主要完成数据库的一些物理上的操作,如物理存储、输入输出等。

编译原理(清华大学第2版)课后习题答案

第三章 N=>D=> {0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD L={a |a(0|1|3..|9)n且 n>=1} (0|1|3..|9)n且 n>=1 {ab,} a n b n n>=1 第6题. (1) <表达式> => <项> => <因子> => i (2) <表达式> => <项> => <因子> => (<表达式>) => (<项>) => (<因子>)=>(i) (3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i (4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项> => <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>) => i+(<因子>+<因子>) => i+(i+i) (6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i 第7题

第9题 语法树 s s s* s s+a a a 推导: S=>SS*=>SS+S*=>aa+a* 11. 推导:E=>E+T=>E+T*F 语法树: E +T * 短语: T*F E+T*F 直接短语: T*F 句柄: T*F 12.

短语: 直接短语: 句柄: 13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS => abBS => abbS => abbAa => abbaa 最右推导:S => ABS => ABAa => ABaa => ASBBaa => ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S → ABS S → Aa S →ε A → a B → b (3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa, 直接短语: a1 , b1 , b2, a2 , , 句柄:a1 14 (1) S → AB A → aAb | ε B → aBb | ε (2) S → 1S0 S → A A → 0A1 |ε 第四章 1. 1. 构造下列正规式相应的DFA (1)1(0|1)*101 NFA (2) 1(1010*|1(010)*1)*0 NFA

(完整版)数据库原理及应用-期末考试试题

数据库原理及应用期末考试试题 1. 组织层数据模型的三要素是[ ]。 A.外模式,概念模式和内模式 B.关系模型,网络模型,层次模型 C.1:1的联系,1:n的联系,n:m的联系 D.数据结构,数据操作,数据约束条件 2在关系模型中,任何关系必须满足约束条件包括实体完整性、[ ]和用户自定义完整性。 A.动态完整性 B.数据完整性 C.参照完整性 D.结构完整性 3 SQL Server 中的角色是[ ]。 A. 一个服务器登录 B. 一个数据库用户 C. 一组权限的集合 D. 一个服务器用户 4.当数据的物理存储结构改变时,应用程序无需改变,这样的特性称为数据的[ ]。 A.逻辑独立性 B.物理独立性 C.程序无关性 D.物理无关性 5.下列哪个不是以处理大量数据为中心的应用程序的特点[ ]。 A.涉及的数据量大 B.数据需长期联机保存 C.数据的计算复杂 D.数据可被多个应用所共享 6.E-R图适用于建立数据库的[ ]。 A.概念模型 B.结构模型 C.逻辑模型 D.物理模型 7. 在关系数据库设计中,设计关系模型属于[ ]。 A.需求分析 B.物理结构设计 C.逻辑结构设计 D.概念结构设计 8.[ ]记录了对数据库中数据进行的每一次更新操作。 A.后援副本 B.日志文件 C.数据库 D.缓冲区 9. [ ]是用户定义的一组数据库操作序列,是一个基本的不可分割的工作单元。 A.程序 B.进程 C.事务 D.文件 10.信息世界中,实体是指[ ]。 A.客观存在的事物 B. 客观存在的属性 C. 客观存在的特性 D. 某一具体事件 11. 数据库系统中, DBA表示[ ] 。 A.应用程序设计者 B. 数据库使用者

2019年大学《数据库原理及应用教程》试题及答案

《数据库原理及应用教程》试题及答案 一、选择题 1、下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)

A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D)

编译原理_第三版_课后答案

编译 原理 课后题答案 第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: E E T T T F T i T i T F i F F i i F i i i E T T F F F i F i E i E T i T T i F T i i T i i F i i i ?+?+?+?+?+?+?+?+??????+?+?+?+?+?+********()*()*()*()*()*()*() 最右推导:

E E T E T F E T i E F i E i i T i i F i i i i i E T F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/******************************** E E F T E + T F F T +i i i E E F T E -T F F T -i i i E E F T +T F F T i i i *i+i+i i-i-i i+i*i *****************/ P36-9 句子iiiei 有两个语法树: S iSeS iSei iiSei iiiei S iS iiSeS iiSei iiiei ???????? P36-10 /************** ) (|)(|S T T TS S →→ ***************/ P36-11 /*************** L1: ε ||cC C ab aAb A AC S →→→ L2:

数据库原理与应用教程期末测试题

数据库原理与应用教程 期末测试题(一) 一、填空题(每空1分,共10分) 1.数据库系统的核心是___数据库管理系统__。 2.在关系模型中,实体以及实体间的联系都是用__关系(二维表)____来表示的。3.设关系模型R(A,B,C),F是R上的函数依赖集,F={A→B,C→B},则R的候选码为__(A,C)_______。 4.层次模型用“树结构”来表示数据之间的联系,网状模型用“___图状结构______” 来表示数据之间的联系。 5.SQL Server2005中,一个简单的数据库可以只有一个___数据______文件和一个日志文件。6.聚集索引和非聚集索引的存储结构都采用___B树____索引结构。 7.一个事务必须具有的四个属性是原子性、一致性、__隔离性__和持久性。 1、8.在T-SQL中,查询表中数据时,可用_____DISTINCT______关键字滤掉重复行。9.调用标量函数时必须提供至少由两部分组成的名称,即___拥有者_____. 函数名。10.DML 触发器是当数据库服务器中发生数据操作语言事件时会自动执行的存储过程。 二、选择题(每小题1分,共20分) 1、数据管理的发展不包括下面哪个阶段() (A)文件系统(B)数据库系统 (C)人工管理(D)统一管理 2、一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间是什 么样的联系() (A)一对一(B)一对多 (C)多对多(D)以上全不是 3、如果事务1将数据库中的A值从200改为300,事务2读A值为300,事务1又将 刚才的操作撤销,A值恢复为200,那么事务2读取了“脏”数据。这种情况 是由于数据库保护中的那方面不当而引起的() (A)并发控制 (B)完整性约束 (C)安全性控制(D)数据库的恢复 4、在关系模型中,“元组”是指( B ) (A)表中的一行(B)表中的一列 (C)表中的一个数据(D)表中的一个成分 5、有学生、选修和课程三个关系,学生S(学号,姓名,性别….),课程C(课程号,

数据库原理及应用(第2版)习题参考答案..

第1章数据概述 一.选择题 1.下列关于数据库管理系统的说法,错误的是C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率 3.下列说法中,不属于数据库管理系统特征的是C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是D A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于A A.系统软件B.工具软件 C.应用软件D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是B A.数据库B.操作系统 C.应用程序D.数据库管理系统 9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是D A.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端 B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件 C.客户/服务器结构比文件服务器结构的网络开销小 D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享

华南师范大学《数据库原理》期末考试复习题

一、单选题 1 ( )将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权. A、强制存取控制 B、自主存取控制 C、视图机制 D、基于角色的访问控制 答案:D 2 SQL的默认策略是任何与( )约束相违背的更新均为系统拒绝. A、用户定义的完整性 B、实体完整性 C、参照完整性 D、用户定义的完整性和参照完整性 答案:C 3 用户标识与系统鉴别属于( )技术. A、访问控制 B、接入控制 C、完整性约束 D、恢复 答案:A 4 ( )是相互矛盾的,数据库物理设计过程中需要对它们进行折中权衡. A、时间效率,维护代价 B、时间效率,空间效率 C、时间效率,空间效率,维护代价 D、空间效率,维护代价 答案:C 5 在关系演算中,元组变量的变化围是( ). A、某一命名的关系 B、数据库中的所有关系 C、某一个域 D、数据库中的所有域 答案:C 6 下列聚合函数中不忽略空值(null) 的是() A、SUM (列名) B、MAX (列名) C、COUNT ( * ) D、AVG (列名) 答案:C 7 SQL中,下列涉及空值的操作,不正确的是()

B、AGE IS NOT NULL C、AGE = NULL D、NOT (AGE IS NULL) 答案:C 8 SQL的全局约束是指基于元组的检查子句和() A、非空值约束 B、域约束子句 C、断言 D、外键子句 答案:C 9要保证数据库逻辑数据独立性,需要修改的是( ) A、模式 B、模式与模式的映射 C、模式与外模式的映射 D、模式 答案:C 10 ( )是关系代数的基本运算之一. A、交 B、除 C、关系模型 D、广义笛卡儿积 答案:D 11 设关系R有M个元组,关系S有N个元组,则关系R和S的笛卡尔积有( )个元组. A、M B、N C、M*N D、M+N 答案:C 12 单个用户使用的数据视图的描述称为() A、外模式 B、概念模式 C、模式 D、存储模式 答案:A 13 判断对并发事务正确的调度是( ). A、并发事务的执行结果与并行化执行结果事务是否一致 B、事务间无冲突 C、并发事务的执行结果与串行化执行结果事务是否一致

数据库原理及应用--课后答案

数据库原理及应用 课后答案 第一章 选择题 1、A。 从数据库管理系统的角度看,数据库系统的结构通常分为三级模式的总体结构,在这种模式下,形成了二级映像,实现了数据的独立性。其中三级模式结构指的是外模式、模式和内模式,二级映像指的是外模式/模式映像、模式/内模式映像。对于外模式/模式映像,当模式改变时,相应的外模式/模式映像作相应的改变,以使外模式保持不变,而应用程序是依据数据的外模式来编写的,外模式不变,应用程序就没必要修改,这保证了数据与程序的逻辑独立性。对于模式/内模式映像,当数据库的存储结构变了,模式/内模式映像会作相应的改变,以使模式保持不变,而模式不变,与模式没有直接联系的应用程序也不会改变,这保证了数据与程序的物理独立性。 数据逻辑独立性指的就是当模式改变时,外模式和应用程序不需要改变,所以选项A正确。C选项的内模式改变,模式不变指的是数据的物理独立性,所以C选项不正确,B选项中前后两句与C选项相比顺序不符,所以B选项不正确。D选项中,应为“模式和应用程序不变”,不应为“外模式”,所以D选项不正确。 2、B。 DB指的是数据库(DataBase),DBMS指的是数据库管理系统(DataBase Management System),DBS指的是数据库系统(DataBase System),DBA指的是数据库管理员(Database Administrator),Data指的是数据。

由书中概念易得DBS(数据库系统)包括DBMS(数据库管理系统),DBMS管理和控制DB(数据库),而DB载入、存储、重组与恢复Data(数据)。所以B选项正确。 3、C。 数据库系统的特点有:⑴、实现数据共享;⑵、减少数据冗余度;⑶、保持数据的一致性; ⑷、数据的独立性;⑸、安全保密性;⑹、并发控制;⑺、故障恢复 由以上可得C选项错误,应改为数据冗余度“低”。 4、C。 DB是长期储存在计算机内、有组织的、可共享的大量数据集合;DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问计算机软件、硬件和数据资源组成的系统;DBMS 是把用户对数据的操作转化为对系统存储文件的操作,有效地实现数据库三级(外模式、模式和内模式)之间的转化;MIS指的是管理信息系统(Management Information System),是一个以人为主导,利用计算机硬件、软件及其他办公设备进行信息的收集、传递、存贮、加工、维护和使用的系统。由以上概念可知,位于用户和数据库之间的一层数据管理软件是DBMS。所以C选项正确。 5、C。 书中图1.6明确指出模式/内模式映像把概念数据库与物理数据库联系起来,所以C选项正确。 6、C。 数据库有这样三层关系,第一层和第三层不能直接发生关系,所以D选项不正确,内模式与外模式没有直接关系,应改为“模式与应用程序不变”。

编译原理课后习题答案-清华大学-第二版

第1章引论 第1题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1) 编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2) 源程序:源语言编写的程序称为源程序。 (3) 目标程序:目标语言书写的程序称为目标程序。 (4) 编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5) 后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6) 遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 第2题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。 答案: 一个典型的编译程序通常包含8个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。

目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。 表格管理程序:负责建立、填写和查找等一系列表格工作。表格的作用是记录源程序的各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。可以说整个编译过程就是造表、查表的工作过程。需要指出的是,这里的“表格管理程序”并不意味着它就是一个独立的表格管理模块,而是指编译程序具有的表格管理功能。 错误处理程序:处理和校正源程序中存在的词法、语法和语义错误。当编译程序发现源程序中的错误时,错误处理程序负责报告出错的位置和错误性质等信息,同时对发现的错误进行适当的校正(修复),目的是使编译程序能够继续向下进行分析和处理。 注意:如果问编译程序有哪些主要构成成分,只要回答六部分就可以。如果搞不清楚,就回答八部分。 第3题 何谓翻译程序、编译程序和解释程序?它们三者之间有何种关系? 答案: 翻译程序是指将用某种语言编写的程序转换成另一种语言形式的程序的程序,如编译程序和汇编程序等。 编译程序是把用高级语言编写的源程序转换(加工)成与之等价的另一种用低级语言编写的目标程序的翻译程序。 解释程序是解释、执行高级语言源程序的程序。解释方式一般分为两种:一种方式是,源程序功能的实现完全由解释程序承担和完成,即每读出源程序的一条语句的第一个单词,则依据这个单词把控制转移到实现这条语句功能的程序部分,该部分负责完成这条语句的功

数据库原理及应用期末考试..

综合题 一、 1.使用Transact—SQL语言创建教学管理数据库,创建两个表学生信息(学号,姓名,性别,籍贯,班级编号)和成绩表(学号,课程编号,成绩,是否重修)。其中,学生信息表中学号为主键,其他信息都不允许为空。通过学号与成绩表形成一个一对多的关系,成绩表中的成绩的默认值为0,但必须在0~100之间。注:将学号设置为主键,主键名为pk_xh; 为成绩添加默认值约束,约束名为df_xb,其值为“0”; 为成绩添加check约束,约束名为诚恳ck_xb, 在0~100之间。 CREATE DATABASE 教学管理 use 教学管理 go create table 学生信息( 学号 varchar(20) NOT NULL PRIMARY KEY, 姓名 varchar(20) NOT NULL , 性别 varchar(10) NOT NULL, 籍贯 varchar(20) NOT NULL, 班级编号 varchar(20) NOT NULL ) go create table 成绩表 ( 学号 varchar(20) NOT NULL FOREIGN KEY REFERENCES 学生信息(学号), 课程编号 varchar(20) NOT NULL, 成绩 numeric(5,2) DEFAULT (0) CHECK(成绩)=0 and 成绩<=100) , 是否重修 varchar(8) NOT NULL ) go 2.写出实现各查询功能的SELECT语句。 (1)统计班级编号为1002的学生人数。 (2)查询课程编号为“003”的课程成绩高于该门课程平均分的学生信息。(3)在“学生信息”表中找出姓“王”的学生信息。 (4)将“成绩”表中的课程编号为“001”的成绩增加10分。 (5)列出每个同学的学号、姓名及选修课程的平均成绩情况,没有选修的同学也列出。 3.创建一个名为stud_view2的视图,该视图可以用来查看每个学生的选修课程

数据库原理及应用

数据库原理及应用 数据库技术简介 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。 第一章绪论 1.1 数据库系统概述 1.1.1 四个基本概念 数据(Data) 数据库(Database)数据库管理系统(DBMS) 数据库系统(DBS) 一、数据 数据(Data)的定义 数据是信息的具体表现形式 描述事物的符号记录 数据的表现形式——数字文字图形图像声音等 各类数据必须数字化后才能加工处理。 数据与其语义是不可分的 例如:93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:计算机系2007级学生人数 例如:学生档案中的一条记录:(李明男1982 江苏计算机系2000) 二、数据库(续) 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。 三、数据库管理系统 什么是DBMS 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。 DBMS的用途 组织和存储好大量的数据,并提供方便、高效地检索数据和维护数据的手段。 DBMS的主要功能: 数据定义功能 数据组织 存储和管理 数据操纵功能 数据库的事务管理和运行管理 数据库的建立和维护功能 其它功能 四、数据库系统 什么是数据库系统

数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统。 数据库系统的构成 数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员(DBA) 1.1.2 数据管理技术的产生和发展 数据管理:是指对数据的分类、组织、编码、存储、查询和维护等活动,是数据处理的中心环节。 数据处理:是指对数据进行收集、组织、存储、加工、抽取和传播等一系列活动的总和。其目的是从大量的、原始数据中抽取、推导出对人们有价值的信息。 数据管理技术的发展动力:应用需求的推动、计算机软/硬件的发展 数据管理技术的发展过程 人工管理阶段(40年代中--50年代中) 文件系统阶段(50年代末--60年代中) 数据库系统阶段(60年代末--现在) 一、人工管理 时期 40年代中--50年代中 产生的背景 应用需求科学计算 硬件水平纸带、卡片、磁带 软件水平没有操作系统 处理方式批处理 特点:数据不保存、数据由程序各自管理(逻辑结构、存储结构、存取方法、输入方式等) 数据不共享:一组数据只能对应一个程序 数据不具独立性:数据的结构发生变化后(物理或逻辑上),应用程序必须做相应的修改。 应用程序与数据的对应关系(人工管理阶段) .. 二、文件系统 时期

编译原理教程课后习题答案——第四章

第四章语义分析和中间代码生成 4.1 完成下列选择题: (1) 四元式之间的联系是通过实现的。 a. 指示器 b. 临时变量 c. 符号表 d. 程序变量 (2) 间接三元式表示法的优点为。 a. 采用间接码表,便于优化处理 b. 节省存储空间,不便于表的修改 c. 便于优化处理,节省存储空间 d. 节省存储空间,不便于优化处理 (3) 表达式(┐A∨B)∧(C∨D)的逆波兰表示为。 a. ┐AB∨∧CD∨ b. A┐B∨CD∨∧ c. AB∨┐CD∨∧ d. A┐B∨∧CD∨ (4) 有一语法制导翻译如下所示: S→bAb {print″1″} A→(B {print″2″} A→a {print″3″} B→Aa) {print″4″} 若输入序列为b(((aa)a)a)b,且采用自下而上的分析方法,则输出序列为。a. 32224441 b. 34242421 c. 12424243 d. 34442212 【解答】 (1) b (2) a (3) b (4) b 4.2 何谓“语法制导翻译”?试给出用语法制导翻译生成中间代码的要点,并用一简例予以说明。 【解答】语法制导翻译(SDTS)直观上说就是为每个产生式配上一个翻译子程序(称语义动作或语义子程序),并且在语法分析的同时执行这些子程序。也即在语法分析过程中,当一个产生式获得匹配(对于自上而下分析)或用于归约(对于自下而上分析)时,此产生式相应的语义子程序进入工作,完成既定的翻译任务。 用语法制导翻译(SDTS)生成中间代码的要点如下: (1) 按语法成分的实际处理顺序生成,即按语义要求生成中间代码。 (2) 注意地址返填问题。 (3) 不要遗漏必要的处理,如无条件跳转等。 例如下面的程序段: if (i>0) a=i+e-b*d; else a=0; 在生成中间代码时,条件“i>0”为假的转移地址无法确定,而要等到处理“else”时方可确定,这时就存在一个地址返填问题。此外,按语义要求,当处理完(i>0)后的语句(即“i>0”为真时执行的语句)时,则应转出当前的if语句,也即此时应加入一条无条件跳转指令,并且这个转移地址也需要待处理完else之后的语句后方可获得,就是说同样存在着地址返填问题。对于赋值语句a=i+e-b*d,其处理顺序(也即生成中间代码顺序)是先生成i+e的代码,再生成b*d的中间代码,最后才产生“-”运算的中间代码,这种顺序不能颠倒。 4.3 令S.val为文法G[S]生成的二进制数的值,例如对输入串101.101,则S.val= 5.625。按照语法制导翻译方法的思想,给出计算S.val的相应的语义规则,G(S)如下: G[S]: S→L.L|L

数据库原理与应用期末复习总结含试题及其答案

数据库原理综合习题答案 1.1名词解释 (1) DB:即数据库(Database),是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。 (2) DBMS:即数据库管理系统(Database Management System),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。 (3) DBS:即数据库系统(Database System),是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。 (4) 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。 (5) 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。 (6) M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。 (7) 数据模型:模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。它可分为两种类型:概念数据模型和结构数据模型。 (6) 概念数据模型:是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。 (9) 结构数据模型:是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。 (10) 层次模型:用树型结构表示实体类型及实体间联系的数据模型。 (11) 网状模型:用有向图结构表示实体类型及实体间联系的数据模型。 (12) 关系模型:是目前最流行的数据库模型。其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。关系模型是由若干个关系模式组成的集合。 (13) 概念模式:是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。 (14) 外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。 (15) 内模式:是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。 (16) 模式/内模式映象:这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,即概念记录和内部记录间的对应性。此映象一般在内模式中描述。 (17) 外模式/模式映象:这人映象存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录和内部记录间的对应性。此映象都是在外模式中描述。 (18) 数据独立性:在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级。 (19) 物理数据独立性:如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。也就是对模式的修改尽量不影响概念模式。

编译原理课后习题答案+清华大学出版社第二版

第 1 章引论 第1 题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2)源程序:源语言编写的程序称为源程序。 (3)目标程序:目标语言书写的程序称为目标程序。 (4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 第2 题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。 答案: 一个典型的编译程序通常包含8个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。 中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。 中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。

数据库原理及应用期末复习

. 数据库原理及应用期末复习 第一章绪论 1、数据(Data): 数据是数据库中存储的基本对象; 数据的定义:描述事物的符号记录; 数据的种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等; 数据的含义称为数据的语义,数据与其语义是不可分的。 2、数据库(Database,简称DB): 定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。 数据库的基本特征: 1) 数据按一定的数据模型组织、描述和储存; 2) 可为各种用户共享、易扩展、冗余度较小; 3) 数据独立性较高。 数据库具有永久存储、有组织和可共享三个基本特点。 3、数据库管理系统(DBMS): 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。 主要功能: 1) 数据定义功能; 2) 数据组织、存储和管理; 3) 数据操纵功能; 4) 数据库的事务管理和运行管理; 5) 数据库的建立和维护功能; 6) 其他功能。 4、数据库系统(DBS): 定义:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员系统构成。 5、数据库技术的产生和发展: 三个阶段:人工管理阶段、文件系统、数据库系统。 6、数据库系统的特点: 1) 数据结构化:不仅数据内部结构化,整体也是结构化的; 2) 数据的共享性高,冗余度低,易扩充; 3) 数据独立性高(物理逻辑性和逻辑独立性); 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。精选文档. . 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的 4) 数据由DBMS统一管理和控制。 7、数据模型: (1)数据模型是数据库系统的核心和基础; (2)两类数据模型:

(完整版)数据库原理及应用习题带答案

习题一、单项选择题 1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几 个阶段中,数据独立性最高的是(A)阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理 2. 数据库系统与文件系统的主要区别是(B)。 A. 数据库系统复杂,而文件系统简单 B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 3. 在数据库中存储的是(C)。 A. 数据 B. 数据模型 C. 数据及数据之间的联系 D. 信息 4. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。 A. 同一个应用中的多个程序共享一个数据集合 B. 多个用户、同一种语言共享数据 C. 多个用户共享一个数据文件 D. 多种应用、多种语言、多个用户相互覆盖地使用数据集合 5. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( A )。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 6. 数据库管理系统(DBMS)是(C)。 A. 一个完整的数据库应用系统 B.一组硬件 C. 一组系统软件 D.既有硬件,也有软件 7. 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(B)。 A. 文件的集合 B. 数据的集合 C. 命令的集合 D. 程序的集合 8. 支持数据库各种操作的软件系统是(B)。 A. 命令系统 B. 数据库管理系统 C. 数据库系统 D. 操作系统 9. 由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫(B)。 A. 文件系统 B. 数据库系统 C. 软件系统 D. 数据库管理系统 10. 数据库系统中应用程序与数据库的接口是(B)。 A. 数据库集合 B. 数据库管理系统DBMS C. 操作系统OS D. 计算机中的存储介质 11. 在DBS中,DBMS和OS之间关系是(D)。 A. 并发运行 B. 相互调用 C. OS调用DBMS D. DBMS调用OS 12. 在数据库方式下,信息处理中占据中心位置的是(C)。 A. 磁盘 B. 程序 C. 数据 D. 内存 13. 文件系统与数据库系统对数据处理方式的主要区别体现在(A)。 A. 数据集成化 B. 数据共享 C. 冗余度 D. 容量 14. DBMS通常可以向下述哪个对象申请所需计算机资源(B)。 A. 数据库 B. 操作系统 C. 计算机硬件 D. 应用程序

相关文档
最新文档