数据库系统包括题目和答案Word格式文档下载.docx
《数据库系统包括题目和答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库系统包括题目和答案Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
![数据库系统包括题目和答案Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/5/56ac0105-126b-405f-a1db-701f63db03c0/56ac0105-126b-405f-a1db-701f63db03c01.gif)
5.数据模型的三要素包括(数据结构)、(数据操作)和(数据完整性约束条件)三部分。
6.根据数据模型的应用目的不同,数据模型分为(概念模型)、(逻辑模型)和(物理模型)等。
7.按照数据结构的类型命名,逻辑模型分为(关系模型)、(层次模型)和(网状模型)等。
8.E-R图中,(矩形)表示实体,(椭圆)表示属性,(菱形)表示实体之间的联系。
三、简述题
1.数据库是长期存贮在计算机内的、有组织的、可共享的大量数据的集合。
2.数据库管理系统的主要功能包括:
(1)数据定义功能,
(2)数据的组织、存储和管理,
(3)数据操纵功能,
(4)数据库事务的管理与运行管理,
(5)数据的建立与维护,
(6)其它功能。
3.数据结构、数据操作和数据完整性约束条件构成数据模型的三要素。
4.数据库中数据操作包括插入、修改、删除和查询。
6.实体型之间的联系包括一对一联系、一对多联系和多对多联系三种类型。
8.数据库领域中常用的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型等。
9.数据库系统由数据库、数据库管理系统、应用系统和数据库管理员等组成。
10.数据库系统三级模式结构是指模式、内模式和外模式。
1.数据库的定义是什么?
2.数据库管理系统的主要功能有哪些?
3.数据模型的三要素是什么?
4.数据库中数据操作包括哪些?
5.实体型之间的联系包括哪三种?
6.数据库领域中常用的逻辑数据模型有哪些?
7.数据库系统由哪几部分组成?
8.数据库系统三级模式结构?
答案:
四、应用题
1.设有商品和顾客两个实体,商品实体包括商品编号、名称、单价等属性,顾客实体包括顾客编号、、联系等属性,两个实体存在如下的关系:
●一个顾客可购买多种任意商品
●每次可购买一定数量的商品(一天只限一次购物)
绘出E-R图,并标明属性和联系的类型
2.为*百货公司设计一个E-R模型:
百货公司管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型"
商店”的属性有:
商店编号、商店名称、地址、联系。
商品”的属性有:
商品编号、商品名称、单价、产地。
职工”的属性有:
职工编号、职工**、性别、工资。
在联系中应反映出职工参加*商店工作的工作时间,商店推销产品的销售量。
3.试为一网上书店建立概念模型。
第2章
1.关于关系模型,下列说法中不正确的是(D)。
B.关系模型是建立在集合代数的基础上的
C.数据的逻辑结构是一个二维表
D.关系操作是面向集合的操作方式
E.关系中的数据可以是任意的
2关于关系,下列说法中不正确的是(D)。
B.关系中每个属性值都是不可分解的B.关系中不允许出现相同的元组
C.关系中不考虑元组间的顺序D.元组中的属性是有序的
3关系代数中,选择运算的运算符号是(C)
A.×
B.ΠC.
D.θ
4关系查询时取出关系的*些列,并取消重复元组的关系运算为(B)。
B.选择运算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)。
C.主码B.外码C.候选码D.全码
7"
成绩在0-100之间”这种约束属于哪种完整性约束(C)。
D.主键约束B.外键约束C.用户定义的完整性约束D.全不是
8关系R如下图所示,a1的象集是(B)。
A
B
C
a1
b1
c1
b2
c3
a2
c2
E.{b1,b2}B.{(b1,c1),(b2,c3)}
C.{c1,c3}D.{(b1,c1),(b2,c3),(b1,c2)}
二、简述题
9.关系模型的三个组成部分是什么?
10.关系模型的完整性约束分为哪三类?
11.关系代数中提供了哪些关系的查询运算?
答案
1.关系模型由关系数据结构、关系操作和关系的完整性约束条件三部分组成。
2.关系的完整性约束包括主键约束、外键约束和用户定义的完整性约束三种。
3.关系代数中的查询包括关系的并、交、差、笛卡儿积、选择、投影、连接和除法等
三、用关系代数表示查询
12设有选课关系数据库模式如下:
Student(Sno,Sname,Sage,Sse*)
Course(o,ame)
SC(Sno,o,Grade)
请用关系代数表达式表示下列查询:
(1)查询选修了2号课程的学生的**
(2)查询**为"
03”的学生的**和**
(3)查询年龄大于20岁的男同学的**和**
(4)查询选修了课程的学生的**和**
(5)查询有选修学生的课程号和课程名
(6)查询选修了5号课程的学生的**和成绩
(7)查询选修了"
数据库原理”课程的学生的**和**
答案:
(1)∏Sno(σo=‘2’(SC))selectsnofromscwhereo=’2’
(2)∏Sno,Sname(σSno=‘03’(Student))
Selectsno,snamefromstudentwheresno=’03’
(3)∏Sno,Sname(σSage>20∧Sse*=‘男’(Student))
Selectsno,snamefromstudentwheresage>
20andsse*=’男’
(4)∏Sno,Sname(Student
SC)
Selectsc.sno,sanmefromsc,studentwherestudent.sno=sc.sno
(5)∏o,ame(Course
SC)
Selectsc.o,amefromcourse,scwherecourse.o=snc.o
(6)∏Sname,Grade(Student
(σo=‘5’(SC))
Selectsname,gradefromstudent,scwherestudent.sno=sc.snoando=’5’
(7)∏Sno,Sname(σame=‘数据库原理’(Student
SC
Course)
或∏Sno,Sname(Student
∏Sno(SC
σame=‘数据库原理’(Course))
Selectsno,snamefromstudent,sc,coursewheresc.sno=student.snoandsc.o=course.oandame=’数据库原理’
13现有图书借阅关系数据库模式如下:
图书(图书号,书名,作者,单价,库存量)
读者(读者号,,工作单位,地址)
借阅(图书号,读者号,借期,还期,备注)
其中,还期为NULL表示该书未还。
用关系代数表示如下查询:
(1)查询读者号为"
R016”的读者**、工作单位
(2)查询图书号为"
B5”的读者**
(3)查询读者"
李林”所借阅图书的书名
(4)查询读者"
李林”所借阅图书中未还的书名
答案
(1)∏,工作单位(σ读者号=‘R016’(读者))
(2)∏(σ图书号=‘B5’(读者
借阅))
(3)∏书名(σ**=‘李林’(读者
借阅
图书))
(4)∏(σ**=‘李林’∧还期=NULL(读者
或∏((σ**=‘李林’(读者))
(σ还期=NULL(借阅))
图书)
2、∏Sname,Grade(σo=’5’(Student
SC))
3、∏Sno,Sname(Student
∏Sno(SC
σame=’操作系统’(Course))
第3章
1.SQL语言称为(C)。
A.结构化定义语言B.结构化操纵语言
C.结构化查询语言D.结构化控制语言
2.下列SQL语句中,修改表结构的是(D)
A.CREATEB.UPDATEC.INSERTD.ALTER
3.在SELECT语句中,用于实现数据分组统计的子句是(C)
A.FROM子句B.WHERE子句
C.GROUPBY子句D.ORDERBY子句
4.下列哪种运算不能引出子查询。
(B)
A.INB.LIKEC.E*ISTSD.比较运算
5.基于学生选课数据库中的3个关系:
S(**,,性别,年龄)、C(课程号,课程名,任课教师)、SC(**,课程号,成绩),若要求查找选修"
数据库技术”这门课程的学生**和成绩,将使用关系(D)
A.S和SCB.SC和CC.S和CD.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(成绩)>
D.SELECT**,成绩FROMSCGROUPBY**HAVINGAVG(成绩)>
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、MA*、MIN等,除COUNT(*)用法外,统计时均忽略空值,使用DISTINCT选项可忽略对重复数据的统计。
聚集行数只可用于SELECT子句和HAVING子句。
3.若一个查询同时涉及到两个表,则称之为连接查询。
连接查询的连接条件可在WHERE子句中通过一个比较运算指定,或在FROM子句中在指定连接方式的同时指定连接条件。
4.子查询又称嵌套查询,是嵌套在SELECT、INSERT、UPDATE、DELETE等语句中的SELECT查询语句。
多用在WHERE子句中,使用子查询的结果作为搜索条件。
在Where子句中使用子查询有以下几种方式:
由IN引出子查询、由比较运算符引出子查询、由E*ISTS引出子查询。
四、数据库操作
1.仓库管理系统
在*仓库管理系统中,有两个表:
KC表和CKM*表,
其结构和部分数据如下:
表1、KC表结构和数据
材料代码
材料名称
单位
单价
库存数量
01
计算机
台
5000.00
10
02
电视机
2000.00
20
…
表2、CKM*表结构和数据
编号
出库日期
出库数量
1
2009-10-10
4
2
2009-11-20
5
其中,KC表保存当前仓库库存材料的信息,CKM*表存放库存材料的出库名细。
例如,KC表第一行表示该仓库中现有计算机10台。
CKM*表第二行表示2009年11月20日从仓库中出库3台计算机。
(1)试写出创建KC表和CKM*表的SQL语句,要求定义实体和参照完整性。
(2)写出在KC表上按材料名称建立唯一索引的SQL语句。
(3)创建一个视图,用于查询计算机的出库明细。
(4)写出将表中数据插入到相应表中的语句。
(5)从表CKM*中统计出各种材料的出库次数和出库总数量,试写出SQL语句。
(6)写出由KC表和CKM*表产生如下结果集的查询语句:
金额
20000.00
15000.00
.仓库管理系统
(8)创建表
CREATETABLEKC
(
材料代码char
(2)PRIMARYKEY,
材料名称char(20),
单位char(10),
单价numeric(10,2),
库存数量int
)
CREATETABLECKM*
编号char(4)PRIMARYKEY,
材料代码char
(2)REFERENCESKC(材料代码),
出库日期date,
出库数量int
Or或者
材料代码char
(2),
出库数量int,
Foreignkey(材料代码)REFERENCESKC(材料代码)
(9)创建索引
CREATEUNIQUEINDE*inde*1ONKC(材料名称)
Dropinde*inde*1onKC
(10)创建视图
CREATEVIEWviewputer
AS
SELECT*FROMCKM*,KC
WHERECKM*.材料代码=KC.材料代码andKC.材料名称='
计算机'
(11)插入数据
INSERTINTOKCVALUES('
01'
'
台'
5000.00,10)
02'
电视机'
2000.00,20)
INSERTINTOCKM*VALUES('
1'
2009-10-10'
4)
2'
2009-10-20'
3)
3'
5)
(12)统计
SELECT材料代码,COUNT(*)as次数,SUM(出库数量)as出库数量
fromCKM*
groupby材料代码
(13)查询
SELECTckm*.编号,出库日期,材料名称,单价,出库数量,出库数量*单价as金额
FROMKC,CKM*
WHEREKC.材料代码=CKM*.材料代码
2.财务管理系统
学校有多名学生,财务处每年要收一次学费。
财务处现用两个表记录相关信息,其结构和部分数据如下表:
表1、*S表结构和数据
**
性别
年龄
所在系
200901
*明
男
18
200902
王晓萌
21
信息
200903
李刚
表2、JFQK表结构和数据
序号
交费日期
书费
学费
2009-09-10
500.50
5000
400.00
2010-10-10
300.20
4000
其中,*S表是在校学生名册和基本信息登记表,JFQK表是学生交学费情况记录。
(1)试写出创建*S表和JFQK表的SQL语句,要求定义实体和参照完整性。
(2)写出在*S表上按学生**建立唯一索引的SQL语句。
(3)创建一个视图,用于查询计算机系同学的基本信息。
(5)将计算机系同学的年龄增加1岁,并将计算机系同学的学费减1000元。
(6)从表JFQK中统计出每个同学的交费次数和交费总金额,试写出SQL语句。
(7)写出由*S表和JFQK表能产生类似如下结果集的查询语句:
合计
5500.50
5400.00
答案财务管理系统
(5)创建表
CREATETABLE*S
**char(6)PRIMARYKEY,
char(10)notnull,
性别char
(2)null,
年龄smallint,
所在系char(20)
CREATETABLEJFQK
序号intPRIMARYKEY,
**char(6)REFERENCES*S(**),
交费日期date,
书费numeric(6,2),
学费int
(6)创建索引
CREATEUNIQUEINDE*inde*1ON*S()
(7)创建视图
CREATEVIEWviewputer1
SELECT*FROM*SWHERE所在系='
(8)插入数据
INSERTINTO*SVALUES('
200901'
*明'
男'
18,'
200902'
王晓萌'
null,21,'
信息'
200903'
李刚'
20,'
INSERTINTOJFQKVALUES(1,'
2009-09-10'
500.50,5000)
INSERTINTOJFQKVALUES(2,'
400.00,5000)
INSERTINTOJFQKVALUES(3,'
2010-10-10'
300.