数据库第13章课后习题答案.docx
- 文档编号:30689865
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:20
- 大小:23.88KB
数据库第13章课后习题答案.docx
《数据库第13章课后习题答案.docx》由会员分享,可在线阅读,更多相关《数据库第13章课后习题答案.docx(20页珍藏版)》请在冰豆网上搜索。
数据库第13章课后习题答案
第1章数据库系统概论
三、简答题
1.答:
数据库DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。
DB能为各种用户共享,具有较小冗余度、数据间联系严密而又有较高的数据独立性等特点。
2.答:
数据库管理系统DBMS是位于用户与操作系统〔OS〕之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。
3.答:
①数据定义语言及其翻译处理程序;②数据操纵语言及其编译〔或解释〕程序;③数据库运行控制程序;④实用程序。
4.答:
文件系统中的文件是面向应用的,一个文件根本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差;数据库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系的,减少了数据冗余,实现了数据共享,数据独立性高。
5.答:
①实现数据的集中化控制;②数据的冗余度小,易扩大;③采用一定的数据模型实现数据构造化;④防止了数据的不一致性;⑤实现数据共享;⑥提供数据库保护;⑦数据独立性;⑧数据由DBMS统一管理和控制。
6.答:
数据独立性是指数据库中的数据独立于应用程序,即数据的逻辑构造、存储构造与存取方式的改变不影响应用程序。
数据独立性一般分为数据的逻辑独立性和数据的物理独立性。
数据逻辑独立性是指数据库总体逻辑构造的改变〔如修改数据定义、增加新的数据类型、改变数据间的联系等〕不需要修改应用程序。
数据物理独立性是指数据的物理构造〔存储构造、存取方式等〕的改变,如存储设备的更换、物理存储格式和存取方式的改变等不影响数据库的逻辑构造,因而不会引起应用程序的改变。
7.答:
数据库系统中数据不是面向单个应用组织的,而是直接面向数据本身及数据间的内在联系来组织的,因此可以方便地供多用户多应用共享,这样,数据的冗余度就大幅度降低了。
8.答:
数据库应用系统是基于数据库创立的,能实现用户相关实际需求的应用系统,而数据库管理系统那么是运行于操作系统之上的,专用于对数据库进展管理的系统软件。
数据库应用系统对数据库的所有操作都要通过数据库管理系统来实现。
数据库管理系统通常会提供接口和工具以支持数据库应用系统的开发。
9.答:
完整性规那么是库中数据及数据间联系应满足的制约和依存规那么。
完整性规那么可用以限定数据库的状态以及状态的变化,以保证库中数据的正确、有效和相容,所以要定义完整性规那么。
第二章
三、简答题
1.答:
〔1〕关系:
一个关系就是一张二维表,每个关系都有一个关系名。
关系是一个属性数目一样的元组的集合。
〔2〕属性:
就是关系的标题栏中各列的名字,描述该列各数据项的含义,即二维表中垂直方向的列称为属性。
〔3〕元组:
除了关系的标题栏外,二维表中水平方向的行称为元组。
〔4〕分量:
元组中的一个属性值。
〔5〕关系模式是对关系的描述,关系模式是静态的、稳定的。
关系模式可以形式化地表示为:
R〔U,D,dom,F〕。
〔6〕域是一组具有一样数据类型的值的信息或数据,在关系中用来表示属性的取值范围。
域中的元素可以完全不同,也可以局部或全部一样。
2.答:
关系具有如下性质:
〔1〕关系中不允许出现一样的元组。
任意两个元组不能完全一样。
因为数学上集合中没有一样的元素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。
〔2〕关系中元组的顺序〔即行序〕可以任意。
元组上下无序,在一个关系中可以任意交换两行的次序。
因为集合中的元素是无序的,所以作为集合元素的元组也是无序的。
〔3〕关系中属性的顺序无所谓,即列的顺序可以任意交换。
按属性名引用时,属性左右无序。
交换时,应同属性名一起交换,否那么将得到不同的关系。
〔4〕同一属性名下的各个属性值必须来自同一个域,是同一类型的数据。
列是同质的〔Homogeneous〕,即每一列中的分量是同一类型的数据,来自同一个域。
〔5〕关系中各个属性必须有不同的名字,而不同的属性可来自同一个域。
不同的列可来自同一个域,其中的每一列称为一个属性,不同的属性要设置不同的属性名。
例如专职与兼职是两个不同的属性,但它们可取自同一个域如{教师,工人,农民}。
〔6〕关系不允许表中套表。
关系中的每一个属性值都是不可分解的,表中的元组分量必须是原子的。
关系中的每一个数据项必须是简单的数据项,而不是组合数据项。
3.答:
关系的键是指属性或属性组合,其值能够唯一地标识一个元组
,常用的关系的键主要有以下几种:
〔1〕候选键〔CandidateKey〕:
能唯一标识关系中元组的一个属性或属性集,称为候选键。
〔2〕主关系键〔PrimaryKey〕:
假设一个关系有多个候选键,通常选用一个候选键作为查询、插入或删除元组的操作变量。
被选用的候选键称为主关系键。
〔3〕外部关系键〔Foreignkey〕:
如果关系R2的一个或一组属性A不是R2的主关系键,而是另一关系R1的主关系键,那么该属性或属性组A称为关系R2的外部关系键或外码。
4.答:
实体完整性规那么:
假设属性A是根本关系R的主属性,那么属性A不能取空值。
参照完整性规那么:
假设属性(或属性组)F是根本关系R的外码,它与根本关系S的主码Ks相对应(根本关系R和S不一定是不同的关系),那么对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
外部属性可以为空,因为外部属性对其根本关系本身是非码,不是标识元组的属性值,故可以为空。
因此属性值尚未确定时,此外部属性为空。
5.答:
关系数据语言可以分为元组关系演算语言ALPHA和域关系演算语言QBE,前者以元组变量作为谓词变元的根本对象;后者以元组变量的分量即域变量作为谓词变员的根本对象。
6.答:
连接运算是将关系的属性拼成一个具有更多属性的关系,它不理会属性的重复与否,只是把参加运算的关系的属性连接起来即可。
运算过程通过连接条件控制选取符合条件的元组。
当连接运算符θ为“=〞时,称为等值连接。
自然连接是删除重复属性的等值连接,它是最常用的连接运算,是连接运算的一个特例。
参加运算的关系一般具有一个或多个同名属性。
在连接中,同名属性一般是外关键字,否那么会出现重复数据。
四、综合题
1.答:
R∪S
A
B
C
A1
B1
C1
A2
B2
C2
A3
B3
C3
A4
B4
C4
R∩S
A
B
C
A2
B2
C2
R-S
A
B
C
A1
B1
C1
A3
B3
C3
R×S
A1
B1
C1
A2
B2
C2
A1
B1
C1
A4
B4
C4
A2
B2
C2
A2
B2
C2
A2
B2
C2
A4
B4
C4
A3
B3
C3
A2
B2
C2
A3
B3
C3
A4
B4
C4
ПC,A〔R〕
C
A
C1
A1
C2
A2
C3
A3
П2,1〔R〕
B
A
B1
A1
B2
A2
B3
A3
σB='B1'〔R〕
A
B
C
A1
B1
C1
2.答:
Y>A
X
Y
Z
A
B
xm
2
za
xm
1
bm
xn
3
zb
xm
1
bm
xj
4
zc
xm
1
bm
xj
4
zc
xn
3
bj
Y=A
X
Y
Z
A
B
xn
3
zb
xn
3
bj
X
Y
Z
A
B
xm
2
za
xm
1
bm
xm
2
za
xm
5
bn
xn
3
zb
xn
3
bj
R和S的自然连接
X
Y
Z
A
B
xm
2
za
1
bm
xm
2
za
5
bn
xn
3
zb
3
bj
3.答:
〔1〕:
关系代数:
ПSELL,zno(σtno='t1'〔SELL))
ALPHA语言:
GETW(SELL.zno):
SELL.tno='t1'
QBE语言:
SELL
zno
tno
dno
P.z1
tno=t1
〔2〕:
关系代数:
Пzn,zno,zsex(AUTHOR)
ALPHA语言:
GETW(AUTHOR.zn,AUTHOR.zno)
QBE语言:
AUTHOR
zno
zn
zsex
zbp
P.z1
P.成功
〔3〕:
关系代数:
Пzn(σzbp='山东'∧zsex=’男’〔AUTHOR)
ALPHA语言:
GETW(AUTHOR.zn):
AUTHOR.zbp='山东'∧AUTHOR.zsex=’男’
QBE语言:
AUTHOR
zno
zn
zsex
zbp
P.成功
zsex=男
Zbp=山东
〔4〕:
关系代数:
Пdn(σtno='t1'(READER∝SELL))/用dno自然连接
ALPHA语言:
RANGEREADERCX
SELLEX
GETW〔READER.dn〕:
∀CX∃EX〔EX.dno=CX.dno∧CX.tno=‘t1’〕
QBE语言:
SELL
zno
tno
dno
P.z1
tno=t1
d1
READER
dno
dn
dsex
dbp
d1
P.吴号
〔5〕:
关系代数:
Пzn(AUTHOR∝(Пzno(σtpub≠'高等教育出版社'(BOOK∝SELL))))
ALPHA语言:
RANGEAUTHORCX
SELLEX
BOOKTX
GETW〔AUTHOR.zn〕:
∀CX∃EX〔CX.zno=EX.zno∧EX.tno=TX.tno∧TX.tpub≠'高等教育出版社'〕
QBE语言:
AUTHOR
zno
zn
zsex
zbp
z1
P.成功
SELL
zno
tno
dno
z1
t1
BOOK
tno
tn
tj
tpub
t1
tpub≠'高等教育出版社'
第3章关系数据库标准语言SQL
三、简答题
1.答:
SQL语言的优点是:
(1)它是非过程化语言
(2)它是统一的语言
(3)它是所有关系数据库的公共语言。
它提供的命令主要有:
(1)查询数据
(2)在表中插入、修改和删除记录
(3)建立、修改和删除数据对象
(4)控制对数据和数据对象的存取
(5)保证数据库一致性和完整性
2.答:
索引是根本表的目录,按某一字段或一组字段对数据表进展排序,以加快查找速度。
索引之所以能加快查询速度是因为:
首先,索引文件只有两个字段,一个是要排序的字段,一个是该记录在原数据表中的记录号,其文件大小要比原数据表小得多;其次,索引文件使用二分法查找记录,这种方法比顺序查找快数倍。
3.答:
按照索引记录的存放位置可以将索引分为聚集索引和非聚集索引。
按照索引记录是否允许具有索引值一样的行,可以将索引分唯一索引和非唯一索引。
按照索引记录字段个数可区分是否为组合索引。
聚集〔簇〕索引按照索引字段来排列记录,并按照指定的次序将记录存储在表中。
非聚集索引按照索引字段排列记录,但排列的结果并不存储在表中,而是存储在另外的位置。
唯一索引,不允许具有索引值一样的行,即每一个索引值只对应唯一的记录,从而制止重复的索引或键值。
组合索引是将两个或两个以上的字段组合起来建立的索引,单独的字段允许有重复值。
4.答:
当一个查询请求涉及到数据库的多个表时,必须用一定的连接条件将这些表连接起来,才能提供应用户需要的信息。
SQL中可通过WHERE连接查询方式和JOIN连接查询方式实现连接查询。
5.答:
JOIN连接查询方式中有5种连接形式,分别是:
〔1〕INNERJOIN〔内连接〕〔2〕LEFTOUTERJOIN〔左连接〕〔3〕RIGHTOUTERJOIN〔右连接〕〔4〕FULLOUTERJOIN〔全连接〕〔5〕CROSSJOIN〔穿插连接〕。
6.答:
嵌套查询通常分为不相关子查询和相关子查询两类。
不相关子查询:
子查询的查询条件不依赖于父查询。
子查询可以独立运行,并且只执行一次,执行完毕后将值传递给外部查询。
相关子查询:
子查询的查询条件依赖于父查询。
子查询不能独立运行,必须依靠父查询数据,并且外部查询执行一行,子查询就执行一次。
7.答:
嵌套查询中ANY或ALL谓词与集函数有如下对照关系:
=
<>
<
<=
>
>=
ANY
IN
<=MAX >MAX >=MAX ALL NOTIN <=MIN >MIN >=MIN 8.答: 视图是用户观察数据库中数据的重要机制,通常用来集中、简化和自定义每个用户对数据库的不同认识。 视图也可用作平安机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图根底表的权限。 视图通常分类如下: 视图类型 子查询数据源 视图名称 根本表视图 单表视图 行列子集视图 带表达式的视图 分组视图 多表视图 普通多表视图 带表达式的视图 分组视图 视图上的视图 单视图上视图 普通单表视图 带表达式的视图 分组视图 多视图上视图 普通多表视图 带表达式的视图 分组视图 根本表和视图上的视图 普通视图 带表达式的视图 分组视图 9.答: 为了保证视图更新约束,在视图中增加WITHCHECK OPTION子句,这样对视图的所有插入和修改操作都将受到检查,以保证插入的或修改的元组确为视图所见〔即满足视图定义条件〕。 视图的作用如下: 视图能使用户以多种角度对待同一数据 视图能够简化用户的操作 视图为重构数据库提供了一定程度的逻辑独立性 视图能够为机密数据提供平安保护 10.答: 保护数据库的平安性是指保护数据库,防止不合法的使用所造成的数据泄漏和破坏。 数据库系统中,保证数据库平安性的主要措施是进展存取控制。 不同的用户对不同的数据具有何种操作权力,是由数据库管理员〔DataBaseAdministrator,DBA〕和用户数据库所有者〔DataBaseOwner,DBO〕根据具体情况决定的,SQL语言为DBA和DBO定义和回收这种权限提供了手段。 11答: 权限机制是主要的平安机制,其根本思想是授予用户不同的权限,使用户能够进展的数据库操作以及所操作的数据限定在指定的范围内,制止用户超越权限对数据库进展非法的操作,必要时可以收回权限,从而保证数据库的平安性。 角色是多种权限的集合,可以授予用户或其他角色。 当要为某一用户同时授予或收回多项权限时,那么可以把这些权限定义为一个角色,对此角色进展操作即可。 这样就防止了许多重复性的工作,简化了管理数据库用户权限的工作。 12.答: 假设运用T-SQL来进展编程,有两种方法。 其一,在本地存储T-SQL程序,并创立应用程序向SQLServer发送命令来对结果进展处理;其二,把局部用T-SQL编写的程序作为存储过程存储在SQLServer中,并创立应用程序来调用存储过程,对数据结果进展处理,存储过程能够通过接收参数向调用者返回结果集,结果集的格式由调用者确定。 13.答: 存储过程具有以下优点: 〔1〕存储过程允许标准组件式编程。 〔2〕存储过程能够实现较快的执行速度。 〔3〕存储过程能够减少网络流量。 〔4〕存储过程可被作为一种平安机制来充分利用。 14.答: SQLServer支持以下5种类型的存储过程: 〔1〕系统存储过程: 此类存储过程内置于SQLServer,不能任意修改,提供有关数据库模式、对象名、约束、数据类型以及许可等方面的信息。 〔2〕局部存储过程: 此类存储过程由数据库管理员或SQLServer开发人员编写。 〔3〕临时存储过程: 此类存储过程由数据库管理员和SQLServer开发人员编写,但是只存在于连接期间。 〔4〕远程存储过程: 此类存储过程存在于远程效劳器中,并且可以被一个初始效劳器引用,用于分布式应用程序中。 〔5〕扩展存储过程: 此类存储过程在功能上类似于局部存储过程,但它们可以引用SQLServer外部的函数。 15.答: 创立存储过程使用CREATEPROCEDURE语句,其语法如下: CREATEPROC[EDURE]procedure_name[;number] [{@parameterdata_type} [VARYING][=default][OUTPUT]][,…n] [WITH{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}] [FORREPLICATION] ASsql_statement[n] 四、综合题 1. (1)CREATETABLESC (SnoCHAR(5), CnoCHAR(3), Gradeint) (2)CREATEINDEXSCno ONSC(SnoASC,CnoDESC) (3)SELECTSno,Sname,Ssex,Sage,Sdept FROMStudent 或 SELECT* FROMStudent (4)SELECTSname,Sdept,Sage FROMStudent WHERESageBETWEEN20AND23 (5)SELECTSname,Sno FROMStudent WHERESnameLIKE'_明%' (6)SELECTCOUNT(*) FROMStudent (7)SELECTSno FROMSC WHERECno='M01' UNION SELECTSno FROMSC WHERECno='M02'; (8)UPDATEStudent SETSage=23 WHERESno='08001' 2、 (1)SELECTC#,Cn FROMC WHERETEACHER=‘周亮’ (2)SELECTS#,Sn FROMS WHERESa>23ANDSex=‘男’ (3)方法一: SELECTCn,TEACHER FROMC WHEREC#IN (SELECTC# FROMSC WHERES#=‘S3’) 方法二: SELECTCn,TEACHER FROMC,SC WHEREC.C#=SC.C#ANDSC.S#=‘S3’ 方法三: SELECTCn,TEACHER FROMC WHEREEXISTS (SELECT* FROMSC WHERESC.C#=C.C#ANDS#=‘S3’) (4)方法一: SELECTSn FROMS WHERESex=‘女’ANDEXISTS (SELECT* FROMSC WHERESC.S#=S.S#ANDSC.C#IN (SELECTC# FROMC WHERETHACHER=‘周亮’) ) 方法二: SELECTSn FROMS WHERESex=‘女’ (SELECT* FROMSC,C WHERESC.S#=S.S#ANDSC.C#=C.C#ANDC.TEACHER=‘周亮’) (5)方法一: SELECTC# FROMC WHERENOTEXISTS (SELECT* FROMSC WHERESC.C#=C.C#ANDSC.S#IN 〔SELECTS# FROMS WHERESn=‘李清’) 〕 方法二: SELECTC# FROMSC,S WHERESC.C#=C.C#ANDSC.S#=S.S#ANDS.Sn=‘李清’ (6)方法一: SELECTDISTINCTS1.S# FROMSCASSC1,SCASSC2 WHERESC1.S#=SC2.S#ANDSC1.C#! =SC2.C# 方法二: SELECTS# FROMSC GROUPBYS# HAVINGCOUNT(*)>=2 (7)方法一: SELECTC#,Cn FROMC WHERENOTEXISTS (SELECT* FROMS WHERENOTEXISTS (SELECT* FROMSC WHERESC.S#=S.S#ANDSC.C#=C.C#) ) 方法二: SELECTC#,Cn FROMC WHERENOTEXISTS (SELECT* FROMS WHERES#NOTIN (SELECTS# FROMSC WHERESC.C#=C.C#) 方法三: SELECTC#,Cn FROMC WHEREC#IN (SELECTC# FROMSC GROUPBYC# HAVINGCOUNT(*)= (SELECTCOUNT(*) FROMS ) (8)方法一: SELECTDISTINCTS# FROMSC WHEREC#IN (SELECTC# FROMC WHERETEACHER=‘周亮’) 方法二: SELECTDISTINCTS# FROMSC WHEREEXISTS (SELECT* FROMC WHEREC.C#=SC.C#ANDTEACHER=‘周亮’) 方法三: SELECTDISTINCTS# FROMSC,C WHERESC.C#=C.C#ANDC.TEACHER=‘周亮’ (9)SELECTSn,Sa FROMS WHERES.Sex=‘男’ANDS.Sa> (SELECTAVG(S1.Sa) FROMSASS1 WHERES1.Sex=‘女’) (10)方法一: FROMS,S1 WHERES1.Sex=‘男’ANDS1.Sa> (SELECTMax(S2.Sa) FROMS,S2 WHERES2.Sex=‘女’) 方法二: FROMS,S1 WHERES1.Sex=‘男’ANDS1.Sa>ALL FROMS,S2 WHERES2.Sex=‘女’) (11)方法一: SelectSn fromS whereS.S#> (selectS1.S# fromSasS1 w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 13 课后 习题 答案