习题答案 自编教材 52+12 讲义 大纲模式Word文档下载推荐.docx
《习题答案 自编教材 52+12 讲义 大纲模式Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《习题答案 自编教材 52+12 讲义 大纲模式Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
![习题答案 自编教材 52+12 讲义 大纲模式Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/22/7965566f-3817-41a3-8d63-74caff4234f5/7965566f-3817-41a3-8d63-74caff4234f51.gif)
B.3数据库系统阶段
数据库技术克服了以前所有管理方式的缺点,试图提供一种完善的、更高级的数据管理方式。
它的基本思想是解决多用户数据共享的问题,实现对数据的集中统一管理,具有较高的数据独立性,并为数据提供各种保护措施。
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上的值必为:
●n取空值(F中的每个属性值均为空值)。
●n等于S中的某个元组的主码值。
A.22.3
简述关系模型的三个组成部分。
关系模型有三个要素,即关系数据结构、关系操作集合和关系完整性约束。
A.32.6
设有四个关系R,S,T,U如图所示:
R
A
B
C
7
8
5
4
9
3
S
1
2
T
D
U
计算:
R∪S,R-S,R∩S,U÷
T,R×
T
3>
R
T,R
T,σC<
3(U),∏4,3(U)
∏1,3(σD<
4(S
U)),∏4,2(σB>
5(R×
T))
R×
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
王建
S3
王丽
17
女
S4
王小川
19
数理系
S5
张华
20
S6
李晓莉
S7
赵阳
21
外语系
S8
林路
建筑系
S9
赵强
B表
BNO
BNAME
BWRI
BPUB
BQTY
BPRICE
B1
数据通信
赵甲
南北出版社
10
28
B2
数据库
钱乙
大学出版社
34
B3
人工智能
孙丙
木华出版社
38
B4
中外建筑史
李丁
52
B5
计算机英语
周戊
25
B6
离散数学
吴巳
B7
线性电子线路
郑庚
B8
大学物理
王辛
SJB表
BT
HT
QTY
FEE
08/04/2008
12/09/2008
3.5
10/07/2008
11/07/2008
09/04/2008
12/31/2008
2.7
06/11/2008
09/08/2008
09/11/2008
12/10/2008
09/06/2008
05/14/2008
05/31/2008
05/27/2008
09/16/2008
11.2
09/18/2008
10/26/2008
11/21/2008
11/27/2008
σSno='
S1'
(SJB)
πSNO,BNO,BT,HT,QTY,FEE(σSDEPT='
计算机'
(SJB∞S))
πBNAME,BPUB(σSNAME='
李明'
(S∞SJB∞B))
πFEE(σSNAME='
∧BNAME=’数据库’(S∞SJB∞B))
πSNO,BNO((S∞SJB))÷
πBNO(σSNAME='
王小川'
(S∞SJB))
σHT='
12/31/2008’(SJB))
检索木华大学出版社出版的30元以下的图书情况。
σBPUB='
清华大学出版社'
∧BPRICE<
30(B)
第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),
CONSTRAINTJNO_pkPRIMARYKEY(JNO));
CREATETABLESPJ
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
WHEREJNONOTIN
(4)检索出各个工程项目使用的零件数量。
SELECTJNO,SUM(QTY)
GROUPBYJNO;
(5)检索上海厂商供应的所有零件代码,并且按照重量从大到小显示出来。
SELECTP.PNO
FROMP,SPJ,S
WHERES.SNO=SPJ.SNO
ANDP.PNO=SPJ.PNO
ANDS.CITY=‘上海’
ORDERBYWEIGHTDESC;
SELECTDISTINCTPNO
FROMSPJ,S
SELECT*
FROMS
WHERESNAMELIKE‘浦东%’;
UPDATEP
SETCOLOR=‘蓝色’
WHERECOLOR=‘红色’;
DELETEFROMP
WHEREPNO=‘P2’;
INSERTINTOSPJ
VALUES(‘S2’,’J6’,’P4’,200);
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部分函数依赖,记作X
Y。
传递函数依赖:
在R(U)中,如果X→Y,(Y
X),Y
X,Y→Z,则称Z对X传递函数依赖。
记为:
X
Z
完全函数依赖:
在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’
Y,则称Y对X完全函数依赖,记作:
Y。
多值依赖:
设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、B
C,即A
C;
故R不是3NF。
(2)试把R分解成3NF模式集。
{R1(AB)、R2(BC)}。
A.36.8
6.8设关系模式R<
U,F>
,其中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是否冗余:
G6=={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假设某公司在多个地区设有销售部经销本公司的各种产品,每个销售部聘用多名职工,且每名职工只属于一个销售部。
销售部有部门