1、数据库系统原理04735课后习题参考答案数据库系统原理课后习题第一章. 数据库系统基本概念1.1. 名词解释DBDB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。DBMS是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。联系是实体间的相互关系。联系的元数与一个联系有关的实体集个数。:联系如果实体集
2、E1中每个实体至多和实体集E2中一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“:”。:N联系如果实体集E1中的每个实体可以与实体集E2中的任意个(个或多个)实体有联系,而E2中的每个实体至多和E1中的一个实体有联系,那么称E1对E2的联系是一对多联系,记作:“:N ”。M:N联系如果实体集E中的每个实体可以与实体集E2中的任意个(个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记作“M:N”。数据模型在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象。根据数据抽象级别定义了四种模型:概念数据模型、逻辑数据
3、模型、外部数据模型和内部数据模型。概念模型表达用户需求观点的数据全局逻辑结构的模型。逻辑模型表达计算机实现观点的DB全局逻辑结构的模型。主要有层次、网状、关系模型等三种。外部模型表达用户使用观点的DB局部逻辑结构的模型。内部模型表达DB物理结构的模型。层次模型用树型(层次)结构表示实体类型及实体间联系的数据模型。网状模型用有向图结构表示实体类型及实体间联系的数据模型。关系模型是由若干个关系模式组成的集合。关系模式相当于记录类型,它的实例是关系,每个关系实际上是一张二维表格。外模式用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个外部记录类型组成。逻辑模式是数据库中全部数据的整
4、体逻辑结构的描述。它由若干个逻辑记录类型组成,还包含记录间联系、数据的完整性、安全性等要求。内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织形式,以及数据控制方面的细节。外模式/逻辑模式映像存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性,一般放在外模式中描述。逻辑模式/内模式映像存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性,一般放在内模式中描述。数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序。分物理数据独立性和逻辑数据独立性两个级别。物理数据独立性对内模式修改时,对逻辑模式/
5、内模式像作相应修改,可以尽量不影响逻辑模式。逻辑数据独立性逻辑模式修改时,对外模式/逻辑模式映像作相应修改,可以使外模式和应用程序保持不变。主语言在数据库技术中,用于编写应用程序的高级程序设计语言。DDL数据定义语言。DBMS提供DDL定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制等约束。DML数据操纵语言。DBMS提供DML实现对数据的操作。基本的数据操作有两类:检索(查询)、更新(插入、删除、修改)。分为过程性DML和非过程DML两种。过程性DML是指用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎样获得这些数据)。如层次、网状的DML。非过
6、程性DML用户编程时,只需要指出“做什么”,不需要提出“怎么做”。如关系型DML。DD数据库系统中存放三级结构定义的数据库。它还存放数据库运行时的统计信息。DD系统管理DD的子系统。1.2. 人工管理阶段的数据管理有哪些特点?1) 数据不保存在计算机里2) 没有专门的软件进行对数据库管理3) 只有程序概念,没有文件概念4) 数据面向程序1.3. 文件系统阶段的数据管理有哪些特点?1) 数据以文件形式长期存储在外部存储器的磁盘上2) 数据的逻辑结构和物理结构有了区别,但比较简单3) 文件组织多样化,有了索引文件、链接文件和直接存取文件等4) 数据不再属于某个特定程序,可重复使用,即数据面向应用5
7、) 对数据的操作以记录为单位1.4. 文件系统阶段的数据管理有哪些缺陷?请举例说明?1) 数据冗余、数据不一致、数据联系弱2) 比如建立了职工档案、职工工资和职工保健三个文件,职工的电话在三个文件中重复出现,即数据冗余。1.5. 数据管理的数据库阶段产生的标志是哪三件事情?1) 1968年IBM公司推出层次模型IMS系统2) 1969年美国CO组织发布了报告3) 1970年IBM公司的E .F.Codd连续发表论文,提出关系模型1.6. 数据库阶段的数据管理有哪些特色?1) 采用了数据模型表示复杂的数据结构2) 有较高的数据独立性3) 数据库系统提供了方便的用户接口4) 数据库系统提供了四个方
8、面的数据控制功能:数据库的恢复、数据的并发控制、数据的完整性、数据完全性。5) 增加了系统的灵活性:对数据的操作不一定以记录为单位,可以以数据项为单位。1.7. 高级数据库阶段有哪些技术?面向对象的概念建模、开放数据库互联技术1.8. 逻辑记录与物理记录,逻辑文件与物理文件有哪些联系和区别?数据描述有两种形式:物理数据描述和逻辑物理描述。物理数据描述是指数据在存储设备上的描述,物理数据是存储在物理设备上的数据,物理记录和物理文件都是用来描述存储数据的细节。逻辑数据描述是用户或程序员以操作的数据形式的描述,逻辑记录和逻辑文件都是用户观点的数据描述。1.9. 数据抽象过程有哪些步骤?1) 根据用户
9、的需求,设计数据的概念模型。2) 根据转换原则,把概念模式转换成逻辑模型。3) 根据用户的业务特点,设计不同的外部模型,供程序员使用。4) 根据逻辑模型设计内部模型,实现数据库。1.10. 概念模型、逻辑模型、外部模型、内部模型各具有哪些特点?概念模型:表达了数据的整体逻辑结构,它是系统用户对整个应用程序涉及数据的全面描述。从用户的需求的观点,对数据建模。独立于硬件和软件。它是数据库设计人员和用户之间的交流工具。逻辑模型:表达了数据库的整体逻辑结构,它是设计人员对整个应用程序系统项目数据库的全面描述。从数据库实现的观点,对数据建模。独立于硬件,但依赖软件DBMS。它是数据库设计人员和应用程序员
10、的交流工具。外部模型:逻辑模型的一个逻辑子集,独立于硬件,但依赖软件,反映了用户使用数据库的观点。内部模型:是数据库最底层抽象, 它描述数据在外存上存储方式、存储设备和存储方法。与硬件和软件关系密切。1.11. 试叙述层次、网状和关系三种逻辑模型的区别层次模型:用树型结构表示,较复杂,表示1:N,记录间联系用指针实现,过程性DML;网状模型:用向图结构表示,较复杂,表示1:N/M:N,记录间联系用指针实现,过程性DML;关系模型:用关系模式集合表示,较简单,表示1:N/M:N,记录间联系用关键码实现,非过程性DML;1.12. 外部模型使数据库系统有哪些优点?简化了用户观点;有助于数据库的安全
11、保护;外部模型是对概念模型的支持 ;1.13. 数据独立性和数据联系这两个概念有什么区别?数据独立性是指应用程序和数据之间相互独立,不受影响。数据联系是指同一记录内部各字段间的联系,以及和记录之间的联系。1.14. 试叙述用户、DB的三级模式结构、磁盘上的物理文件之间有些什么联系和不同?在用户到数据库之间,DB的数据结构有三个层次:外部模型、逻辑模型、内部模型。这三个层次要用DB的数据定义语言定义后的内容是外模式、逻辑模式、内模式。用户使用DB的数据操纵语句实际上是对外模式的外部记录进行操作,而不是数据库的内部记录值;逻辑模式提供了连接内外模式的中间观点,使得两级中任何一级的改变都不受另一级的
12、牵制,逻辑模式不涉及到存储结构、访问技术等细节。内模式并不涉及物理设备的约束,那一部分由操作系统完成。如磁盘读写数据的操作。1.15. 试述DBMS的工作模式和主要功能。DBMS的工作模式:1) 接受应用程序的数据请求和处理请求2) 将用户的数据请求转换成复杂的机器代码3) 实现对数据库的操作4) 从对数据库的操作中接受查询结果5) 对查询结果进行处理6) 将处理结果返回用户DBMS主要功能:数据库的定义功能数据库的操纵功能数据库的保护功能数据库的维护功能数据字典1.16. 什么是DB的系统缓冲区?其作用是什么?DBMS为应用程序在内存中开辟的一个DB的系统缓冲区。用于数据的传输和格式的转换。
13、1.17. DBS由哪几部分组成?它有哪些系统软件?其中DD有什么作用?DBS由DB、硬件、软件、DBA组成它有DBM、OS、各种主语言和应用开发软件等系统软件DD是用来存放三级数据结构定义的数据库,用来存储数据运行时的统计信息。1.18. 什么是DBA?DBA应具有什么素质?DBA的职责是什么?DBA是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、监控和维护数据库结构的责任。DBA需具有下来素质:熟悉全部数据的性质和用途、对所有用户需求的了解、对系统性能的熟悉度、兼有系统分析员和运筹学专家的知识和品质。DBA的职责:定义模式、定义内模式、与用户的联络、定义安全性规则,对用户访问
14、数据库授权、定义完整性规则,监督数据库的运行、数据库的转储和恢复工作。1.19. 试对DBS的全局结构作详细解释。用户、DBMS(查询处理器、存储管理器)、磁盘存储器1.20. 从模块结构观察,DBMS由哪些部分组成?查询处理器、存储管理器1.21. 使用DBS的用户有哪几类?DBA、专业用户、程序员、终端用户1.22. DBMS的查询处理器和存储管理器分别由哪几部分组成?查询处理器:DDL解释器、DML编译器、嵌入式DML预编译器、查询求值引擎存储管理器:权限和完整性管理器、事务管理器、文件管理器、缓冲区管理器1.23. 磁盘存储器中有哪五类主要的数据结构?1) 数据文件:存储数据库管理的用
15、户数据自身。2) 数据字典:存储三级结构的描述。3) 索引:为提高查询速度而设置的逻辑排序手段。4) 统计数据:存储DBS运行时统计分析的数据。5) 日志:存储DBS运行时对DB的操作情况。1.24. DBS能产生哪些效益?灵活性、简易性、面向用户、加快应用程序的开发速度、维护方便、标准化第二章. 数据库设计和ER模型2.1 名词解释数据库工程数据库应用系统的开发是一项软件工程,但又有自己的特点。数据库系统生存期数据库应用系统从规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。实体是一个数据对象,指应用中可以区别的客观存在的事物。实体集同一类实体构成的集合。实体类型是对实体集中实
16、体的定义。实体标识符在一个实体中,能够唯一标识实体的属性或属性集合。联系表示一个或多个实体间的关联关系。联系集同一类联系构成的集合。联系类型对联系集中联系的定义。属性实体的某一特性。简单属性不可再分隔的属性。复合属性可再分解为其它属性的属性。单值属性同一实体的属性只能取一个值。多值属性同一实体的属性可能取多个值。存储属性需要把属性值存入数据库的属性。派生属性不需要把属性值存入数据库,属性值可以从其它属性值推导出的属性。联系元数(度数)指一个联系涉及的实体集个数。映射基数实体集E1和E2之间有二元联系,则参与一个联系中的实体的个数称为映射基数。完全参与如果实体集中的每个实体都参与联系集R的至少一
17、个联系中,称实体集E完全参与。部分参与如果实体集中的只有部分实体参与联系集R的联系中,称实体集E部分参与。关系模型用二维表格表示实体集,用关键码表示实体间的联系的数据模型。关系模式关系模型中的记录类型。关系实例是一个属性集相同的元组的集合。(关系)属性关系模型中的字段。(关系)域关系模型中字段的取值范围。(关系)元组关系模型中的记录。超键在关系中能唯一标识元组的属性集,称为关系模式的超键。候选键不含有多余属性的超键。主键用户选作元组标识的候选键。外键如果模式R中的属性K是其它模式的主键,则K在模式R中称为外键。实体完整性规则要求关系中元组在组成主键的属性上不能有空值,否则就起不到唯一标识元组的
18、作用了。参照完整性规则如果属性集K是关系模式R1的主键,同时也是关系模式R2的外键,那么在R2中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中的某个主键值。弱实体如一个实体对另一个实体(强实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体中获得,则该实体为弱实体。子类实体当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。超类实体当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。2.2 数据库设计的规划阶段应做哪些事情?1) 系统调查。画出应用单位组织结构
19、图。2) 可行性分析。从技术、经济、效益、法律等各方面可行性进行分析,写出可行性分析报告,组织专家讨论。3) 确定数据库系统的总目标,对应用单位的工作流程进行优化,制订项目开发计划。获得决策部门批准后,正式进入数据库系统开发。2.3 数据库设计的需求分析阶段工作主要由哪四步组成?1) 分析用户活动,产生业务流程图2) 确定系统范围,产生系统关联图3) 分析业务活动所涉及的数据,产生数据流图4) 分析系统数据,产生数据字典2.4 在数据库设计中,为什么要有概念设计这一阶段?使设计人员从用户的观点看待数据和处理需求、约束,产生反映用户观点的概念模型。将概念模设计从设计过程中独立开来,可以使数据库设
20、计各阶段任务单一化,减少复杂度,便于组织管理,能较好地适应各种变化,转换成关系模式。2.5 试述概念设计的主要步骤?1) 进行数据抽象(聚集和概括方法),设计局部概念模型2) 将局部概念模型综合成全局概念模型(消除冲突)3) 评审(用户、DBA和开发人员评审)2.6 逻辑设计的目的是什么?试述逻辑设计阶段主要步骤及内容逻辑设计的目的是将概念模型转换成与所选用的具体机器上所支持的数据模型相符合的逻辑模型。逻辑设计阶段主要步骤:1) 将概念模型转换成逻辑模型2) 设计外模式3) 设计应用程序和数据库接口4) 评价模型(定量分析:处理频率、数据容量、性能测量)5) 修正模型2.7 什么是数据库结构的
21、物理设计?试述其具体步骤。物理设计是对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。数据库的物理结构主要指数据库存储记录格式、存储记录安排、存取方法。具体步骤:1) 存储记录结构设计:包括记录的组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。2) 确定数据存放位置:可以把经常同时访问的数据组合在一起。3) 存取方法设计:存取路径分为主存取路径与辅存取路径,前者用于主键检索,后者用于辅助键检索。4) 安全性和完整性考虑。5) 程序设计。2.8 数据库实现阶段主要有哪几件事情?1) 定义数据结构2) 数据装载:人工(刷选数据、转换数据格式、输入数据、校验数据)和计算机装载(筛
22、选数据、输入数据、效验数据、转换数据、综合数据)3) 编制和调试应用程序4) 数据库试运行。2.9 数据库系统投入运行后,有哪些维护工作?1) 数据库的转储和恢复。2) 数据库的安全性、完整性控制。3) 数据库性能的监督、分析、改进。4) 数据库的重组织和重构造。2.10 在概念设计中,如何把多值属性变换成系统容易实现的形式?将原来的多值属性用几个新的单值属性表示。将原来的多值属性用一个新的实体类型表示。2.11 对联系类型有哪两种约束?试详细解释?联系类型的约束限制了参与联系的实体数目,有技术约束和参数约束。技术约束表示了一个联系的实体的个数约束,通过映射基数来表达,有1:1,1:N,M:N
23、,M:1四种。参与约束表示了实体集中是部分实体还是全部实体参与联系集中的联系。有部分参与和完全参与两种。2.12 采用ER模型的数据库概念设计有哪些主要的步骤?1) 设计局部ER模型(确定局部结构范围、定义实体、定义联系、分配属性)2) 设计全局ER模型(确定公共实体类型、合并局部ER模型、消除冲突)3) 全局ER模型优化(合并实体类型、消除冗余属性、消除冗余联系)2.13 在关系模型中,关系具有哪些性质1) 关系中的每个属性值都是不可分解的。2) 关系中不允许出现重复组。3) 由于关系是一个集合,因此不考虑元祖间的顺序,即没有行序。4) 元祖的属性在理论上也是无序的,但使用时按习惯考虑列的顺
24、序。2.14 为什么关系中的元组没有先后顺序?且不允许有重复的元组?因为关系是一个元祖的集合,而元祖在集合中的顺序无关紧要,即没有行序。集合中的元素不允许重复出现,因此关系中的元组不能重复,可以用键来标识唯一的元组。2.15 参照完整性规则使用时,有哪些变通?试举例说明。1) 外键和相应的主键可以不同名,只要定义在相同的值域上即可。2) R1和R2可以是同一个关系模式,此时表示同一个关系中不同元组间的联系。3) 外键值是否允许为空,视具体情况而定。2.16 商店(商店编号,店名,地址)商品(商品编号,商品名,规格,价格)职工(职工号,职工名,性别,业绩,商店编号)销售(销售单号,商店编号 1,
25、商品编号) 2.17 略2.18 略2.19 ER图转换成关系模式集的具体思想是什么?1) 实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标示符即为关系模式的键。2) 联系类型的转换:二元联系类型的转换:a) 如果实体间联系是1:1:1,在任意一个实体模型中加入另两个实体的主键作为外键。b) 如果实体间联系是1:1:N,在多方实体模式中加入两个1方的主键作为外键。c) 如果实体间联系是1:M:N,把联系类型转换为关系模式,其属性为M和N方实体类型的键(作为外键)加上联系类型的属性,而主键为M和N方主键的组合。d) 如果实体间联系是M:N:P, 其属性为三方
26、实体类型的键(作为外键)加上联系类型的属性,而主键为三方主键的组合。2.20 采用ER模型的数据库逻辑设计有哪些步骤?导出初始化关系模式集、规范化处理、模式评价、模式修正、设计子模式。2.21 略2.22 图略仓库(仓库号,仓库名,地址,负责人)业务员(业务员编号,姓名,性别)商店(店号,店面,地址)商品(品号,品名,价格,规格)收银员(工号,姓名,性别,年龄,店号)经理(经理编号,姓名,性别,店号,工号)供应(供应单号,仓库号,店号,经手人)销售(销售单号,商品号,店号,经手人)进货(进货单号,商品号,业务员编号)2.23 略2.24 图略行车人员(驾驶执照号,姓名,地址,电话,邮编)车辆(
27、机动车牌照号,型号,生产日期,制造厂)处罚方法(处罚编号,警告,处罚,暂扣驾驶执照)违章(违章编号,驾驶执照号,机动车牌照号,处罚编号)第三章. 关系模式设计理论3.1.函数依赖设有关系模式R(U),X,Y是属性集U的子集,只要r是R有当前关系,对r中的任意两个元组t和s,都有tXsX蕴含tYsY,那么就称函数依赖(FD)XY在关系模式R(U)中成立。平凡的函数依赖对于FD XY,如果YX,那么该FD就是平凡的FD。函数依赖集F的闭包F+设F为函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合。属性集X的闭包X+设F是属性集U上的FD集,X是U的子集,那么属性集X的闭包是一个从F集使用FD推理规
28、则推出的所有满足XA的属性A的集合。函数依赖的逻辑蕴涵设F是关系模式R上成立的函数依赖集合,XY是一个FD,如果对于R的每一个满足F的关系r也满足XY,那么称F逻辑蕴涵XY。函数依赖集的等价如果关系模式R(U)上的两个函数依赖集F和G,有F+G+,则称F和G是等价的函数依赖集。最小依赖集满足下面三个条件的函数依赖集G:G中每个FD的右边都是单属性;G中没有冗余的FD。即G中不存在这样的函数依赖XY,使得GXY与G等价;G中每个FD的左边没有冗余的属性。即G中不存在这样的函数依赖XY,X有一个真子集W,使得GXYUWY与G等价。无损分解设R是一个关系模式,F是R上的一个FD集,R分解成数据库模式
29、。如果对R中满足F的每一个关系r,都有r在数据库中的各关系模式Ri上投影连接后仍为r,则称该数据库模式相对于F是无损分解的。泛关系假设在定义无损分解时,先假设存在泛关系r的情况下,再去谈论分解。Chase过程P79。保持函数依赖P80。1NF关系模式的每一个关系的属性值都是不可分的原子值。2NF关系模式是1NF,且每一个非主属性都完全函数依赖于候选键。3NF关系模式是1NF,且每一个非主属性都不传递依赖于候选键。BCNF关系模式是1NF,且每一个属性都不传递依赖于候选键。MVDP88。平凡的MVD对于属性集U上的MVD XY,如果YX或XYU。则此MVD是平凡的MVD。4NF设D是关系模式R上
30、成立的FD和MVD的集合。如果D中每个非平凡的MVD XY的左部都是R的超键。3.2.试解释下面两个“数据冗余”的概念:文件系统中不可避免的“数据冗余”关系数据库设计中应尽量避免的“数据冗余”文件系统中的“数据冗余”:由于在文件之间缺乏联系,造成每个应用程序都有相应的文件,有可能同样的数据在不同文件中重复存储。关系数据库设计中的“数据冗余”:数据库某一关系中多个元组大量重复存储同样的属性。3.3.关系模式的非形式化设计准则有哪几条?这些准则对数据库设计有什么帮助?1) 尽可能指包含直接联系的属性,不要包含间接联系的属性。2) 尽可能使得相应关系中不出现插入、删除、修改异常现象。3) 尽可能使得相应关系中避免放置经常为空值的属性。4) 尽可能使得关系的等值连接在主键和外键的属性上进行,并保证以后不会产生额外的元组。3.4.对函数依赖XY的定义加以扩充,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1