数据库系统原理复习题含答案.docx

上传人:b****5 文档编号:5162267 上传时间:2022-12-13 格式:DOCX 页数:25 大小:59.43KB
下载 相关 举报
数据库系统原理复习题含答案.docx_第1页
第1页 / 共25页
数据库系统原理复习题含答案.docx_第2页
第2页 / 共25页
数据库系统原理复习题含答案.docx_第3页
第3页 / 共25页
数据库系统原理复习题含答案.docx_第4页
第4页 / 共25页
数据库系统原理复习题含答案.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库系统原理复习题含答案.docx

《数据库系统原理复习题含答案.docx》由会员分享,可在线阅读,更多相关《数据库系统原理复习题含答案.docx(25页珍藏版)》请在冰豆网上搜索。

数据库系统原理复习题含答案.docx

数据库系统原理复习题含答案

数据库系统原理复习题(含答案)

第1章

一、选择题

1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。

A.DBS包括DB和DBMS

B.DBMS包括DB和DBS

C.DB包括DBS和DBMS

D.DBS就是DB,也就是DBMS

2.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是(D)。

A.层次模型

B.关系模型

C.网状模型

D.实体-联系模型

3.目前,数据库管理系统最常用的逻辑数据模型是(C)。

A.网状模型

B.层次模型

C.关系模型

D.面向对象模型

4.下列四项中,不属于数据库系统特点的是(C)。

A.数据共享

B.数据完整性

C.数据冗余度高

D.数据独立性高

5.数据模型的三个要素分别是(B)。

A.实体完整性、参照完整性、用户自定义完整性

B.数据结构、数据操作、数据完整性约束条件

C.插入数据、修改数据、删除数据

D.外模式、模式、内模式

6.数据库三级结构从内到外的3个层次依次为(B)。

A.外模式、模式、内模式

B.内模式、模式、外模式

C.模式、外模式、内模式

D.内模式、外模式、模式

7.下列关于数据库系统的正确叙述是(A):

A.数据库系统减少了数据冗余

B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型的一致

D.数据库系统比文件系统能管理更多的数据

8.数据的逻辑独立性是指(B)。

A.外模式改变时保持应用程序不变

B.模式改变时保持外模式不变

C.内模式改变时保持模式不变

D.数据改变时保持应用程序不变

9.数据的物理独立性是指(C)。

A.外模式改变时保持应用程序不变

B.模式改变时保持外模式不变

C.内模式改变时保持模式不变

D.数据改变时保持应用程序不变

10.公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是(D)。

A.多对多

B.一对一

C.多对一

D.一对多

11.储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间是(C)。

A.一对一联系

B.一对多联系

C.多对多联系

D.不确定联系

12.描述数据库全体数据的全局逻辑结构和特性的是(A)。

A.模式

B.内模式

C.外模式

D.以上三级模式

二、填空

1.数据库系统一般由(数据库)、(数据库管理系统)、(应用程序)和(数据库管理员)组成。

2.数据库是长期存储在计算机中、有(组织)的、可(共享)的数据集合。

3.DBMS表示(DataBaseManagementSystem),它是位于(用户)和(操作系统)之间的一层数据管理软件。

4.实体之间的联系可抽象为三类,它们是(一对一)、(一对多)和(多对多)。

5.数据模型的三要素包括(数据结构)、(数据操作)和(数据完整性约束条件)三部分。

6.根据数据模型的应用目的不同,数据模型分为(概念模型)、(逻辑模型)和(物理模型)等。

7.按照数据结构的类型命名,逻辑模型分为(关系模型)、(层次模型)和(网状模型)等。

8.E-R图中,(矩形)表示实体,(椭圆)表示属性,(菱形)表示实体之间的联系。

三、简述题

1.数据库的定义是什么?

答:

数据库是长期存贮在计算机内的、有组织的、可共享的大量数据的集合。

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

答:

数据库管理系统的主要功能包括:

(1)数据定义功能,

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

(3)数据操纵功能,

(4)数据库事务的管理与运行管理,

(5)数据的建立与维护,

(6)其它功能。

3.数据模型的三要素是什么?

答:

数据结构、数据操作和数据完整性约束条件构成数据模型的三要素。

4.数据库中数据操作包括哪些?

答:

数据库中数据操作包括插入、修改、删除和查询。

5.实体型之间的联系包括哪三种?

答:

实体型之间的联系包括一对一联系、一对多联系和多对多联系三种类型。

6.数据库领域中常用的逻辑数据模型有哪些?

答:

数据库领域中常用的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型等。

7.数据库系统由哪几部分组成?

答:

数据库系统由数据库、数据库管理系统、应用系统和数据库管理员等组成。

8.数据库系统三级模式结构?

答:

数据库系统三级模式结构是指模式、内模式和外模式。

四、应用题

1.设有商品和顾客两个实体,商品实体包括商品编号、名称、单价等属性,顾客实体包括

顾客编号、姓名、联系电话等属性,两个实体存在如下的关系:

●一个顾客可购买多种任意商品

●每次可购买一定数量的商品(一天只限一次购物)

绘出E-R图,并标明属性和联系的类型

2.为某百货公司设计一个E-R模型:

百货公司管辖若干个连锁商店,每家商店经营若干商

品,每家商店有若干职工,但每个职工只能服务于一家商店。

实体类型“商店”的属性有:

商店编号、商店名称、地址、联系电话。

实体类型“商品”的属性有:

商品编号、商品名称、单价、产地。

实体类型“职工”的属性有:

职工编号、职工姓名、性别、工资。

在联系中应反映出职工参加某商店工作的工作时间,商店推销产品的销售量。

3.试为一网上书店建立概念模型。

第2章

一、选择题

1.关于关系模型,下列说法中不正确的是(D)。

B.关系模型是建立在集合代数的基础上的

C.数据的逻辑结构是一个二维表

D.关系操作是面向集合的操作方式

E.关系中的数据可以是任意的

2关于关系,下列说法中不正确的是(D)。

A.关系中每个属性值都是不可分解的

B.关系中不允许出现相同的元组

C.关系中不考虑元组间的顺序

D.元组中的属性是有序的

3关系代数中,选择运算的运算符号是(C)

A.×

B.Π

C.∞

D.Θ

4关系查询时取出关系的某些列,并取消重复元组的关系运算为(B)。

A.选择运算

B.投影运算

C.连接运算

D.笛卡儿积

5根据关系模式的实体完整性规则,一个关系的主码属性(C)。

A.不能有两个

B.不能成为另一个关系的外码

C.不允许为空

D.可以取任意值

6在关系模式R(R#,RN,S#)和S(S#,SN,SD)中,R的主键是R#,S的主键是S#,则S#在R中称为(B)。

A.主码

B.外码

C.候选码

D.全码

7“成绩在0-100之间”这种约束属于哪种完整性约束(C)。

A.主键约束

B.外键约束

C.用户定义的完整性约束

D.全不是

8关系R如下图所示,a1的象集是(B)。

ABC

a1b1c1

a1b2c3

a2b1c2

A.b1,b2

B.(b1,c1),(b2,c3)

C.c1,c3

D.(b1,c1),(b2,c3),(b1,c2)

二、简述题

1.关系模型的三个组成部分是什么?

答:

关系模型由关系数据结构、关系操作和关系的完整性约束条件三部分组成。

2.关系模型的完整性约束分为哪三类?

答:

关系的完整性约束包括主键约束、外键约束和用户定义的完整性约束三种。

3.关系代数中提供了哪些关系的查询运算?

答:

关系代数中的查询包括关系的并、交、差、笛卡儿积、选择、投影、连接和除法等

三、用关系代数表示查询

12设有选课关系数据库模式如下:

Student(Sno,Sname,Sage,Ssex)

Course(Cno,Cname)SC(Sno,Cno,Grade)

请用关系代数表达式表示下列查询:

(1)查询选修了2号课程的学生的学号

(2)查询学号为“03”的学生的学号和姓名

(3)查询年龄大于20岁的男同学的学号和姓名

(4)查询选修了课程的学生的学号和姓名

(5)查询有选修学生的课程号和课程名

(6)查询选修了5号课程的学生的姓名和成绩

(7)查询选修了“数据库原理”课程的学生的学号和姓名

答案:

(1)∏Sno(σCno=‘2’(SC))selectsnofromscwherecno=’2’

(2)∏Sno,Sname(σSno=‘03’(Student))

Selectsno,snamefromstudentwheresno=’03’

(3)∏Sno,Sname(σSage>20∧Ssex=‘男’(Student))

Selectsno,snamefromstudentwheresage>20andssex=’男’

(4)∏Sno,Sname(StudentSC)

Selectsc.sno,sanmefromsc,studentwherestudent.sno=sc.sno

(5)∏Cno,Cname(CourseSC)

Selecto,cnamefromcourse,scwhereo=o

(6)∏Sname,Grade(Student(σCno=‘5’(SC))

Selectsname,gradefromstudent,scwherestudent.sno=sc.snoandcno=’5’

(7)∏Sno,Sname(σCname=‘数据库原理’(StudentSCCourse)

或∏Sno,Sname(Student∏Sno(SCσCname=‘数据库原理’(Course))

Selectsno,snamefromstudent,sc,coursewheresc.sno=student.snoando=oandcname=’数据库原理’

13现有图书借阅关系数据库模式如下:

图书(图书号,书名,作者,单价,库存量)

读者(读者号,姓名,工作单位,地址)

借阅(图书号,读者号,借期,还期,备注)

其中,还期为NULL表示该书未还。

用关系代数表示如下查询:

(1)查询读者号为“R016”的读者姓名、工作单位

(2)查询图书号为“B5”的读者姓名

(3)查询读者“李林”所借阅图书的书名

(4)查询读者“李林”所借阅图书中未还的书名

答案

(1)∏姓名,工作单位(σ读者号=‘R016’(读者))

(2)∏姓名(σ图书号=‘B5’(读者借阅))

(3)∏书名(σ姓名=‘李林’(读者借阅图书))

(4)∏姓名(σ姓名=‘李林’∧还期=NULL(读者借阅图书))

或∏姓名((σ姓名=‘李林’(读者))(σ还期=NULL(借阅))图书)

第3章

一、选择题

1.SQL语言称为(C)。

A.结构化定义语言

B.结构化操纵语言

C.结构化查询语言

D.结构化控制语言

2.下列SQL语句中,修改表结构的是(D)

A.CREATE

B.UPDATE

C.INSERT

D.ALTER

3.在SELECT语句中,用于实现数据分组统计的子句是(C)

A.FROM子句

B.WHERE子句

C.GROUPBY子句

D.ORDERBY子句

4.下列哪种运算不能引出子查询。

(B)

A.IN

B.LIKE

C.EXISTS

D.比较运算

5.基于学生选课数据库中的3个关系:

S(学号,姓名,性别,年龄)、C(课程号,课程名,任课教师)、SC(学号,课程号,成绩),若要求查找选修“数据库技术”这门课程的学生姓名和成绩,将使用关系(D)

A.S和SC

B.SC和C

C.S和C

D.S、SC和C

6.基于学生选课数据库中的3个关系:

S(学号,姓名,性别,年龄)、C(课程号,课程名,任课教师)、SC(学号,课程号,成绩),若要求查找学生的平均成绩大于80分的学号和平均成绩,下面列出的SQL语句,正确的是(C)。

A.SELECT学号,AVG(成绩)FROMSCWHEREAVG(成绩)>80

B.SELECT学号,AVG(成绩)FROMSCWHEREAVG(成绩)>80GROUPBY学号

C.SELECT学号,AVG(成绩)FROMSCGROUPBY学号HAVINGAVG(成绩)>80

D.SELECT学号,成绩FROMSCGROUPBY学号HAVINGAVG(成绩)>80

7.下列SQL语句中,正确的是(C)。

A.SELECTS#,SNAMEFROMSCGROUPBYS#

B.SELECTS#FROMSCGROUPBYS#HAVINGCOUNT(*)>3

C.SELECTS#FROMSCGROUPBYS#WHERECOUNT(*)>3

D.SELECTS#FROMSCWHERECOUNT(*)>3GROUPBYS#

8.在视图上不能完成的操作是(C)。

A.更新视图

B.查询视图

C.在视图上定义新的基本表

D.在视图上定义新视图

二、填空

1.在SQL的查询语句中,使用(FROM)子句数据源,使用(WHERE)子句选择参与运算的数据行,使用(SELECT)子句指定目标列。

可使用(GROUPBY)子句结合聚集函数进行分组统计。

若对查询结果排序可使用(ORDERBY)子句。

2.在SQL中,(CREATETBLE)语句创建表和声明完整性约束条件。

如果要为一个基本表增加列和完整性约束条件,应该使用(ALTERTABLE)语句。

删除表的定义及表中的数据和索引,应该使用的语句是(DROPTABLE)。

3.视图是定义在(基本表)之上的虚表,对视图也可以进行插入、修改、删除和查询操作。

但视图不存储数据,对视图的一切操作最终要转换为对(基本表)的操作。

三、简述题

1.SQL语言的特点?

2.SQL语言中常用的语句有哪些?

3.SQL中提供了哪些常用的聚集函数?

它们如何使用?

4.什么是连接查询?

连接查询如何指定连接条件?

5.什么是子查询?

用在WHERE子句中的子查询有几种调用方式?

答案:

1.SQL语言集数据查询、数据操纵、数据定义和数据控功能于一体,其主要的操作语句包括CREATE、ALTER、DROP、INSERT、UPDATE、DELETE、SELECT、GRANT、REVOKE等。

2.SQL中提供了一些聚集函数,用于统计数据库数据,包括COUNT、AVG、SUM、MAX、MIN等,除COUNT(*)用法外,统计时均忽略空值,使用DISTINCT选项可忽略对重复数据的统计。

聚集行数只可用于SELECT子句和HAVING子句。

3.若一个查询同时涉及到两个表,则称之为连接查询。

连接查询的连接条件可在WHERE子句中通过一个比较运算指定,或在FROM子句中在指定连接方式的同时指定连接条件。

4.子查询又称嵌套查询,是嵌套在SELECT、INSERT、UPDATE、DELETE等语句中的SELECT查询语句。

多用在WHERE子句中,使用子查询的结果作为搜索条件。

在Where子句中使用子查询有以下几种方式:

由IN引出子查询、由比较运算符引出子查询、由EXISTS引出子查询。

四、数据库操作

1.仓库管理系统

在某仓库管理系统中,有两个表:

KC表和CKMX表,其结构和部分数据如下:

表1、KC表结构和数据

材料代码材料名称单位单价库存数量

01计算机台5000.0010

02电视机台2000.0020

……………

表2、CKMX表结构和数据

编号材料代码出库日期出库数量

1012009-10-104

2012009-11-203

3022009-11-205

…………

其中,KC表保存当前仓库库存材料的信息,CKMX表存放库存材料的出库名细。

例如,KC表第一行表示该仓库中现有计算机10台。

CKMX表第二行表示2009年11月20日从仓库中出库3台计算机。

(1)试写出创建KC表和CKMX表的SQL语句,要求定义实体和参照完整性。

(2)写出在KC表上按材料名称建立唯一索引的SQL语句。

(3)创建一个视图,用于查询计算机的出库明细。

(4)写出将表中数据插入到相应表中的语句。

(5)从表CKMX中统计出各种材料的出库次数和出库总数量,试写出SQL语句。

(6)写出由KC表和CKMX表产生如下结果集的查询语句:

编号出库日期材料名称单价出库数量金额

12009-10-10计算机5000.00420000.00

22009-11-20计算机5000.00315000.00

………………

答案:

仓库管理系统

(1)创建表

CREATETABLEKC(材料代码char

(2)PRIMARYKEY,材料名称char(20),单位char(10),单价numeric(10,2),库存数量int)

CREATETABLECKMX(编号char(4)PRIMARYKEY,材料代码char

(2)REFERENCESKC(材料代码),出库日期date,出库数量int)

Or或者

CREATETABLECKMX(编号char(4)PRIMARYKEY,材料代码char

(2),出库日期date,出库数量int,Foreignkey(材料代码)REFERENCESKC(材料代码))

(2)创建索引

CREATEUNIQUEINDEXindex1ONKC(材料名称)Dropindexindex1onKC

(3)创建视图

CREATEVIEWviewComputerASSELECT*FROMCKMX,KCWHERECKMX.材料代码=KC.材料代码andKC.材料名称='计算机'

(4)插入数据

INSERTINTOKCVALUES('01','计算机','台',5000.00,10)

INSERTINTOKCVALUES('02','电视机','台',2000.00,20)

INSERTINTOCKMXVALUES('1','01','2009-10-10',4)

INSERTINTOCKMXVALUES('2','01','2009-10-20',3)

INSERTINTOCKMXVALUES('3','02','2009-10-20',5)

(5)统计

SELECT材料代码,COUNT(*)as次数,SUM(出库数量)as出库数量

FromCKMX

Groupby材料代码

(6)查询

SELECTckmx.编号,出库日期,材料名称,单价,出库数量,出库数量*单价as金额

FROMKC,CKMX

WHEREKC.材料代码=CKMX.材料代码

2.财务管理系统

学校有多名学生,财务处每年要收一次学费。

财务处现用两个表记录相关信息,其结构和部分数据如下表:

表1、XS表结构和数据

学号姓名性别年龄所在系

200901张明男18计算机

200902王晓萌21信息

200903李刚男20计算机

……………

表2、JFQK表结构和数据

序号学号交费日期书费学费

1200902009-09-10500.505000

2200902009-09-10400.005000

3200902010-10-10300.204000

…………

其中,XS表是在校学生名册和基本信息登记表,JFQK表是学生交学费情况记录。

(1)试写出创建XS表和JFQK表的SQL语句,要求定义实体和参照完整性。

(2)写出在XS表上按学生姓名建立唯一索引的SQL语句。

(3)创建一个视图,用于查询计算机系同学的基本信息。

(4)写出将表中数据插入到相应表中的语句。

(5)将计算机系同学的年龄增加1岁,并将计算机系同学的学费减1000元。

(6)从表JFQK中统计出每个同学的交费次数和交费总金额,试写出SQL语句。

(7)写出由XS表和JFQK表能产生类似如下结果集的查询语句:

序号姓名交费日期书费学费合计

1张明2009-09-10500.5050005500.50

2王晓萌2009-09-10400.0050005400.00

………………

答案

财务管理系统

(1)创建表

CREATETABLEXS(学号char(6)PRIMARYKEY,姓名char(10)notnull,性别char

(2)null,年龄smallint,所在系char(20))

CREATETABLEJFQK(序号intPRIMARYKEY,学号char(6)REFERENCESXS(学号),交费日期date,书费numeric(6,2),学费int)

(2)创建索引

CREATEUNIQUEINDEXindex1ONXS(姓名)

(3)创建视图

CREATEVIEWviewComputer1

AS

SELECT*FROMXSWHERE所在系='计算机'

(4)插入数据

INSERTINTOXSVALUES('200901','张明','男',18,'计算机')

INSERTINTOXSVALUES('200902','王晓萌',null,21,'信息')

INSERTINTOXSVALUES('200903','李刚','男',20,'计算机')

INSERTINTOJFQKVALUES(1,'200901','2009-09-10',500.50,5000)

INSERTINTOJFQKVALUES(2,'200902','2009-09-10',400.00,5000)

INSERTINTOJFQKVALUES(3,'200901','2010-10-10',300.20,4000)

(5)更新数据

UPDATEXSSET年龄=年龄+1

WHERE所在系='计算机'

或UPDATEviewComputer1SET年龄=年龄+1

UPDATEJFQKSET学费=学费-1000

WHERE'计算机'=(SELECT所在系FROMXSWHEREXS.学号=JFQK.学号)

(6)统计

SELECT学号,COUNT(*)as交费次数,SUM(书费学费)as总金额

FROMJFQK

GROUPBY学号

(7)查询

SELECT序号,姓名,交费日期,书费,学费,书费学费as合计

FROMXS,JFQK

WHEREXS.学号=JFQK.学号

第4、5章

一、选择题

1.实体完整性要求主属性不能取空值,这通常是通过(D)。

A.DBMS自动保证

B.用户定义的完整性约束来保证

C.定义外键来保证

D.定义主键来保证

2.下列SQL语句中,能够实现参照完整性控制的语句是(D)。

A.NOTNULL

B.PRIMARYKEY

C.UNIQUE

D.FOREIGNKEY

3.若关系R(A,B,C)主码为A,关系S(D,A)主码为D,外码为A,下面在关系S中哪个元组违反了完整性约束条件?

(C)。

RSA

BCDA1

221

3312

3

42Null31

A.(1,2)

B.(2,Null)

C.(3,3)

D.(4,1)

4.使用CREATETABLESTU(NOCHAR(4)NOTNULL,NAMECHAR(8)NOTNULL,SEXCHAR

(2),AGEINT)创建了表STU,下列哪些语句可以插入到表中。

(B)

A.INSERTINTOSTUVALUES(‘103

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

当前位置:首页 > 高等教育 > 艺术

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

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