数据库系统与应用戴小平课后答案.docx
《数据库系统与应用戴小平课后答案.docx》由会员分享,可在线阅读,更多相关《数据库系统与应用戴小平课后答案.docx(27页珍藏版)》请在冰豆网上搜索。
数据库系统与应用戴小平课后答案
《数据库系统及应用》,戴小平,中国科技大学出版社,2010.8.
第1章数据库基础
1.1习题P22
A.11.2
试述数据库、数据库系统、数据库管理系统这几个概念。
答案:
B.1数据库
数据库是关于企业或组织的全部数据的集合。
数据库包含两部分:
一是对数据结构的所有描述,存储于数据字典之中,二是数据数据本身,它是数据库的主体。
B.2数据库系统
数据库系统是指在计算机系统中引入数据库后的系统构成,由数据库、数据库管理系统、运行环境、数据库管理员和用户构成。
B.3数据库管理系统
数据库管理系统是位于用户与操作系统之间的一层数据管理软件,负责数据库管理和维护的软件系统。
A.21.3
试述数据管理技术的三个阶段,及其特点。
答案:
B.1手工管理阶段
数据的组织和管理完全靠程序员手工完成,因此称为手工管理阶段。
这个阶段数据的管理效率很低。
C.1特点:
D.1数据不保存。
D.2应用程序管理数据。
D.3数据不共享。
D.4数据不具有独立性。
B.2文件系统阶段
在文件系统中,按一定的规则将数据组织成为一个文件,应用程序通过文件系统对文件中的数据进行存取和加工。
C.1特点:
D.1数据可以长期保留。
D.2数据不属于某个特定的应用程序。
D.3文件组织形式的多样化。
D.4数据冗余度大。
D.5数据不一致性。
D.6数据联系弱。
B.3数据库系统阶段
数据库技术克服了以前所有管理方式的缺点,试图提供一种完善的、更高级的数据管理方式。
它的基本思想是解决多用户数据共享的问题,实现对数据的集中统一管理,具有较高的数据独立性,并为数据提供各种保护措施。
C.1特点:
D.1采用数据模型表示复杂的数据结构。
D.2数据的共享性高,冗余度低,易扩充。
D.3数据具有较高的独立性。
D.4数据由DBMS统一管理和控制。
A.31.4
什么是数据模型及其三要素?
答案:
数据模型就是在数据世界中对概念模型的数据描述。
数据模型的三要素:
数据结构、数据操作、完整性约束
A.41.7
大学有若干个学院,每个学院有若干个系,每个系有若干个教师,每个教师开若干门课,每门课可以由不同的教师来教;学生属于不同的班级,班级属于不同的系;每个学生可以选修若干门课,每门课可以由不同的学生来选。
试用E-R图来表示该大学的概念模型。
答案:
第2章关系数据库
2.1习题P48-50
A.12.2
关系的完整性规则是那几个?
分别给出规则。
答案:
B.1实体完整性规则
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
B.2参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值必为:
●取空值(F中的每个属性值均为空值)。
●等于S中的某个元组的主码值。
B.3用户定义的完整性
规则包括:
(1)列值非空(NOTNULL短语)
(2)列值惟一(UNIQUE短语)
(3)列值需满足一个布尔表达式(CHECK短语)
A.22.3
简述关系模型的三个组成部分。
答案:
关系模型有三个要素,即关系数据结构、关系操作集合和关系完整性约束。
A.32.6
设有四个关系R,S,T,U如图所示:
R
A
B
C
7
8
5
4
7
9
5
5
3
S
A
B
C
7
8
5
7
9
1
5
4
2
T
C
D
5
3
3
7
U
A
B
C
D
1
4
5
3
1
4
3
7
5
4
2
1
计算:
R∪S,R-S,R∩S,U÷T,R×T
3>1
RT,RT,σC<3(U),∏4,3(U)
∏1,3(σD<4(SU)),∏4,2(σB>5(R×T))
答案:
A
B
R.C
T.C
D
7
8
5
5
3
7
8
5
3
7
4
7
9
5
3
4
7
9
3
7
5
5
3
5
3
5
5
3
3
7
R×T
T.C
B
5
8
3
8
5
7
3
7
∏4,2(σB>5(R×T))
A.42.7
设有一个学生借书SJB数据库,包括S,B,SJB三个关系模式:
S(SNO,SNAME,SAGE,SSEX,SDEPT)
B(BNO,BNAME,BWRI,BPUB,BQTY,BPRI)
SJB(SNO,BNO,BT,ST,QTY,FEE)
学生表S由学生号(SNO),学生名(SNAME),年龄(SAGE),性别(SSEX),系部(SDEPT)组成;
图书表由图书号(BNO),图书名(BNAME),作者(BWRI),出版社(BPUB),数量(BQTY),价格(BPRI)组成;
学生借阅表由学生号(SNO),图书号(BNO),借阅时间(BT),归还时间(HT),借出数量(QTY),欠费情况(FEE)组成。
试用关系代数、ALPHA语言、QBE语言完成下列查询并给出结果:
检索S1学生的借书情况。
检索计算机系学生的借书情况。
检索学生李明借的图书的书名和出版社情况。
检索李明借的数据库原理书欠费情况。
检索至少借了王小川同学所借的所有书的学生号。
检索12月31号归还的图书情况。
检索清华大学出版社出版的30元以下的图书情况。
S表
SNO
SNAME
SAGE
SSEX
SDEPT
S1
李明
18
男
计算机系
S2
王建
18
男
计算机系
S3
王丽
17
女
计算机系
S4
王小川
19
男
数理系
S5
张华
20
女
数理系
S6
李晓莉
19
女
数理系
S7
赵阳
21
女
外语系
S8
林路
19
男
建筑系
S9
赵强
20
男
建筑系
B表
BNO
BNAME
BWRI
BPUB
BQTY
BPRICE
B1
数据通信
赵甲
南北出版社
10
28
B2
数据库
钱乙
大学出版社
5
34
B3
人工智能
孙丙
木华出版社
7
38
B4
中外建筑史
李丁
木华出版社
4
52
B5
计算机英语
周戊
大学出版社
7
25
B6
离散数学
吴巳
木华出版社
2
28
B7
线性电子线路
郑庚
南北出版社
3
34
B8
大学物理
王辛
南北出版社
4
28
SJB表
SNO
BNO
BT
HT
QTY
FEE
S1
B1
08/04/2008
12/09/2008
1
3.5
S1
B2
10/07/2008
11/07/2008
1
0
S1
B3
10/07/2008
1
S2
B2
09/04/2008
11/07/2008
1
0
S3
B4
09/04/2008
12/31/2008
1
2.7
S3
B3
06/11/2008
09/08/2008
2
0
S4
B2
09/11/2008
12/10/2008
1
0
S4
B1
09/11/2008
1
S5
B5
09/06/2008
12/31/2008
1
0
S6
B7
05/14/2008
05/31/2008
1
0
S7
B4
05/27/2008
09/16/2008
1
11.2
S7
B7
09/18/2008
10/26/2008
1
0
S9
B8
11/21/2008
12/31/2008
1
0
S9
B8
11/27/2008
1
答案:
检索S1学生的借书情况。
σSno='S1'(SJB)
检索计算机系学生的借书情况。
πSNO,BNO,BT,HT,QTY,FEE(σSDEPT='计算机'(SJB∞S))
检索学生李明借的图书的书名和出版社情况。
πBNAME,BPUB(σSNAME='李明'(S∞SJB∞B))
BNAME
BPUB
数据通信
南北出版社
数据库
大学出版社
人工智能
木华出版社
检索李明借的数据库原理书欠费情况。
πFEE(σSNAME='李明'∧BNAME=’数据库’(S∞SJB∞B))
检索至少借了王小川同学所借的所有书的学生号。
πSNO,BNO((S∞SJB))÷πBNO(σSNAME='王小川'(S∞SJB))
检索12月31号归还的图书情况。
σHT='12/31/2008’(SJB))
检索木华出版社出版的30元以下的图书情况。
σBPUB='木华大学出版社'∧BPRICE<30(B)
BNO
BNAME
BWRI
BPUB
BQTY
BPRICE
B6
离散数学
吴巳
木华出版社
2
28
第3章关系数据库标准语言SQL
3.1习题P122
A.14.2
试指出SQL语言中基本表和视图的区别和联系是什么?
答案:
⏹虚表,是从一个或几个基本表(或视图)导出的表
⏹只存放视图的定义,不会出现数据冗余
⏹基表中的数据发生变化,从视图中查询出的数据也随之改变
⏹视图一经定义,就可以和基本表一样被查询,被删除,但对视图的更新(增加,删除,修改)操作则有一定的限制。
⏹由于视图是虚表,所以SQL对视图不提供建立索引的语句。
⏹SQL一般也不提供修改视图定义的语句(有此需要时,只要把原定义删除,重新定义一个新的即可,这样不影响任何数据)。
A.24.6
事务的特性是什么?
答案:
事务的ACID特性:
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。
A.3*4.10
已知有三个关系如下,请用SQL语言完成下面各项操作:
图书(总编号,分类号,书名,作者,出版单位,单价)
读者(借书证号,单位,姓名,性别,职称,地址,借阅册数)
借阅(借书证号,总编号,借书日期)
用SQL语句完成以下各项操作。
(1)创建借阅基本表,同时指定主码和外码。
(注:
借书证号为字符型,宽度为3;总编号为字符型,宽度为6;借书日期为日期时间型)。
(2)给读者表增加约束‘性别只能为男或女’。
(3)为图书表按总编号降序创建唯一索引。
(4)查找‘清华大学出版社’的所有图书及单价,结果按单价降序排列。
(5)查找单价在17元以上已借出的图书。
(6)查找藏书中比‘清华大学出版社’的所有图书单价都高的图书总编号。
(7)统计藏书中各个出版单位的册数和价值总和,显示册数在5本以上的出版单位、册数和价值总和。
(8)查找借阅了借书证号为‘006’的读者所借所有图书的读者借书证号、姓名和地址。
(9)在借阅基本表中插入一条借书证号为‘008’,总编号为‘010206’,借书日期为2000年12月16日的记录。
(10)将‘高等教育出版社’的图书单价增加5元。
(11)删除所有作者为‘张三’的图书借阅记录。
(12)创建‘计算机系’借阅‘清华大学出版社’图书的读者视图。
(13)授予张军对借阅表有SELECT的权力,对其中借书日期有更新的权力。
A.44.11
已知有四个关系如下,请用SQL语言完成下面各项操作:
供应商表S:
由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成。
零件表P:
由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J:
由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成。
供应情况表SPJ:
由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。
(1)分别创建上面四个基本表,同时指定主码和外吗。
(2)检索供应商代码为S1供应商供应的零件号
(3)检索没有使用天津供应商生产的红色零件的工程号JNO;
(4)检索出各个工程项目使用的零件数量。
(5)检索上海厂商供应的所有零件代码,并且按照重量从大到小显示出来。
(6)检索出供应商姓名头两个字为“浦东”的供应商的信息。
(7)把全部红色零件的颜色改成蓝色。
(8)从零件表中删除零件号是P2的记录。
(9)请将(S2,J6,P4,200)插入供应情况关系。
(10)授予用户“王明”对零件表有INSERT的权限,并允许该权限传播。
(11)创建一删除触发器,当零件表中删除零件记录时,将供应情况表的对应的供应信息删除。
答案:
(1)分别创建上面四个基本表,同时指定主码和外吗。
CREATETABLES
(SNOCHAR(5),
SNAMECHAR(20),
CITYCHAR(20),
CONSTRAINTSNO_pkPRIMARYKEY(SNO));
CREATETABLEP
(PNOCHAR(5),
PNAMECHAR(20),
COLORCHAR(6)
WEIGHTNUMBER,
CONSTRAINTPNO_pkPRIMARYKEY(PNO));
CREATETABLEJ
(JNOCHAR(5),
JNAMECHAR(20),
CITYCHAR(20),
CONSTRAINTJNO_pkPRIMARYKEY(JNO));
CREATETABLESPJ
(SNOCHAR(5),
PNOCHAR(5),
JNOCHAR(5),
QTYNUMBER,
CONSTRAINTSPJ_pkPRIMARYKEY(SNO,PNO,JNO),
CONSTRAINTSNO_fkFOREIGNKEY(SNO)REFERENCESS(SNO),
CONSTRAINTPNO_fkFOREIGNKEY(PNO)REFERENCESP(PNO),
CONSTRAINTJNO_fkFOREIGNKEY(JNO)REFERENCESJ(JNO),
);
(2)检索供应商代码为S1供应商供应的零件号
SELECTPNO
FROMSPJ
WHERESNO=’S1’;
(3)检索没有使用天津供应商生产的红色零件的工程号JNO;
SELECTJNO
FROMJ
WHERENOTEXISTS
(SELECT*
FROMS,P,SPJ
WHERES.SNO=SPJ.SNO
ANDJ.JNO=SPJ.JNO
ANDP.PNO=SPJ.PNO
ANDP.COLOR=‘红色’
ANDS.CITY=‘天津’
);
或
SELECTDISTINCTJNO
FROMSPJ
WHEREJNONOTIN
(SELECT*
FROMS,P,SPJ
WHERES.SNO=SPJ.SNO
ANDP.PNO=SPJ.PNO
ANDP.COLOR=‘红色’
ANDS.CITY=‘天津’
);
(4)检索出各个工程项目使用的零件数量。
SELECTJNO,SUM(QTY)
FROMSPJ
GROUPBYJNO;
(5)检索上海厂商供应的所有零件代码,并且按照重量从大到小显示出来。
SELECTP.PNO
FROMP,SPJ,S
WHERES.SNO=SPJ.SNO
ANDP.PNO=SPJ.PNO
ANDS.CITY=‘上海’
ORDERBYWEIGHTDESC;
或
SELECTDISTINCTPNO
FROMSPJ,S
WHERES.SNO=SPJ.SNO
ANDS.CITY=‘上海’
ORDERBYWEIGHTDESC;
(6)检索出供应商姓名头两个字为“浦东”的供应商的信息。
SELECT*
FROMS
WHERESNAMELIKE‘浦东%’;
(7)把全部红色零件的颜色改成蓝色。
UPDATEP
SETCOLOR=‘蓝色’
WHERECOLOR=‘红色’;
(8)从零件表中删除零件号是P2的记录。
DELETEFROMP
WHEREPNO=‘P2’;
(9)请将(S2,J6,P4,200)插入供应情况关系。
INSERTINTOSPJ
VALUES(‘S2’,’J6’,’P4’,200);
(10)授予用户“王明”对零件表有INSERT的权限,并允许该权限传播。
GRANTINSERT
ONP
TO‘王明’
WITHGRANTOPTION;
第4章Oracle数据库
第5章ORACLE存储过程与触发器
第6章关系数据理论
6.1习题P167
A.16.1
名词解释:
范式,函数依赖,部分函数依赖,传递函数依赖,完全函数依赖,多值依赖
答案:
范式:
范式是符合某一种级别的关系模式的集合。
函数依赖:
设关系R(U)是属性集U上的关系模式,X、Y是U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属件值相等,而在Y上的属性值不等,则称X函数决定Y,或Y函数依赖X.记作X→Y。
部分函数依赖:
在R(U)中,如果X→Y,存在X的一个真子集X’,有X’→Y,则称Y对X部分函数依赖,记作XY。
传递函数依赖:
在R(U)中,如果X→Y,(YX),YX,Y→Z,则称Z对X传递函数依赖。
记为:
XZ
完全函数依赖:
在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖,记作:
XY。
多值依赖:
设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且Z=U-X-Y。
关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。
A.26.7
6.7设关系模式R(ABC),F是R上成立的FD集,F={C→B,B→A}。
(1)试说明R不是3NF模式的理由。
答案:
该关系的吗是C,因C→B、B→A、BC,即AC;故R不是3NF。
(2)试把R分解成3NF模式集。
答案:
{R1(AB)、R2(BC)}。
A.36.8
6.8设关系模式R,其中U={A,B,C,D,E,F},函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}。
(1)求出BF+。
答案:
解设X(0)=B;
(1)X
(1)=B∪AC=ABC。
(2)X(0)≠X
(1)
X
(2)=X
(1)。
(3)算法终止
(B)F+=ABC。
(2)求出F的最小函数依赖集。
答案:
C.1解1:
(1)根据分解规则把F中的函数依赖转换成右部都是单届性的函数依赖集合,分解后的函数依赖集仍用F表示。
F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}
(2)去F中冗余的函数依赖。
①判断A→C是否冗余:
设:
G1={C→A,B→A,B→C,D→A,D→C,BD→A},得:
,
而
,故A→C不冗余。
②判断C→A是否冗余:
设:
G2=={A→C,B→A,B→C,D→A,D→C,BD→A},得:
,
而
,∴故A→C不冗余。
③判断B→A是否冗余:
设:
G3=={A→C,C→A,B→C,D→A,D→C,BD→A},得:
,
而
,
∴故B→A冗余。
。
④判断B→C是否冗余:
设:
G4=={A→C,C→A,D→A,D→C,BD→A},得:
,
而
,∴B→C不冗余。
⑤判断D→A是否冗余:
设:
G5=={A→C,C→A,B→C,D→C,BD→A},得:
,
而
,∴D→A冗余。
判断D→C是否冗余:
设:
G6=={A→C,C→A,B→C,BD→A},得:
,
而
,∴D→C不冗余。
判断BD→A是否冗余:
设:
G7=={A→C,C→A,B→C,D→C},得:
,
而
,∴BD→A冗余。
由于该例中的函数依赖表达式的左部均为单属性,因而不需要进行第三步的检查。
Fm={A→C,C→A,B→C,D→C}。
同理:
Fm={A→C,C→A,B→A,D→A}
Fm={A→C,C→A,B→A,D→C}
Fm={A→C,C→A,B→C,D→A}
A.46.9
6.9指出下列关系模式是第几范式?
并说明理由。
(1)R(A,B,C)
F={A→C,C→A,A→BC}
答案:
BCNF,该关系的码是A或C,符合每一个决定属性因素都包含码。
(2)R(A,B,C,D)
F={B→D,AB→C}
答案:
1NF,该关系的码是AB,非主属性D部分函数依赖于码。
(3)(A,B,C)
F={AB→C}
答案:
BCNF,该关系的码是AB,符合每一个决定属性因素都包含码。
(4)R(A,B,C)
F={B→C,AC→B}
答案:
3NF。
该关系的码是AB或AC,ABC都是主属性,故R属于3NF;但不符合每一个决定属性因素都包含码,故R不属于BCNF。
第7章
数据库设计
7.1习题P201-202
A.17.1
7.1试述数据库设计过程。
答案:
数据库的设计过程可以使用软件工程中的生存周期的概念来说明,称为“数据库设计的生存周期”,它是指从数据库研制到不再使用它的整个时期。
按规范设计法可将数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施和数据库运行与维护六个阶段。
A.27.17
7.17假设某公司在多个地区设有销售部经销本公司的各种产品,每个销售部聘用多名职工,且每名职工只属于一个销售部。
销售部有部门名称、地区和电话等属性,产品有产品编码、品名和单价等属性,职工有职工号、姓名和性别等属性,每个销售部销售产品有数量属性。
(1)根据上述语义画出E-R图,要求在图中画出属性并注明联系