《2023年《数据库系统概论》课后习题及参考超详细解析超详细解析答案.pdf》由会员分享,可在线阅读,更多相关《2023年《数据库系统概论》课后习题及参考超详细解析超详细解析答案.pdf(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统概论课后习题及参考答案 课后作业习题 数据库系统概论课程部分习题及参考答案 第一章绪论(教材 41 页).试述数据、数据库、数据库系统、数据库管理系统的概念。数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义就是不可分的。数据库:数据库就是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述与储存,具有较小的冗余度、较高的数据独立性与易扩展性,并可为各种用户共享。数据库系统:数据库系统(DBS)就是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管
2、理员构成。数据库管理系统:数据库管理系统(DBMS)就是位于用户与操作系统之间的一层数据管理软件。用于科学地组织与存储数据、高效地获取与维护数据。DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立与维护功能。.使用数据库系统有什么好处?使用数据库系统的好处就是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。为什么有这些好处,可以结合第 5 题来回答。数据库系统概论课后习题及参考答案 使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的
3、定义、存储与数据存取的具体路径,这些工作都由 DBMS来完成。此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变就是 DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护与修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS在数据库建立、运用与维护时对数据库进行统一的管理与控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由 DBMS 执行。总之,使用数据库系统的优点就是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的
4、利用率与一致性,又有利于应用程序的开发与维护。.试述文件系统与数据库系统的区别与联系。文件系统与数据库系统的区别:文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性与一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制与恢复能力。文件系统与数据库系统的联系就是:文件系统与数据库系统都就是计算机系统中管理数据的软件。.试述数据库系统的特点。数据库系统的主要特点有:一、数据结构化 数据库系统实现整体数据的结构化,这就是数据库的主要特征之一,也就
5、是数据库系统与文件系统的本质区别。二、数据的共享性高,冗余度低,易扩充 数据库系统概论课后习题及参考答案 数据库的数据不再面向某个应用而就是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,就是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。三、数据独立性高 数据独立性包括数据的物理独立性与数据的逻辑独立性。数据库管理系统的模式结构与二级映象功能保证了数据库中的数据具有很高的物理独立性与逻辑独立性。四、数据由 DBMS统一管理与控制 数据库的共享就是并发的共享,即多个用户可以同时存取数据库中的数据甚至
6、可以同时存取数据库中同一个数据。为此,DBMS 必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制与数据库恢复。.数据库管理系统的主要功能有哪些?数据库定义功能;数据存取功能;数据库运行管理;数据库的建立与维护功能。.试述数据模型的概念、数据模型的作用与数据模型的三个要素。数据模型就是数据库中用来对现实世界进行抽象的工具,就是数据库中用于提供信息表示与操作手段的形式构架。一般地讲,数据模型就是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性与完整性约束条件。因此数据模型通常由数据结构、数据操作与完整性约束三部分组成。数据结构:就是所研究的对象类型的集合
7、,就是对系统的静态特性的描述。数据操作:就是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,就是对系统动态特性的描述。数据库系统概论课后习题及参考答案 数据的约束条件:就是完整性规则的集合,完整性规则就是给定的数据模型中数据及其联系所具有的制约与依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。.试述概念模型的作用。概念模型实际上就是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,就是现实世界到信息世界的第一层抽象,就是数据库设计人员进行数据库设计的有力工具,也就是数据库设计人员与用户之间进行交流的语言。
8、.定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R 图)实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征与性质,用实体名及其属性名集合来抽象与刻画同类实体称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:唯一标识实体的属性集称为码。实体联系图:E-R 图提供了表示实体型、属性与联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上
9、联系的类型(1:1,1:n 或 m:n)。第二章 关系数据库(教材 81 页)1、试述关系模型的三个组成部分。答:关系模型由关系数据结构、关系操作集合与关系完整性约束三部分组成。数据库系统概论课后习题及参考答案 2、试述关系数据语言的特点与分类。答:关系数据语言可以分为三类:关系代数语言 例如 ISBL 关系演算语言(元组关系演算语言 例如 APLHA,QUEL 与 域关系演算语言 例如 QBE)具有关系代数与关系演算双重特点的语言 例如 SQL 这些关系数据语言的共同特点就是,具有完备的表达能力,就是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。3、定义并理解下列术语,说明它们之间
10、的联系与区别:(1)域,关系,元组,属性 答:域:域就是一组具有相同数据类型的值的集合。关系:在域 D1,D2,Dn 上笛卡尔积 D1D2Dn的子集称为关系,表示为 R(D1,D2,Dn)元组:关系中的每个元素就是关系中的元组。属性:关系也就是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。(2)主码,候选码,外部码 答:候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。数据库系统概论课后习题及参考答案 主码:若一个关系有多个候选码,则选定其中一个为
11、主码(Primary key)。外部码:设 F 就是基本关系 R的一个或一组属性,但不就是关系 R的码,如果 F与基本关系 S 的主码 Ks相对应,则称 F就是基本关系 R的外部码(Foreign key),简称外码。基本关系 R 称为参照关系(Referencing relation),基本关系 S 称为被参照关系(Referenced relation)或目标关系(Target relation)。关系 R与 S 可以就是相同的关系。(3)关系模式,关系,关系数据库 关系模式:关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:R(U,D,dom,F)其中 R
12、为关系名,U 为组成该关系的属性名集合,D 为属性组 U中属性所来自的域,dom 为属性向域的映象集合,F 为属性间数据的依赖关系集合。关系:在域 D1,D2,Dn 上笛卡尔积 D1D2Dn的子集称为关系,表示为 R(D1,D2,Dn)关系就是关系模式在某一时刻的状态或内容。关系模式就是静态的、稳定的,而关系就是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。关系数据库:关系数据库也有型与值之分。关系数据库的型也称为关系数据库模式,就是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值就是这些关系模式在某一时刻对应的关系的集合,通常就称为
13、关系数据库。4、试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:关系模型的完整性规则就是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性与用户定义的完整性。参见教材 数据库系统概论课后习题及参考答案 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件就是该外部码属性不就是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”就是一个外部码,不就是学生表的主属性,可以为空。其语义就是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中
14、的“课程号”虽然也就是一个外部码属性,但它又就是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)5.等值连接与自然连接的区别就是什么?答:自然连接(Natural join)就是一种特殊的等值连接,它要求两个关系中进行比较的分量必须就是相同的属性组,并且要在结果中把重复的属性去掉。第三章 关系数据库标准语言 SQL(教材 148 页)1、试述 SQL语言的特点。答:(1)综合统一。SQL 语言集数据定义语言 DDL、数据操纵语言 DML、数据控制语言 DCL的功能于一体。(2)高度非过程化。用 SQL语言进行数据操作,只要
15、提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 SQL语句的操作过程由系统自动完成。(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以就是元组的集合,而且一次插入、删除、更新操作的对象也可以就是元组的集合。数据库系统概论课后习题及参考答案 (4)以同一种语法结构提供两种使用方式。SQL语言既就是自含式语言,又就是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。(5)语言简捷,易学易用。2、试述 SQL的定义功能。答:SQL的数据定义功能包括定义表、定义视图与定义索引
16、。SQL语言使用 CREATE TABLE 语句定义建立基本表,;ALTER TABLE语句修改基本表定义,DROP TABLE 语句删除基本表;建立索引使用 CREATE INDEX 语句建立索引,DROP INDEX语句删除索引表;SQL 语言使用 CREATE VIEW 命令建立视图,DROP VIEW 语句删除视图。3、用 SQL语句建立第 3 章习题 3 中的四个表。答:对于 S 表:S(SNO,SNAME,STATUS,CITY);建 S 表 CREATE TABLE S (SNO CHAR(3),SNAME CHAR(10),STATUS CHAR(2),CITY CHAR(10
17、);P(PNO,PNAME,COLOR,WEIGHT);建 P 表、建 J 表、建 SPJ 表略。数据库系统概论课后习题及参考答案 4、针对上题中建立的四个表试用 SQL语言完成第 3 章习题 3 中的查询。答:(1)求供应工程 J1 零件的供应商号码 SNO;SELECT SNO FROM SPJ WHERE JNO=J1;(2)求供应工程 J1 零件 P1 的供应商号码 SNO;SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO=P1;(3)求供应工程 J1 零件为红色的供应商号码 SNO;SELECT SNO FROM SPJ WHERE JNO=J1 AN
18、D PNO IN (SELECT PNO FROM P WHERE COLOR=红);数据库系统概论课后习题及参考答案 (4)求没有使用天津供应商生产的红色零件的工程号 JNO;略,注意:从 J 表入手,以包含那些尚未使用任何零件的工程号。5、针对习题 3 中的四个表试用 SQL语言完成以下各项操作:(1)找出所有供应商的姓名与所在城市。(2)找出所有零件的名称、颜色、重量。(3)找出使用供应商 S1 所供应零件的工程号码。(4)找出工程项目 J2 使用的各种零件的名称及其数量。(5)找出上海厂商供应的所有零件号码。(6)找出使用上海产的零件的工程名称。(7)找出没有使用天津产的零件的工程号码
19、。(8)把全部红色零件的颜色改成蓝色。(9)由 S5 供给 J4 的零件 P6改为由 S3 供应,请作必要的修改。(10)从供应商关系中删除 S2 的记录,并从供应情况关系中删除相应的记录。(11)请将(S2,J6,P4,200)插入供应情况关系。答:(1)找出所有供应商的姓名与所在城市。SELECT SNAME,CITY FROM S;(2)找出所有零件的名称、颜色、重量。数据库系统概论课后习题及参考答案 SELECT PNAME,COLOR,WEIGHT FROM P;(3)找出使用供应商 S1 所供应零件的工程号码。SELECT JNO FROM SPJ WHERE SNO=S1;(4)
20、找出工程项目 J2 使用的各种零件的名称及其数量。SELECT P、PNAME,SPJ、QTY FROM P,SPJ WHERE P、PNO=SPJ、PNO AND SPJ、JNO=J2;(5)找出上海厂商供应的所有零件号码。SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海);(6)找出使用上海产的零件的工程名称。数据库系统概论课后习题及参考答案 SELECT JNAME FROM J,SPJ,S WHERE J、JNO=SPJ、JNO AND SPJ、SNO=S、SNO AND S、CITY=
21、上海;(7)找出没有使用天津产的零件的工程号码。略 (8)把全部红色零件的颜色改成蓝色。UPDATE P SET COLOR=蓝 WHERE COLOR=红;(9)由 S5 供给 J4 的零件 P6 改为由 S3 供应,请作必要的修改。UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6;(10)从供应商关系中删除 S2 的记录,并从供应情况关系中删除相应的记录。解析:注意删除顺序,应该先从 SPJ 表中删除供应商 S2 所供应零件的记录,然后从从 S 表中删除 S2。(11)请将(S2,J6,P4,200)插入供应情况关系。INSE
22、RT INTO SPJ(SNO,JNO,PNO,QTY)数据库系统概论课后习题及参考答案 VALUES(S2,J6,P4,200);6、什么就是基本表?什么就是视图?两者的区别与联系就是什么?答:基本表就是本身独立存在的表,在 SQL 中一个关系就对应一个表。视图就是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,就是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。7、试述视图的优点。答:(1)视图能够简化用户的操作。(2)视图使用户能以多种角度瞧待同一数
23、据。(3)视图对重构数据库提供了一定程度的逻辑独立性。(4)视图能够对机密数据提供安全保护。8、所有的视图就是否都可以更新?为什么?答:不就是。视图就是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不就是所有的视图都就是可更新的。9、哪类视图就是可以更新的,哪类视图就是不可更新的?各举一例说明。答:基本表的行列子集视图一般就是可更新的。如教材 3、5、3 中的例 1。若视图的属性来自集函数、表达式,则该视图肯定就是不可以更新的。如教材 3、5、3 中的 S_G视图。11、请为三建工程项目建立一个供应情况
24、的视图,包括供应商代码(SNO)、零件 代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:数据库系统概论课后习题及参考答案 (1)找出三建工程项目使用的各种零件代码及其数量。(2)找出供应商 S1 的供应情况。答:建视图:CREATE VIEW V_SPJ AS SELECT SNO,PNO,QTY FROM SPJ WHERE JNO=(SELECT JNO FROM J WHERE JNAME=三建);对该视图查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECT PNO,QTY FROM V_SPJ;(2)找出供应商 S1 的供应情况。SELECT PNO,QTY
25、/*S1 供应三建工程的零件号与对应的数量*/FROM V_SPJ WHERE SNO=S1;第五章 关系数据理论(教材 196 页)数据库系统概论课后习题及参考答案 1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、候选码、主码、外码、全码。答:函数依赖:设 R(U)就是一个关系模式,U 就是 R的属性集合,X 与 Y就是 U的子集。对于 R(U)的任意一个可能的关系 r,如果 r 中不存在两个元组,它们在 X上的属性值相同,而在Y上的属性值不同,则称X函数确定Y或Y函数依赖于 X,记作 XY。完全函数依赖、部分函数依赖:在 R(U)中,如果 XY,并且对于 X的任何一个真
26、子集 X,都有 XY,则称 Y对 X完全函数依赖;若 XY,但 Y不完全函数依赖于 X,则称 Y对 X部分函数依赖;候选码、主码:设 K 为 R(U,F)中的属性或属性组合,若 K U 则 K为 R的候选码。若候选码多于一个,则选定其中的一个为主码。外码:关系模式 R 中属性或属性组 X并非 R的码,但 X就是另一个关系模式的码,则称 X就是 R的外部码也称外码。全码:整个属性组就是码,称为全码(All-key)。2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有:班号、专业名、系名、人数、入校年份。描述系的属
27、性有:系名、系号、系办公室地点、人数。描述学会的属性有:学会名、成立年份、地点、人数。有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出就是否存在传递函数依赖,对于函数依赖左部就是多属性的情况讨论函数依赖就是完全函数依赖,还就是部分函数依赖。指出各关系的候选码、外部码,有没有全码存在?数据库系统概论课后习题及参考答案 答:关系模式:学生 S(S#,SN,SB,DN,C#,SA)班级 C(C#,CS,DN,CNUM,C
28、DATE)系 D(D#,DN,DA,DNUM)学会 P(PN,DATE1,PA,PNUM)学生-学会 SP(S#,PN,DATE2)其中,S#学号,SN姓名,SB出生年月,SA宿舍区 C#班号,CS专业名,CNUM 班级人数,CDATE 入校年份 D#系号,DN系名,DA系办公室地点,DNUM 系人数 PN 学会名,DATE1 成立年月,PA地点,PNUM 学会人数,DATE2 入会年份 每个关系模式的极小函数依赖集:S:S#SN,S#SB,S#C#,C#DN,DN SA C:C#CS,C#CNUM,C#CDATE,CS DN,(CS,CDATE)C#D:D#DN,DN D#,D#DA,D#D
29、NUM P:PNDATE1,PN PA,PNPNUM SP:(S#,PN)DATE2 S 中存在传递函数依赖:S#DN,S#SA,C#SA C中存在传递函数依赖:C#DN (S#,PN)DATE2 与(CS,CDATE)C#均为 SP 中的函数依赖,就是完全函数依赖 数据库系统概论课后习题及参考答案 关系 候选码 外部码 全码 S S#C#,DN 无 C C#,(CS,CDATE)DN 无 D D#与 DN 无 无 P PN 无 无 SP(S#,PN)S#,PN 无 4、试举出三个多值依赖的实例。答:(1)关系模式 MSC(M,S,C)中,M 表示专业,S 表示学生,C 表示该专业的必修课。假
30、设每个专业有多个学生,有一组必修课。设同专业内所有学生的选修的必修课相同,实例关系如下。按照语义对于 M的每一个值 M i,S 有一个完整的集合与之对应而不问 C取何值,所以 M S。由于 C与 S 的完全对称性,必然有 M C成立。M S C M 1 S1 C1 M 1 S1 C2 M 1 S2 C1 M 1 S2 C2 (2)关系模式 ISA(I,S,A)中,I 表示学生兴趣小组,S 表示学生,A 表示某兴趣小组 的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所 数据库系统概论课后习题及参考答案 在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。
31、按照语义有 I S,I A成立。(3)关系模式 RDP(R,D,P)中,R 表示医院的病房,D 表示责任医务人员,P 表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治与护理该病房的所有病人。按照语义有 RD,RP成立。第六章 数据库设计(教材 241 页)1、试述数据库设计过程。1)需求分析 2)概念结构设计 3)逻辑结构设计 4)数据库物理设计 5)数据库实施 6)数据库运行与维护 这就是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行与维护。设计一个完善的数据库应用系统往往就是上述六个阶段的不断反复。2、试述数据库设计过程的各
32、个阶段上的设计描述。答:各阶段的设计要点如下:1)需求分析:准确了解与分析用户需求(包括数据与处理)。2)概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。数据库系统概论课后习题及参考答案 3)逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。4)数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构与存取方法)。5)数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计与物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6)数据库运行与维护:在数据库
33、系统运行过程中对其进行评价、调整与修改。3、试述数据库设计过程中结构设计部分形成的数据库模式。答:数据库结构设计的不同阶段形成数据库的各级模式,即:在概念设计阶段形成独立于机器特点,独立于各个 DBMS产品的概念模式,在本篇中就就是 E-R图;在逻辑设计阶段将 E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式;在物理设计阶段,根据 DBMS特点与处理的需要,进行物理存储安排,建立索引,形成数据库内模式。概念模式就是面向用户与设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式就是 DBMS支持的
34、模式,属于数据模型的层次。可以在 DBMS 中加以描述与存储。4、试述数据库设计的特点。答:数据库设计既就是一项涉及多学科的综合性技术又就是一项庞大的工程项目。其主要特点有:1)数据库建设就是硬件、软件与干件(技术与管理的界面)的结合。2)从软件设计的技术角度瞧,数据库设计应该与应用系统设计相结合,也就就是说,整个设计过程中要把结构(数据)设计与行为(处理)设计密切结合起来。5、需求分析阶段的设计目标就是什么?调查的内容就是什么?答:需求分析阶段的设计目标就是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础
35、上确定新系统的功能。数据库系统概论课后习题及参考答案 调查的内容就是“数据”与“处理”,即获得用户对数据库的如下要求:(1)信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式就是批处理还就是联机处理。(3)安全性与完整性要求。6、数据字典的内容与作用就是什么?答:数据字典就是系统中各类数据描述的集合。数据字典的内容通常包括:数据项、数据结构、数据流、数据存储、处理过程五个部分 其中数据项就是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对
36、数据项与数据结构的定义来描述数据流、数据存储的逻辑内容。数据字典的作用:数据字典就是关于数据库中数据的描述,在需求分析阶段建立,就是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。(注意,数据库设计阶段形成的数据字典与后面讲到的数据字典不同,后者就是 DBMS关于数据库中数据的描述,当然两者就是有联系的)。7、什么就是数据库的概念结构?试述其特点与设计策略。答:概念结构就是信息世界的结构,即概念模型,其主要特点就是:(1)能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求。就是对现实世界的一个真实模型。(2)易于理解,从而可以用它与不熟悉计算机
37、的用户交换意见,用户的积极参与就是数据库的设计成功的关键。(3)易于更改,当应用环境与应用要求改变时,容易对概念模型修改与扩充。(4)易于向关系、网状、层次等各种数据模型转换。数据库系统概论课后习题及参考答案 概念结构的设计策略通常有四种:自顶向下。即首先定义全局概念结构的框架,然后逐步细化;自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念 结构;逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其她概念结构,直至总体概念结构;混合策略。即将自顶向下与自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计
38、的各局部概念结构。8、什么叫数据抽象?试举例说明。答:数据抽象就是对实际的人、物、事与概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。如分类这种抽象就是:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性与行为。它抽象了对象值与型之间的“is member of”的语义。在 E-R模型中,实体型就就是这种抽象。例如在学校环境中,李英就是老师,表示李英就是教师类型中的一员,则教师就是实体型,李英就是教师实体型中的一个实体值,具有教师共同的特性与行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研。
39、9、试述数据库概念结构设计的重要性与设计步骤。答:重要性:数据库概念设计就是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一 DBMS实现这些需求。设计步骤:数据库系统概论课后习题及参考答案 概念结构的设计方法有多种,其中最经常采用的策略就是自底向上方法,该方法的设计步骤通常分为两步:第 1 步就是抽象数据并设计局部视图,第 2 步就是集成局部视图,得到全局的概念结构 10、什么就是 E-R图?构成 E-R图的基本要素就是什么?答:E-R 图为实体-联系图,提供了表示实体型、属性与联系的方法,用来描述现实世界
40、的概念模型。构成 E-R图的基本要素就是实体型、属性与联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n 或 m:n)。11、为什么要视图集成?视图集成的方法就是什么?答:在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统就是从整体角度瞧待与
41、描述数据的,因此数据不再面向某个应用而就是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。一般说来,视图集成可以有两种方式:多个分 E-R图一次集成;逐步集成,用累加的方式一次集成两个分 E-R图。无论采用哪种方式,每次集成局部 E-R图时都需要分两步走:(1)合并。解决各分 E-R图之间的冲突,将各分 E-R图合并起来生成初步 E-R图。(2)修改与重构。消除不必要的冗余,生成基本 E-R图。12、什么就是数据库的逻辑结构设计?试述其设计步骤。数据库系统概论课后习题及参考答案 答:数据库的逻辑结构设计就就是把概念结构设计阶段设计好的基本 E-R图转换为与选用
42、的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;(3)对数据模型进行优化。第七章 数据库恢复技术(教材 261 页)1、试述事务的概念及事务的四个特性。答:事务就是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,就是一个不可分割的工作单位。事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)与持续性(Durability)。这个四个特性也简称为 ACID特性。原子性:事务就是数据库的逻辑
43、工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须就是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其她事务干扰。即一个事务内部的操作及使用的数据对其她并发事务就是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该就是永久性的。接下来的其她操作或故障不应该对其执行结果有任何影响。2、为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。答:事务执行的结果必须就是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有
44、些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说就是不一致的状态。数据库系统概论课后习题及参考答案 例如某工厂的库存管理系统中,要把数量为 Q 的某种零件从仓库 1 移到仓库 2 存放。则可以定义一个事务 T,T 包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果 T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了 Q。3、数据库中为什么要有恢复子系统?它的功能就是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏就是不可避免的,这些故障轻则造成运行事务非正常中断
45、,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能就是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。4.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。事务故障、系统故障与介质故障影响事务的正常执行;介质故障与计算机病毒破坏数据库数据。5.据库恢复的基本技术有哪些?答:数据转储与登录日志文件就是数据库恢复的基本技术。当系统运行过程中发
46、生故障,利用转储的数据库后备副本与日志文件就可以将数据库恢复到故障前的某个一致性状态。6、数据库转储的意义就是什么?试比较各种数据转储方法。答:数据转储就是数据库恢复中采用的基本技术。所谓转储即 DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。数据库系统概论课后习题及参考答案 静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储
47、的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但就是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不就是数据库的一致版本。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。转储还可以分为海量转储与增量转储两种方式。海量转储就是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度瞧,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实
48、用更有效。7、什么就是日志文件?为什么要设立日志文件?答:(1)日志文件就是用来记录事务对数据库的更新操作的文件。(2)设立日志文件的目的就是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。8、登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中与把表示这个修改的日志记录写到日志文件中就是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过就是多执行一次 UNDO操作,并不会影响数据库的正确性。所
49、以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。9、针对不同的故障,试给出恢复的策略与方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:事务故障的恢复:事务故障的恢复就是由 DBMS自动完成的,对用户就是透明的。数据库系统概论课后习题及参考答案 DBMS 执行恢复步骤就是:(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。(2)对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。(3)继续反向扫描日志文件,做同样处理。(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。系统故障的恢复:系
50、统故障可能会造成数据库处于不一致状态:一就是未完成事务对数据库的更新可能已写入数据库;二就是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。因此恢复操作就就是要撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。系统的恢复步骤就是:(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)与未完成的事务队列(UNDO队列)。(2)对撤销队列中的各个事务进行 UNDO 处理。进行 UNDO处理的方法就是,反向扫描日志文件,对每个 UNDO 事务的更新操作执行逆操作,即将日志记录中“更新前的值”(Before Image)写入数据库。(3)对重做队列