数据库系统包括题目和答案Word格式文档下载.docx
《数据库系统包括题目和答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库系统包括题目和答案Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
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)数据定义功能’
(2)数据的组织、存储和管理,
四、应用题
1.设有商品和顾客两个实体,商品实体包括商品编号、名称、单价等属性,顾客实体包括
顾客编号、姓名、联系电话等属性,两个实体存在如下的关系:
•—个顾客可购买多种任意商品
•每次可购买一定数量的商品(一天只限一次购物)
绘出E-R图,并标明属性和联系的类型
2.为某百货公司设计一个E-R模型:
百货公司管辖若干个连锁商店,每家商店经营若干商
品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型“商店”的属性有:
商店编号、商店名称、地址、联系电话。
实体类型“商品”的属性有:
商品编号、商品名称、单价、产地。
实体类型“职工”的属性有:
职工编号、职工姓名、性别、工资。
在联系中应反映出职工参加某商店工作的工作时间,商店推销产品的销售量。
3.
—、选择题
[•关于关系模型,下列说法中不正确的是(D)。
B.关系模型是建立在集合代数的基础上的
C.数据的逻辑结构是一个二维表
D.关系操作是面向集合的操作方式
E.关系中的数据可以是任意的
2关于关系,下列说法中不正确的是(D)。
B.关系中每个属性值都是不可分解的B.关系中不允许出现相同的元组
C.关系中不考虑元组间的顺序D.元组中的属性是有序的
3关系代数中,选择运算的运算符号是(C)
A.xB.nc.<
7D.6
4关系查询时取出关系的某些列,并取消重复元组的关系运算为(B)。
B.选择运算B.投影运算C.连接运算D.笛卡儿积
5根据关系模式的实体完整性规则,一个关系的主码属性(C)o
A・不能有两个
C・不允许为空
B.不能成为另一个关系的外码
D•可以取任意值
6在关系模式R(R#,RN:
S#)和S(S#.SN.SD)中,R的主键是R#,S的主键是
S#,则S#在R中称为(B)o
C.主码
B.外码
C.候选码
D.全码
厂成绩在0400之间”这种约束属于哪种完整性约束(C)。
D.主键约束
B.外键约束
C.用户定义的完整性约束D.全不是
8关系R如下图所示,
A
B
C
al
bl
cl
b2
c3
a2
c2
al的象集是(B)o
B.{(bl,cl),(b2,c3)}
D.{(bl,cl)t(b2,c3),(bl,c2)}
E.{bl,b2}
C.{cl,c3}
二、简述题
9・关系模型的三个组成部分是什么?
10.关系模型的完整性约束分为哪三类?
11.关系代数中提供了哪些关系的查询运算?
答案
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)IlsnoQcno=2(SC))selectsnofromscwherecno=>
2,
(2)TTsno.Sname(OSno=D3'
(StUdePlt))
Selectsno.snamefromstudentwheresno二'
03'
(3)TTsno.Sname(Osage>
20ASsex=^(StUdeAt))
Selectsno.snamefromstudentwheresage>
20andssex二'
男'
(4)IK。
sname(StudentXSC)
Selectsc.sno,sanmefromsc,studentwherestudent.sno二sc.sno
(5)Tlcno.Cname(COUTSSSC)
Selecto,cnamefromcourse,scwhereo=o
(6)TTsname.Grade(StUdSfit(Ocno=*5"
(SC))
Selectsname,gradefromstudent,scwherestudent.sno二sc.snoandcno=‘5’
或Ilsno.sname(StudentN口2(SCXOcname=gUKM理(COMSe))
Selectsno.snamefromstudent,sc,coursewheresc.sno二studentsnoand
o二oandcname=5数据库原理,
13现有图书借阅关系数据库模式如下:
图书(图书号,书名,作者,单价,库存量)
读者(读者号,姓名,工作单位,地址)
借阅(图书号,读者号,借期,还期’备注)
其中,还期为NULL表示该书未还。
用关系代数表示如下查询:
(1)查询读者号为“R016”的读者姓名、工作单位
(2)查询图书号为“B5”的读者姓名
(3)查询读者“李林”所借阅图书的书名
(4)查询读者“李林”所借阅图书中未还的书名
(1)口进名.工作单位(。
轴HROE(读者))
(2)II灶名(。
图书号=®
5-(读者X借阅))
0)II书名(5名沖林•(读者M借阅M图书))
(4)H进名姓名=•李林人还期=IIULL(读者N借阅N图书))
或口进名((。
进“琢(读者))XI(。
还期"
L(借阅))x图书)
2、口3皿・卄QcnoJb(Student冈SC))
3、riggw(Student冈Hsno(SC冈。
“心援作磁(Course))
一、选择题
1.SQL语言称为(C)o
A.结构化定义语言
C.结构化查询语言
B.结构化操纵语言
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.EXISTSD.比较运算
5•基于学生选课数据库中的3个关系:
S(学号,姓名,性别,年龄)、C(课程号,课程名,任课教师)、SC(学号,课程号,成绩),若要求查找选修“数据库技术”这门课程的学生姓名和成绩,将使用关系(D)
A.S和SCB.SC和C(3,和。
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)o
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.子查询又称嵌套查询,是嵌套在SELECTJNSERT.UPDATEsDELETE等语句中的SELECT查询语句。
多用在WHERE子句中,使用子查询的结果作为搜索条件。
在Where子句中使用子查询有以下几种方式:
由IN引出子查询、由比较运算符引出子查询、由EXISTS引出子查询。
四、数据库操作
1.仓库管理系统
在某仓库管理系统中,有两个表:
KC表和CKMX表,其结构和部分数据如下:
表1、KC表结构和数据
材料代码
材料名称
单位
单价
库存数量
01
计算机
台
5000.00
10
02
电视机
2000.00
20
表2、CKMX表结构和数据
编号
出库日期
出库数量
1
2009-10-10
4
2
2009-11-20
3
5
其中,KC表保存当前仓库库存材料的信息,CKMX表存放库存材料的出库名细。
例如,KC表第一行表示该仓库中现有计算机10台。
CKMX表第二行表示2009年LL月20日从仓库中出库3台计算机。
(1)试写出创建KC表和CKMX表的SQL语句,要求定义实体和参照完整性。
(2)写出在KC表上按材料名称建立唯一索引的SQL语句。
(3)创建一个视图,用于查询计算机的出库明细。
(4)写出将表中数据插入到相应表中的语句。
(5)从表CKMX中统计出各种材料的出库次数和出库总数量,试写出SQL语句。
(6)写出由KC表和CKMX表产生如下结果集的查询语句:
金额
20000.00
15000.00
•仓库管理系统
(8)创建表
CREATETABLEKC
(
材料代码char
(2)PRIMARYKEY
材料名称char(20),单位char(10),单价numeric(10,2),库存数量int
)
CREATETABLECKMX
编号char⑷PRIMARYKEY
材料代码char
(2)REFERENCESKC(材料代码),
出库日期date
出库数量int
0「或者
编号char⑷PRIMARYKEY,
材料代码char
(2),
出库数量int:
Foreignkey(材料代码)REFERENCESKC(材料代码)
⑼创建索引
CREATEUNIQUEINDEXindexlONKC(材料名称)
DropindexindexlonKC
(10)创建视图
CREATEVIEWviewComputer
AS
SELECT*FROMCKMX.KC
WHERECKMX.材料代码二KC.材料代码andKC•材料名称二'
计算机,
(11)插入数据
INSERTINTOKCVALUES('
O1"
计算机'
‘台'
5000.0010)
O2'
'
电视机'
2000.0020)
INSERTINTOCKMXVALUES(H,'
0T,'
2009JOJOM)
INSERTINTOCKMXVALUES('
2T0T,'
2009・:
L0・20'
3)
INSERTINTOCKMXVALUESCS'
/OZ,'
2009-10-20'
5)
(12)统计
SELECT材料代码,COUNT«
as次数SUM(出库数量)as出库数量
fromCKMX
groupby材料代码
(13)查询
SELECTckmx编号出库日期材料名称,单价,出库数量.出库数豊单价as金额
FROMKC.CKMX
WHEREKC材料代码二CKMX材料代码
2.财务管理系统
学校有多名学生,财务处每年要收一次学费。
财务处现用两个表记录相关信息’其结构和部分数据如下表:
表1、XS表结构和数据
学号
姓名
性别
年龄
所在系
200901
张明
男
18
200902
王晓萌
21
信息
200903
李刚
表2、JFQK表结构和数据
序号
交费日期
1丿贝
学费
20090
2009-09-1
500.50
5000
400.00
2010-10-1
300.20
4000
其中,XS表是在校学生名册和基本信息登记表,JFQK表是学生交学费情况记录。
(1)试写出创建XS表和JFQK表的SQL语句,要求定义实体和参照完整性。
⑵写出在XS表上按学生姓名建立唯一索引的SQL语句。
⑶创建一个视图,用于查询计算机系同学的基本信息。
⑷写出将表中数据插入到相应表中的语句。
⑸将计算机系同学的年龄増加1岁,并将计算机系同学的学费减1000元。
⑹从表JFQK中统计出每个同学的交费次数和交费总金额.试写出SQL语句。
(7)写出由XS表和JFQK表能产生类似如下结果集的查询语句:
书费
合计
2009-09-10
5500.50
5400.00
答案财务管理系统
(5)创建表
CREATETABLEXS
学号char(6)PRIMARYKEY,
姓名char(10)notnull,
性别char⑵null,
年龄smallint.
所在系char(20)
CREATETABLEJFQK
序号intPRIMARYKEY.
学号char(6)REFERENCESXS(学号),交费日期date
书费numeric®
2),
学费int
⑹创建索引
CREATEUNIQUEINDEXindexlONXS(姓名)
(7)创建视图
CREATEVIEWviewComputerl
SELECT*FROMXSWHERE所在系二'
计算机’
⑻插入数据
INSERTINTOXSVALUESf200901'
;
张明:
男'
丄8'
INSERTINTOXSVALUESf200902'
王晓萌null,21:
信息'
INSERTINTOXSVALUESf200903'
李刚■男:
20'
计算机)
INSERTINTOJFQKVALUES(l'
20090T,'
2009-09・10'
500.50.5000)
INSERTINTOJFQKVALUES(2,,200902,,,2009-09-10,400.00.5000)
INSERTINTOJFQKVALUES©
'