《2022年第章数据库设计方案与ER模型第章数据库的存储结构》由会员分享,可在线阅读,更多相关《2022年第章数据库设计方案与ER模型第章数据库的存储结构(20页珍藏版)》请在金锄头文库上搜索。
1、1 / 20 第 5章数据库设计与ER 模型第 6 章数据库的存储结构5.1 基本内容分析5.1.1 本章重要概念1)DBS 生存期及其7 个阶段的任务和工作,DBD 过程的输入和输出。2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。3)ER 模型的基本元素,属性的分类,联系的元数、连通词、基数。采用ER 方法的概念设计步骤。4)ER 模型到关系模型的转换规则。采用ER 方法的逻辑设计步骤。5)ER 模型的扩充:弱实体,超类和子类。5.1.2 本章的重点篇幅1)教材中P193-194的转换规则和实例。2)教材中P196-200的四个 ER 模型实例。5.1.3 对 ER模型的理解ER
2、模型是人们认识客观世界的一种方法、工具。ER 模型具有客观性和主观性两重含义。 ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了用户的需求,因此ER模型具有客观性。但ER模型又不等同于客观事物的本身,它往往反映事物的某一方面,至于选取哪个方面或哪些属性,如何表达则决定于观察者本身的目的与状态,从这个意义上说,ER模型又具有主观性。ER模型的设计过程,基本上是两大步:先设计实体类型此时不要涉及到“联系”);再设计联系类型考虑实体间的联系)。具体设计时,有时“实体”与“联系”两者之间的界线是模糊的。数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用“
3、实体”与“联系”来表示。另外,设计者应注意,ER 模型应该充分反映用户需求,ER 模型要得到用户的认可才能确定下来。2)这个 ER 图可转换3 个关系模式:公司 公司编号,公司名,地址)仓库 仓库编号,仓库名,地址,公司编号)职工 职工编号,姓名,性别,仓库编号,聘期,工资)5.13 设某商业集团数据库有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供
4、应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。试画出反映上述问题的ER 图,并将其转换成关系模型。2)这个 ER 图可转换5 个关系模式:供应商 供应商编号,供应商名,地址)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 20 页2 / 20 商店 商店号,商店名,地址)商品 商品号,商品名,规格,单价)供应 供应商编号,商品号,月供应量)销售 商店号,商品号,月计划数)可设计如图5.4 所示的 ER 图。 1 1 N N图 5.4 5.17 解:图 5.7 是
5、ER 图的一种设计方案。5.3 自测题账号身份证号取款单储户地址存款余额取款方式取款单号金额姓名存款单存款方式金额取款日期存款日期存款单号存款取款设置专业系住宿宿舍区 1 N N 1 招收班级N 有学生N 参加学会 N M 1 1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 20 页3 / 20 5.3.1 填 空题1 数 据 库 设 计 过 程 的 输 入 包 括 四 部 分 内 容 : _ , _, _和_。2数据库设计过程的输出主要有两部分:_和_。3规划阶段具体可以分成三个步骤:_、_和_。4需求分析的工作主要有下面四步组成
6、:分析用户活动,产生_;确定系统范围,产生_;分析用户活动涉及的数据,产生_;分析系统数据,产生_。5需求分析中的数据字典通常包含以下五个部分:_, _, _, _和_。6概念设计的目标是产生反映_的数据库概念结构,即概念模式。7概念设计阶段可分为三步来完成:_,_和_。8就方法的特点而言,需求分析阶段通常采用_的分析方法;概念设计阶段通常采用 _的设计方法。9逻辑设计的主要工作是:_。10逻辑设计的步骤有五步:_, _,_,_和_。11物理设计可分成五步进行:_, _, _, _和_12DBS 的维护工作由_承担的。13 DBS 的维护工作主要包括以下四个部分:_, _, _ ,_。5.3.
7、2 单项选择题 在备选的答案中选出一个正确答案)1需求分析阶段设计数据流程图DFD )通常采用 A面向对象的方法B回溯的方法C自底向上的方法D自顶向下的方法2概念设计阶段设计概念模型通常采用 A面向对象的方法B回溯的方法C自底向上的方法D自顶向下的方法3设计子模式属于数据库设计的 A需求分析 B概念设计 C逻辑设计 D物理设计4概念结构设计的主要目标是产生数据库的概念结构,该结构主要反映 A应用程序员的编程需求B DBA的管理信息需求C数据库系统的维护需求D企业组织的信息需求5数据库设计人员和用户之间沟通信息的桥梁是 A程序流程图 B实体联系图 C模块结构图 D数据结构图6有两个不同的实体集,
8、它们之间存在着一个1:1 联系和一个M:N 联系,那么根据ER 模型转换成关系模型的规则,这个ER 结构转换成的关系模式个数为 A2 个 B3 个 C4 个 D5 个7如果有10 个不同的实体集,它们之间存在着12 个不同的二元联系二元联系是指两个精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 20 页4 / 20 实体集之间的联系),其中3 个 1:1 联系, 4 个 1:N 联系, 5 个 M:N 联系,那么根据ER 模型转换成关系模型的规则,这个ER 结构转换成的关系模式个数为 A14 个 B15 个 C19 个 D22 个8在
9、ER 模型转换成关系模型的过程中,下列叙述不正确的是 A每个实体类型转换成一个关系模式B每个联系类型转换成一个关系模式C每个 M:N 联系类型转换一个关系模式D在处理1:1 和 1:N 联系类型时,不生成新的关系模式9当同一个实体集内部的实体之间存在着一个1:N 联系时,那么根据ER 模型转换成关系模型的规则,这个ER 结构转换成的关系模式个数为 A1 个 B2 个 C3 个 D4 个10当同一个实体集内部的实体之间存在着一个M:N 联系时,那么根据ER 模型转换成关系模型的规则,这个ER 结构转换成的关系模式个数为 A1 个 B2 个 C3 个 D4 个11在数据库设计中,子类与超类存在着
10、A相容性联系B调用的联系C继承性的联系D 一 致 性联系5.3.3 设计题假设要为某商业集团设计一个数据库,该集团中有若干仓库、若干商店、经销若干商品。试画一个有关仓库、商店、商品、采购员、职工、顾客、供应商、采购、入库、出库、销售聘用等信息的ER 图。5.3.4 ER图实例在数据库设计中,ER 模型的设计是一个很重要的环节。为了帮助学习者提高数据库设计水平,有利于毕业设计和今后的工作,我们从毕业生的论文中挑选了5 个 ER 模型,供参考。这些设计并不是惟一的,可能还不完善,但大家从中可得到有益的启发,拓宽思路。1某学员为医院“住院管理信息系统”设计了数据库的ER 模型,对医生、护士、病人、病
11、房、诊断、手术、结账等有关信息进行管理,其ER 图如图 5.11所示。这个 ER 图有 8 个实体类型,其属性如下:病人 住院号,姓名,性别,地址)医生医生工号,姓名,职称)护士 护士工号,姓名,职称)病床病床编号,床位号,类型,空床标志)手术室 手术室编号,类型)手术手术标识号,类型,日期,时间,费用)诊断书 诊断书编号,科别,诊断)收据收据编号,工程,金额,收款员,日期)这个 ER 图有 11 个联系类型,其中1 个是 1:1 联系, 8 个 1: N 联系, 2 个是 M:N联系。联系的属性如下:协助 角色)处方 处方单号,序号,药品名称,规格,数量,费用)入住 入院日期,出院日期)试把
12、这个 ER 图转换成关系模型。并指出各个关系模式的主键和外键。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 20 页5 / 20 图 5.11住院管理信息系统的ER 图2某学员为电脑专卖店设计开发了“电脑销售信息管理系统”,数据库的ER 模型对商品、供应商、仓库、营业员、门店的有关信息进行了管理,其ER 图如图 5.12所示。这个 ER 图有 7 个实体类型,其属性如下:商品 商品编号,名称,类别,单位,单价)供应商 供应商编号,名称,账号,地址)仓库 仓库编号,地址,负责人)门店 门店编号,名称,地址)采购员 采购员编号,姓名,业绩
13、)管理员 管理员编号,姓名,业绩)营业员 营业员编号,姓名,业绩)这个 ER 图有 7 个联系类型,其中2 个是 1:N 联系, 1 个 M:N 联系, 4 个是 M :N:P联系。联系的属性如下:采购 采购单号,数量,日期)进货 进货单号,数量,日期)配送 配送单号,数量,日期)销售 销售单号,数量,日期)存储 库存量,日期,安全库存量)试把这个 ER 图转换成关系模型。并指出各个关系模式的主键和外键。医生诊断书手术手术室护士处方安排书写协助接受M N 1 1 1 M 1 拥有位于入住N N 1 1 N N 1 N 1 主刀病人病床分配N N 1 N 结账收据1 N 采购员供应商管理员管理进
14、货M N 1 P N 采购存储N N 仓库商品M M M P N M 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 20 页6 / 20 图 5.12 电脑销售信息管理系统的ER 图3某学员为证券营业网点设计的业务信息管理系统,对客户、资金、证券和业务活动进行了管理,其ER图如图 5.13 所示。该 ER图有 5 个实体类型,其结构如下:客户 股东账号,身份证号,姓名,地址,客户类别,开户日期)资金 资金账号,金额,可取余额,冻结金额,解冻金额,利息,日期)证券 证券代码,名称,每手股数)委托 委托序号,数量,买卖类别,价格,时间,操
15、作员)成交 成交序号,数量,买卖类别,成交价格,时间)该 ER图有 8 个联系类型,其中6 个 1:N 联系, 2 个 M:N 联系。其中,联系的属性如下:持有 金额,可用数量,冻结数量,解冻数量,日期)存取 存取单序号,存取标志,金额,日期)试把这个 ER 图转换成关系模式集,并指出每个模式的主键和外键。图 5.13 证券业务管理系统的ER图委托证券客户成交资金申请存取冻结 2 持有交割M N N 1 N N 1 过户冻结 1 清算N 1 N 1 1 M 1 N N 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 20 页7 / 20
16、 4某学员为某出版社设计了图书发行信息管理系统,数据涉及到图书、作者、开印、入库、客户和发行员等信息。得到的全局ER图如图 5.14 所示。该 ER图有 6 个实体类型,其结构如下:图书 图书编号,书名,定价,包本数,开本,统一书号,库存量)作者 作者编号,姓名,性别,地址,电话)开印单 印单号,开单日期,定价,印数,制单人)入库单 入库单号,日期,送书单位,数量,包本数,版印次)发行员 发行员代号,姓名,电话)客户 客户编号,名称,地址,开户行,账号,税号,收款方式)实体类型之间有6 个联系,其中2 个 1:N 联系, 3 个 M:N联系, 1 个 M:N:P 联系,在图上均已标出。其中联系
17、的属性如下所示。订购 订购单号,日期,数量)出库 出库单号,日期,数量,包本数)收款 收款单号,金额,收款日期)编著 日期,备注)试将 ER 图转换成关系模型,并注明主键和外键。5某学员为上海闵行区物资供应公司设计了库存管理信息系统,对货物的库存、销售等业务活动进行管理。其ER图如图 5.15 所示。作者开印单入库单图书发行员客户编著出库开印入库订购收款M N N N 1 1 M M M N N P N 图 5.14图书发行系统的ER 图采购员报损单销售员货物供应商采购入库报损定单出库存储M N N N 1 M N M M P 客户P P M 精选学习资料 - - - - - - - - -
18、名师归纳总结 - - - - - - -第 7 页,共 20 页8 / 20 该 ER图有 7 个实体类型,其结构如下:货物 货物代码,型号,名称,形态,最低库存量,最高库存量)采购员 采购员号,姓名,性别,业绩)供应商 供应商号,名称,地址)销售员 销售员号,姓名,性别,业绩)客户 客户号,名称,地址,账号,税号,联系人)仓位 仓位号,名称,地址,负责人)报损单 报损号,数量,日期,经手人)实体间联系类型有6 个,其中1 个 1:N 联系, 1 个 M:N联系, 4 个 M:N:P 联系。其中联系的属性如下。入库 入库单号,日期,数量,经手人)出库 出库单号,日期,数量,经手人)存储 存储量
19、,日期)定单 定单号,数量,价格,日期)采购 采购单号,数量,价格,日期)试将 ER 图转换成关系模型,并注明主键和外键。5.4 自测题答案5.4.1 填空题答案1总体信息需求处理需求 DBMS 特征硬件和 OS 特性2完整的数据库结构应用程序设计原则3系统调查可行性分析确定总目标和制定工程开发计划4业务流程图系统范围图数据流程图数据字典5数据项数据结构数据流数据存储加工过程6企业组织信息需求7设计局部概念模式综合成全局概念模式评审8自顶向下逐步细化自底向上逐步综合9把概念模式转换成DBMS 能处理的模式10形成初始模式设计子模式应用程序设计梗概模式评价模式修正11 存储记录结构设计确定数据存
20、储安排访问方法的设计完整性安全性设计程序设计12 DBA13 DB 的转储与恢复DB 的安全性与完整性控制DB 性 能 的监督、分析和改进DB 的重组织和重构造精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 20 页9 / 20 5.4.2 单项选择题答案1 D 2 C 3 C 4D 5B 6B7B 8B 9 A 10B 11C 5.4.3 设计题答案这个数据库一种可能的ER 图如图 5.16 所示,图中只画出实体、联系,未画出其属性。5.4.4 ER图实例答案1解:根据ER 图和转换规则,8 个实体类型转换成8 个关系模式, 2 个
21、M:N 联系转换成 2 个关系模式。因此,图5.11 的 ER图可转换成10 个关系模式,如下所示:病人 住院号,姓名,性别,地址,病房编号,床位号,入院日期,出院日期)医生 医生工号,姓名,职称)护士 护士工号,姓名,职称,手术室编号)病床 病床编号,床位号,类型,空床标志,护士工号)手术室 手术室编号,类型)手术 手术标识号,类型,日期,时间,费用,手术室编号,医生工号,住院号)诊断书 诊断书编号,科别,诊断,医生工号,住院号)收据 收据编号,工程,金额,收款员,日期,住院号)协助 手术标识号,医生工号,角色)处方 处方单号,序号,药品名称,规格,数量,费用,住院号,医生工号)2解:根据E
22、R 图和转换规则,7 个实体类型转换成7 个关系模式, 1 个 M:N 联系和4个 M:N:P 联系转换成5 个关系模式。因此,图5.12 的 ER图可转换成12 个关系模式,如下所示:商品 商品编号,名称,类别,单位,单价)供应商 供应商编号,名称,账号,地址)仓库 仓库编号,地址,负责人)门店 门店编号,名称,地址)采购员 采购员编号,姓名,业绩)图 5.16库存管理系统的ER 模型采购员商店商品供应商仓库采购入库销售出库聘用M N N N 1 M N M N P P 客户P P M 职工精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,
23、共 20 页10 / 20 管理员 管理员编号,姓名,业绩,仓库编号)营业员 营业员编号,姓名,业绩,门店编号)采购 采购单号,数量,日期,采购员编号,供应商编号,商品编号)进货 进货单号,数量,日期,供应商编号,商品编号,仓库编号)配送 配送单号,数量,日期,商品编号,仓库编号,门店编号)销售 销售单号,数量,日期,商品编号,门店编号,营业员编号)存储 商品编号,仓库编号,日期,库存量,安全库存量)3解:根据ER图和转换规则,5 个实体类型转换成5 个关系模式,2 个 M:N联系转换成2个关系模式。因此,图5.13 的 ER图可转换成7 个关系模式,如下:客户 股东账号,身份证号,姓名,地址
24、,客户类别,开户日期)资金 资金账号,金额,可取余额,冻结金额,解冻金额,利息,日期)证券 证券代码,名称,每手股数)委托 委托序号,股东账号,证券代码,资金账号,数量,买卖类别,价格,时间,操作员)成交 成交序号,股东账号,证券代码,资金账号,数量,买卖类别,成交价格,时间)持有 股东账号,证券代码,日期,金额,可用数量,冻结数量,解冻数量)存取 存取单序号,股东账号,资金账号,存取标志,金额,日期)4据转换规则,ER图中有 6 个实体类型,可转换成6 个关系模式,另外ER图中有 3个 M:N联系和 1 个 M:N:P 联系,也将转换成4 个关系模式。因此,图5.14 的 ER图可转换成 1
25、0 个关系模式,具体如下:图书 图书编号,书名,定价,包本数,开本,统一书号,库存量)作者 作者编号,姓名,性别,地址,电话)开印单 印单号,开单日期,图书编号,定价,印数,制单人)入库单 入库单号,日期,送书单位,数量,包本数,版印次,图书编号)发行员 发行员代号,姓名,电话)客户 客户编号,名称,地址,开户行,账号,税号,收款方式)订购 订购单号,日期,数量,客户编号,图书编号,发行员代号)出库 出库单号,日期,数量,包本数,客户编号,图书编号)收款 收款单号,金额,收款日期,客户编号,图书编号)编著 作者编号,图书编号,日期,备注)5据转换规则,ER图中有 7 个实体类型,可转换成7 个
26、关系模式,另外ER图中有 1个 M:N联系和 4 个 M:N:P 联系,也将转换成5 个关系模式。因此,图5.15 的 ER图可转换成 12 个关系模式,具体如下:货物 货物代码,型号,名称,形态,最低库存量,最高库存量)采购员 采购员号,姓名,性别,业绩)供应商 供应商号,名称,地址)销售员 销售员号,姓名,性别,业绩)客户 客户号,名称,地址,账号,税号,联系人)仓位 仓位号,名称,地址,负责人)报损单 报损号,数量,日期,经手人,货物代码)入库 入库单号,日期,数量,经手人,供应商号,货物代码,仓位号)出库 出库单号,日期,数量,经手人,客户号,货物代码,仓位号)存储 货物代码,仓位号,
27、日期,存储量)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 20 页11 / 20 定单 定单号,数量,价格,日期,客户号,货物代码,销售员号)采购 采购单号,数量,价格,日期,供应商号,货物代码,采购员号)第 6 章 数据库的存储结构6.1 基本内容分析6.1.1 本章重要概念本章有以下一些重要概念:1)计算机系统的存储介质层次。2)两种文件组织:定长记录和变长记录。被拴记录,悬挂指针,分槽式页结构。3)四种文件结构:堆文件、顺序文件、散列文件和聚集文件。4)索引技术:主索引及三种实现方法稠密、稀疏、多级索引);辅助索引;B+树索
28、引文件; B 树索引文件。5)散列技术:散列函数;散列索引;静态散列;动态散列可扩充散列结构)。6)两种多键访问技术:网格文件和分区散列。6.1.2 本章的重点篇幅1)教材中P214 的图 6.8 分槽式页结构)。2)教材中P224232 的 B+树索引文件和B树索引文件。 3)教材中P236241 的可扩充散列结构。2)教材中P242244 的网格文件。6.2 教材中习题6 的解答6.1 名词解释1)定长记录文件:记录为定长格式的文件。变长记录文件:记录为变长格式的文件。被拴记录 pinned record ):被指针指向的记录,称为被拴记录。悬挂指针 dangling pointer ):
29、如果指针指向的记录已被删除,那么该指针称为悬挂指针。悬挂指针指向的空间称为“垃圾”,别人无法使用。2)堆文件:以输入顺序为序的文件,称为堆文件。顺序文件:记录按查找键值升序或降序的顺序存储的文件,称为顺序文件。散列文件:将记录的某个属性值通过散列函数求得的值作为记录的存储地址的文件,称为散列文件。聚集文件:可以存储多个关系表)的记录的文件,称为聚集文件。3)有序索引:根据记录中某种排序顺序建立的索引,称为有序索引。主索引:如果索引的查找键值的顺序与主文件的顺序一致,那么这种索引称为主索引,也称为聚集索引。稠密索引:对于主文件中每一个查找键值建立一个索引记录,索引记录包括查找键值和指向具有该值的
30、记录链表的第一个记录的指针。这种索引称为“稠密索引”。稀疏索引:在主文件中,对若干个查找键值才建立一个索引记录,这种索引称为“稀疏索引”。多级索引:在索引很大时,还可对索引建立索引,这样就形成树结构的多级索引。辅助索引:不是根据主索引的查找键值,而是根据其他查找键值来寻找主文件的记录,这种索引称为辅助索引。平衡树:一棵m 阶平衡树或者为空,或者满足以下四个条件:每个结点至多有m 棵子树;根结点或为叶结点,或至少有两棵子树;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 20 页12 / 20 每个非叶结点至少有m/2 棵子树;叶结点在
31、同一层次上。B+树:一棵m 阶 B+树是平衡树,多个结点至多有m-1 个查找键值和m 个指向子树的指针,但叶结点中的指针指向主文件中的记录,而非叶结点形成了叶结点上的一个多级稀疏索引。B 树: B 树类似于B+树, B 树中所有查找键值只能出现一次,但可出现任何结点上。4)散列方法:根据记录的查找键值,使用一个函数计算得到的函数值,作为磁盘块的地址,对记录进行存储和访问,这种方法称为散列方法。桶溢出 散列碰撞):在散列组织中,每个桶的空间是固定的,如果某个桶内已装满记录,还有新的记录要插入到该桶,这种现象称桶溢出。封闭散列法:即溢出桶拉链法。某桶号的空间分成基本桶和溢出桶两种。开放式散列法:把
32、桶的集合固定下来,也就是只考虑基本桶,不考虑溢出桶。如果有一个桶装满了记录,还需装入新记录时,就在桶集中挑选一个有空闲空间的桶去装新记录。5)散列索引:把查找键值与指针一起组合成散列文件结构的一种索引。静态索引:在散列函数确定以后,所有的桶地址及桶空间都确定了。这种技术称为“静态散列”技术。动态散列:桶空间可以随时申请或释放的散列技术,称为“动态散烈”技术。可扩充散列:对静态散列中成倍扩充法的改进,能随时根据需要申请和释放桶。6)单键索引:只使用一个查找键的查询,称为单键查询。多键查询:使用多个查找键的查询,称为多键查询。网格文件:网格文件是由网格矩阵和线性标尺组成的结构,网格矩阵中每个格子中
33、有一个指针,指向一个桶。分区散列:是对散列技术的扩充,能允许在多个属性上进行索引。6.2 试叙述计算机系统的物理存储介质层次, 并说明每一种介质的数据访问速度。答:根据访问数据的速度、成本和可靠性,计算机系统的存储介质可分成以下六类: 高速缓冲存储器cache):这是一种静态的随机访问存储器Static Random Access Memory ,简记为SRAM )。 CPU 用 cache存储器来加快程序的执行。 主存或内存:这是一种动态的随机访问存储器Dynamic RAM ,简记为DRAM )。现在微机的内存已达200MB 。上述两种存储器是一种易失性存储器,即掉电时会丢失存储的内容。
34、快闪存储器 Flash Memory ):这种存储器采用EEPROM 电可擦写可编程只读存储器)技术,其优点是存取速度快,缺点是必须一次擦写或写入。其容量已达32 兆位,存取速度 7 10-8/s,写传输速度是430KB/s 。 磁盘:是一种直接访问存储器,现在微机上磁盘的容量已达180GB,I/O 传输速度达 80MB/s 。上述两种存储器属于非易失性存储器,也称为联机存储器。 光盘:这种存储器是利用光学原理来存储数据,并通过激光元件来读取数据。自动光盘机的容量已达数千吉字节,旋传速度达400 转/分钟,传输速度为200KB/s 。数据视频盘DVD )的容量在415 吉字节之间。 磁带:主要
35、用于数据存档和备份。磁带的容量为16006250 字节 /英寸,一般可达50 吉字节。自动磁带机可以存储数量级达太字节的数据。上述两种存储器是一种脱机存储器,又称为第三级存储器。6.3 试对“被拴记录”下个确切的定义。被拴记录在物理存储中起什么作用?有什么利弊?答:在数据库中,被指针指向的记录,称为“被拴记录”。被拴记录表示记录已被其他用户引用。如果不小心把被拴记录删掉,那么指向该记录的指针成了“悬挂指针”。悬挂指针指向的空间是“垃圾”,别人无法使用。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 20 页13 / 20 6.4 在教
36、材 P212)的图 6.5 中,删除记录5。试比较使用下面各种操作时的利弊:把记录5 以下的记录依次移上一个记录位置。把最后一个记录记录 7)移到记录5 的位置。在记录5 中置删除标志位,不移动记录。答:把被删记录后的记录依次移上来,平均要移动文件中的一半记录。把文件中最后一个记录填补到被删记录位置,这时只要移动一个记录。在被删结点处置删除标志位,这时使指向该记录的指针成为悬挂指针。6.5 在教材 P213)的图 6.6 的文件中,画出执行下列三个操作后的文件结构:插入 AN ,B-678,800)记录;删除记录2;插入 AN ,A-384,600)记录。答:解:插入记录在“记录1”处。删掉记
37、录2,并且记录2 链接到被删结点链表的链首处。插入记录在“记录2”处。此时图见图6.1 。文件首部 0 LIU A-102 600 1 AN B-678 800 2 AN A-384 600 3 ZHANG A-214 600 4 5 LIU B-215 800 6 7 ZHANG B-467 600 8 LIU C-333 400 图 6.16.6 试举一个数据库应用例子,说明在表达变长记录时,有时预留空间方法要比指针形式好。并作解释。答:譬如在文件中表达学生和选修课程情况,如果每个学生选修课程门数都在1215 门之间,那么此时使用预留空间形式较好,空间浪费较小。6.7 试举一个数据库应用例
38、子,说明在表达变长记录时,有时指针形式比预留空间方法好。并作解释。答:譬如在文件中表达学生和其奖惩情况,每个学生的奖惩工程的差别是比较大的,那么此时用指针表示方式较好。6.8 在教材 P215)的图6.9 变长记录预留空间的文件中,画出执行下列三步操作后的文件结构:插入 HE ,E-254,800)记录;插入 LOU , C-293, 600)记录;删除 LIU, C-333, 400)记录。解:执行题中三步操作后的文件结构如图6.2 所示。0 LIU A-102 600 B-215 800 1 WEN B-306 700 2 HE F-257 800 E-254 800 3 ZHANG A-
39、214 600 B-467 600 4 ZHOU C-343 750 5 LOU B-428 850 C-293 600 图 6.2 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 20 页14 / 20 6.9 在教材 P215)的图6.9 的文件中,如果还要插入LIU,F-834,750)记录,会发生什么现象?如何处理?有何利弊?解:此时, LIU 的记录长度超过最大长度,此时有两种实现方式:一种是改组文件,增加记录长度,以适应应用的需要。但这样有可能造成空间浪费。另一种是再取一个记录,放LIU, F-834, 750 )值,但是
40、应该使这一条记录与原来的记录联系起来,可通过指针等方法来实现。6.10 在教材 P216)的图6.10 变长记录指针表示方式的文件中,画出执行下列三步操作后的文件结构:插入HE , E-254, 800)记录;插入LOU ,C-293,600)记录;删除 LIU, C-333, 400)记录。解:执行题中三步操作后的文件结构如图6.3 所示。0 LIU A-102 600 1 WEN B-306 700 2 HE F-257 800 3 ZHANG A-214 600 4 ZHOU C-343 750 5 B-215 800 6 LOU B-428 850 7 B-467 600 8 9 E-
41、254 800 10 C-293 600 图 6.3 6.11 在顺序文件组织中,为什么只有一个溢出记录时,仍然要申请一个溢出块存放这个溢出记录?答:由于文件被组织成物理块的形式,当数据块放满时,只能再申请一个溢出块,把溢出记录放到溢出块中。6.12 在关系数据库存储时,试说出下面每种存储技术的两个优点和两个缺点:每个文件中只存储一个关系;每个文件中存储多个关系或整个数据库)。答:每个文件存储一个关系。其优点是:管理简单,一般的OS 就能实现;系统实现方便,一般适用于规模小的数据库。其缺点是文件之间分离,没有联系;数据联系通过软件实现,效率较低。每个文件中存储多个关系。其优点是:使有联系的数据
42、混放在一起,提高查询速度;加强数据之间的联系。其缺点是:增加了系统的复杂性;对两个文件中的查询处理,速度将变慢。6.13 设关系数据库中有两个关系:COURSECOURSE_NAME, TEACHER)ENROLLMENTCOURSE_NAME,STUDENT_NAME,GRADE )设有三门课程,五个学生,学生与课程间有选修联系。试用聚集文件表示这两个关系的文件结构。解:设有三门课程:PL、OS、DB ,五个学生: BAO 、CHEN 、GU、HAI 和 YU 。如果用户查询多数是从课程找选修的学生。那么可用图6.4 表示这个文件:精选学习资料 - - - - - - - - - 名师归纳总
43、结 - - - - - - -第 14 页,共 20 页15 / 20 PL WU PL BAO 80 PL GU 70 OS LIU OS CHEN 90 OS GU 90 DB MA DB BAO 85 DB YU 95 图 6.46.14 什么情况下使用稠密索引比稀疏索引要好?并请作必要的解释。答:在存取时间和空间开销方面,如果强调存取时间,那么应采用稠密索引。这是因为稠密索引是对每个查找键值建立一个索引记录,所以查找速度较快。6.15 索引机制加快了查询处理,但为什么文件只在单属性的查找键上建索引?尽可能所出你的理由。答:文件只在单属性的查找键上建索引,这样可以简化系统的管理。如果一个
44、索引有多个属性构成,那么在查询时,若查询条件不是等值操作,而是比较操作,就会带来复杂性,会有较多的I/O 操作。6.16 主索引和辅助索引之间有什么区别?答:两种索引的区别在于:主索引是指索引的查找键值的顺序与主文件的顺序一致的索引。而辅助索引,是指索引的查找键值的顺序与主文件的顺序不一致的索引。6.17 在同一关系上能否对两个不同查找键值建立两个主索引?为什么?答:在同一关系上不允许对两个不同查找键值建立两个主索引,这是因为大多数情况下,主文件的顺序不可能同时与两个索引的查找键值顺序一致。6.18 设查找键值集为2 ,3,5, 7,11, 17,19,23, 29,31 。假设初始时B+树为
45、空,按升序次序插入键值。就下面三种情况建立三棵B+树: 4 阶; 6 阶; 8 阶。解: 4 阶 B+树如图 6.5 所示。图 6.5 6 阶 B+树如图 6.6 所示。图 6.6 8 阶 B+树如图 6.7 所示。19 5,11 29 2,3 5,7 11,17 19, 23 29,31 符合 B+树要求:每个叶结点至少应有2 个查找键,至多有 3 个查找键;每个非叶结点至少应有 2 个指针,至多有4 个指针;根结点或者没有指针,或者至少 2 个指针至多有4 个指针。7,19 2,3, 5 7,11,17 19,23, 29,11 精选学习资料 - - - - - - - - - 名师归纳总
46、结 - - - - - - -第 15 页,共 20 页16 / 20 图 6.76.19 对 6.18 题中建立的B+树,试叙述下列查找操作的过程: 找查找键值为11 的记录;找查找键值在717 之间的记录;解: B+树的查询方法如下:要检索查找键值为k 的所有记录,首先在根结点中找大于k 的最小查找键值设为Ki),然后沿着Ki左边的指针Pi到达第二层的结点。在第二层的结点,用类似的方法找到一个指针,进入第三层的结点,一直到进入B+树的叶结点,找到一个指针直接指向主文件的记录,或指向一个桶存放指向主文件记录的指针),最后把所需记录找到。对 6.18 题中建立的B+树的查找过程略)6.20 对
47、 6.18 题中建立的B+树,画出执行下列每一步操作后B+树: 插入 9; 插入 10; 插入 8; 删除 23; 删除 19解: 1)对 6.18 题中的 4 阶 B+树,在插入查找键值9,10,8 后,如图6.8 所示。再删除 23 后,如图6.9 所示。图 6.9 再删除 19 后,如图6.10 所示。图 6.102)对 6.18 题中的 6 阶 B+树,在插入键值9、 10、8 后,如图 6.11 所示。2,3,5,11,17,19,23,29,19 5,9,11 29 2,3 5,7,8 11,17 19,23 29,31 9,10 11 5,9 19 2,3 19,29,31 5,
48、7,8 9,10 11,17 11 5,9 29 2,3 5,7,8 9,10 11,17 29,31 7,10,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 20 页17 / 20 图 6.11再删除 23、19 后,如图6.12 所示。图 6.12m。1)对 6.18 题中的查找键值集,建立4 阶 B 树。此时非叶结点中最多3 个查找键值,而假设叶结点中最多可以4 个查找键值。再插入 2、3、5、 7、11 后的 B 树如图 6.14 所示。图 6.14再插入 17、 19、23、29、 31 后的 B 树如图 6.15 所示。
49、图 6.152)对 6.18 题中的查找键值集,建立6 阶 B 树。此时非叶结点中最多5 个查找键值,而假设叶结点中最多可以6 个查找键值。在插入 10 个键值后的B 树如图 6.16 所示。2,3, 5 7,8,9 19,23,29,10,11,7,10 2,3, 5 7,8,9 10,11,17,29,31 11 2,3,5,7,8,9,11,17,29,5 2,3 7,11 5,17 2,3 19,23, 29,7,11 7 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 20 页18 / 20 图 6.163)对 6.18 题
50、中的查找键值集,建立8 阶 B 树。此时非叶结点中最多7 个查找键值,而假设叶结点中最多可以8 个查找键值。在插入 10 个键值后的B 树如图 6.17 所示。图 6.176.22 封闭式散列法和开放式散列法之间有什么区别?在数据库应用中,这两种方法各有什么利弊?答:封闭式散列法和开放式散列法是指在桶溢出时所采用的方法。(1)封闭式散列法是指每个桶号的存储空间分成基本桶和溢出桶两种。溢出桶链接成一条溢出链,查找某桶号的数据就在这条溢出链中进行,不会到其他溢出链中查找。(2)开放式散列法是把桶集固定下来,也就是只考虑基本桶,不考虑溢出桶。如果有一个桶装满了记录,那么就在桶集中挑选一个有空闲空间的
51、桶,装入新记录。封闭散列法的优点是查找速度快,但结构比较复杂。开放散列法的空间较省,但插入、删除操作比较复杂。所以现在大多数DBS 中都是使用封闭散列法。6.23 在散列文件组织中,是什么原因引起桶溢出的?有什么办法能减少桶溢出的次数?答:产生桶溢出的原因有两个:初始设计时桶数偏少;散列函数的“均匀分布性”不好。对于前一个原因,在设计散列函数时,桶数应放宽些,一般存储空间应有20%的余量,让它空闲着,以利减少桶溢出的机会。对于后一个原因,不管散列函数如何好,再留有空间余量,桶溢出现象难免还会发生,因此用封闭散列法和开放式散列法来解决桶溢出问题。6.24 设查找键值集为2 ,3,5, 7,11,
52、 17,19,23, 29,31 ,散列函数为hx)=x mod 8),每个桶可存储3 个记录。试建立一个可扩充散列结构,并画出示意图。解:查找键值的散列值为:键值 X 散列值 hX)2 2010)3 3011)5 5101)7 7111)11 3011)17 1001)19 3011)23 7111)29 1001)31 7111)插入键值2、3、 5后的可扩充散列结构,如图6.18 所示。0 0 桶地址表桶 0 0 23 5 2,3,5 11,17, 19,23,29,11 2,3,5,7 17,19,23,29,31 精选学习资料 - - - - - - - - - 名师归纳总结 - -
53、 - - - - -第 18 页,共 20 页19 / 20 图 6.18在插入键值7、11后的结构图,如图6.19 所示。图 6.19再插入键值17 后的结构图,如图6.20 所示。再插入键值19、 23、29、31 后的结构图,如图6.21 所示。 0 1 1 1 23 11 1 57 桶 1 桶 0 1 0 2 3 2 1 57 2 23 11 2 17桶 2,桶 3 桶 1 桶 0 桶 0,桶 1 桶 2 桶 3 1 0 3 3 2 7 6 5 4 桶 4,桶 5 2 52 1729 3 2 3 311 19 2 723 31桶 6,桶 7 精选学习资料 - - - - - - - -
54、 - 名师归纳总结 - - - - - - -第 19 页,共 20 页20 / 20 图 6.216.25 对 6.24题中的可扩充散列结构,试叙述执行下列各操作后可扩充散列结构如何变化: 删除 11; 删除 31; 插入 1; 插入 15。解:在6.24 题的可扩充散列结构中,执行本题的各个操作后,得到的结构图如图6.22 所示。6.26 为什么散列结构不适宜对查找键进行范围查询?答:由于范围查询的查找键是分散在各个桶中,因此散列结构不适宜对查找键进行范围查询。桶 0 桶 1 1 0 2 3 2 桶 2 2 52 1229 1 2 2 3 19 2 723 15桶 3 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 20 页