第二章.数据库设计[1]和ER模型2.1名词解释数据库工程——数据库应用系统的开发是一项软件工程[2],但又有自己的特点。数据库系统生存期——数据库应用系统从规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。实体——是一个数据对象[3],指应用中可以区别的客观存在的事物。实体集——同一类实体构成的集合。实体类型——是对实体集中实体的定义。实体标识符[4]——在一个实体中,能够唯一标识实体的属性或属性集合。联系——表示一个或多个实体间的关联关系。联系集——同一类联系构成的集合。联系类型——对联系集中联系的定义。属性——实体的某一特性。简单属性——不可再分隔的属性。复合属性——可再分解为其它属性的属性。单值属性——同一实体的属性只能取一个值。多值属性——同一实体的属性可能取多个值。存储属性——需要把属性值存入数据库的属性。派生属性——不需要把属性值存入数据库,属性值可以从其它属性值推导出的属性。联系元数(度数)——指一个联系涉及的实体集个数。映射基数——实体集E1和E2之间有二元联系,则参与一个联系中的实体的个数称为映射基数。完全参与——如果实体集中的每个实体都参与联系集R的至少一个联系中,称实体集E完全参与。部分参与——如果实体集中的只有部分实体参与联系集R的联系中,称实体集E部分参与。关系模型——用二维表格表示实体集,用关键码表示实体间的联系的数据模型。关系模式[5]——关系模型中的记录类型。关系实例——是一个属性集相同的元组[6]的集合。(关系)属性——关系模型中的字段。(关系)域——关系模型中字段的取值范围。(关系)元组——关系模型中的记录。超键——在关系中能唯一标识元组的属性集,称为关系模式的超键。候选键——不含有多余属性的超键。主键——用户选作元组标识的候选键。外键——如果模式R中的属性K是其它模式的主键,则K在模式R中称为外键。实体完整性[7]规则——要求关系中元组在组成主键的属性上不能有空值[8],否则就起不到唯一标识元组的作用了。参照完整性[9]规则——如果属性集K是关系模式R1的主键,同时也是关系模式R2的外键,那么在R2中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中的某个主键值。弱实体——如一个实体对另一个实体(强实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体中获得,则该实体为弱实体。子类[10]实体——当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。超类[11]实体——当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。2.2数据库设计的规划阶段应做哪些事情?1)系统调查[12]。画出应用单位组织结构图。2)可行性分析。从技术、经济、效益、法律等各方面可行性进行分析,写出可行性分析报告,组织专家讨论。3)确定数据库系统的总目标,对应用单位的工作流[13]程进行优化,制订项目开发计划。获得决策部门批准后,正式进入数据库系统开发。2.3数据库设计的需求分析阶段工作主要由哪四步组成?1)分析用户活动,产生业务流程图2)确定系统范围,产生系统关联图3)分析业务活动所涉及的数据,产生数据流图[14]4)分析系统数据,产生数据字典2.4在数据库设计中,为什么要有概念设计这一阶段?使设计人员从用户的观点看待数据和处理需求、约束,产生反映用户观点的概念模型。将概念模设计从设计过程中独立开来,可以使数据库设计各阶段任务单一化,减少复杂度,便于组织管理,能较好地适应各种变化,转换成关系模式。2.5试述概念设计的主要步骤?1)进行数据抽象(聚集和概括方法),设计局部概念模型2)将局部概念模型综合成全局概念模型(消除冲突)3)评审(用户、DBA和开发人员评审)2.6逻辑设计的目的是什么?试述逻辑设计阶段主要步骤及内容逻辑设计的目的是将概念模型转换成与所选用的具体机器上所支持的数据模型相符合的逻辑模型。逻辑设计阶段主要步骤:1)将概念模型转换成逻辑模型2)设计外模式[15]3)设计应用程序和数据库接口4)评价模型(定量分析:处理频率、数据容量、性能测量[16])5)修正模型2.7什么是数据库结构的物理设计?试述其具体步骤。物理设计是对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。数据库的物理结构主要指数据库存储记录格式、存储记录安排、存取方法[17]。具体步骤:1)存储记录结构设计:包括记录的组成、数据项[18]的类型、长度,以及逻辑记录到存储记录的映射。2)确定数据存放位置:可以把经常同时访问的数据组合在一起。3)存取方法设计:存取路径分为主存取路径与辅存取路径,前者用于主键检索,后者用于辅助键检索。4)安全性和完整性考虑。5)程序设计。2.8数据库实现阶段[19]主要有哪几件事情?1)定义数据结构2)数据装载:人工(刷选数据、转换数据格式[20]、输入数据、校验数据)和计算机装载(筛选数据、输入数据、效验数据、转换数据、综合数据)3)编制和调试[21]应用程序4)数据库试运行。2.9数据库系统投入运行后,有哪些维护工作?1)数据库的转储[22]和恢复。2)数据库的安全性、完整性控制[23]。3)数据库性能的监督、分析、改进。4)数据库的重组织和重构造。2.10在概念设计中,如何把多值属性变换成系统容易实现的形式?将原来的多值属性用几个新的单值属性表示。将原来的多值属性用一个新的实体类型表示。2.11对联系类型有哪两种约束?试详细解释?联系类型的约束限制了参与联系的实体数目,有技术约束和参数约束。技术约束表示了一个联系的实体的个数约束,通过映射基数来表达,有1:1,1:N,M:N,M:1四种。参与约束表示了实体集中是部分实体还是全部实体参与联系集中的联系。有部分参与和完全参与两种。2.12采用ER模型的数据库概念设计有哪些主要的步骤?1)设计局部ER模型(确定局部结构范围、定义实体、定义联系、分配属性)2)设计全局ER模型(确定公共实体类型、合并局部ER模型、消除冲突)3)全局ER模型优化(合并实体类型、消除冗余属性、消除冗余联系)2.13在关系模型中,关系具有哪些性质1)关系中的每个属性值都是不可分解的。2)关系中不允许出现重复组。3)由于关系是一个集合,因此不考虑元祖间的顺序,即没有行序。4)元祖的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。2.14为什么关系中的元组没有先后顺序?且不允许有重复的元组?因为关系是一个元祖的集合,而元祖在集合中的顺序无关紧要,即没有行序。集合中的元素不允许重复出现,因此关系中的元组不能重复,可以用键来标识唯一的元组。2.15参照完整性规则使用时,有哪些变通?试举例说明。1)外键和相应的主键可以不同名,只要定义在相同的值域上即可。2)R1和R2可以是同一个关系模式,此时表示同一个关系中不同元组间的联系。3)外键值是否允许为空,视具体情况而定。2.16商店(________,店名,地址)商品(________,商品名,规格,价格)职工(________,职工名,性别,业绩,________)销售(________,________________,________)2.17略2.18略2.19ER图转换[24]成关系模式集的具体思想是什么?1)实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标示符即为关系模式的键。2)联系类型的转换:二元联系类型的转换:a)如果实体间联系是1:1:1,在任意一个实体模型[25]中加入另两个实体的主键作为外键。b)如果实体间联系是1:1:N,在多方实体模式中加入两个1方的主键作为外键。c)如果实体间联系是1:M:N,把联系类型转换为关系模式,其属性为M和N方实体类型的键(作为外键)加上联系类型的属性,而主键为M和N方主键的组合。d)如果实体间联系是M:N:P, 其属性为三方实体类型的键(作为外键)加上联系类型的属性,而主键为三方主键的组合。
第二章.数据库设计[1]和ER模型
2.1名词解释
数据库工程——数据库应用系统的开发是一项软件工程[2],但又有自己的特点。
数据库系统生存期——数据库应用系统从规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。
实体——是一个数据对象[3],指应用中可以区别的客观存在的事物。
实体集——同一类实体构成的集合。
实体类型——是对实体集中实体的定义。
实体标识符[4]——在一个实体中,能够唯一标识实体的属性或属性集合。
联系——表示一个或多个实体间的关联关系。
联系集——同一类联系构成的集合。
联系类型——对联系集中联系的定义。
属性——实体的某一特性。
简单属性——不可再分隔的属性。
复合属性——可再分解为其它属性的属性。
单值属性——同一实体的属性只能取一个值。
多值属性——同一实体的属性可能取多个值。
存储属性——需要把属性值存入数据库的属性。
派生属性——不需要把属性值存入数据库,属性值可以从其它属性值推导出的属性。
联系元数(度数)——指一个联系涉及的实体集个数。
映射基数——实体集E1和E2之间有二元联系,则参与一个联系中的实体的个数称为映射基数。
完全参与——如果实体集中的每个实体都参与联系集R的至少一个联系中,称实体集E完全参与。
部分参与——如果实体集中的只有部分实体参与联系集R的联系中,称实体集E部分参与。
关系模型——用二维表格表示实体集,用关键码表示实体间的联系的数据模型。
关系模式[5]——关系模型中的记录类型。
关系实例——是一个属性集相同的元组[6]的集合。
(关系)属性——关系模型中的字段。
(关系)域——关系模型中字段的取值范围。
(关系)元组——关系模型中的记录。
超键——在关系中能唯一标识元组的属性集,称为关系模式的超键。
候选键——不含有多余属性的超键。
主键——用户选作元组标识的候选键。
外键——如果模式R中的属性K是其它模式的主键,则K在模式R中称为外键。
实体完整性[7]规则——要求关系中元组在组成主键的属性上不能有空值[8],否则就起不到唯一标识元组的作用了。
参照完整性[9]规则——如果属性集K是关系模式R1的主键,同时也是关系模式R2的外键,那么在R2中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中的某个主键值。
弱实体——如一个实体对另一个实体(强实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体中获得,则该实体为弱实体。
子类[10]实体——当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。
超类[11]实体——当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。
2.2数据库设计的规划阶段应做哪些事情?
1)系统调查[12]。画出应用单位组织结构图。
2)可行性分析。从技术、经济、效益、法律等各方面可行性进行分析,写出可行性分析报告,组织专家讨论。
3)确定数据库系统的总目标,对应用单位的工作流[13]程进行优化,制订项目开发计划。
获得决策部门批准后,正式进入数据库系统开发。
2.3数据库设计的需求分析阶段工作主要由哪四步组成?
1)分析用户活动,产生业务流程图
2)确定系统范围,产生系统关联图
3)分析业务活动所涉及的数据,产生数据流图[14]
4)分析系统数据,产生数据字典
2.4在数据库设计中,为什么要有概念设计这一阶段?
使设计人员从用户的观点看待数据和处理需求、约束,产生反映用户观点的概念模型。将概念模设计从设计过程中独立开来,可以使数据库设计各阶段任务单一化,减少复杂度,便于组织管理,能较好地适应各种变化,转换成关系模式。
2.5试述概念设计的主要步骤?
1)进行数据抽象(聚集和概括方法),设计局部概念模型
2)将局部概念模型综合成全局概念模型(消除冲突)
3)评审(用户、DBA和开发人员评审)
2.6逻辑设计的目的是什么?试述逻辑设计阶段主要步骤及内容
逻辑设计的目的是将概念模型转换成与所选用的具体机器上所支持的数据模型相符合的逻辑模型。
逻辑设计阶段主要步骤:
1)将概念模型转换成逻辑模型
2)设计外模式[15]
3)设计应用程序和数据库接口
4)评价模型(定量分析:处理频率、数据容量、性能测量[16])
5)修正模型
2.7什么是数据库结构的物理设计?试述其具体步骤。
物理设计是对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。数据库的物理结构主要指数据库存储记录格式、存储记录安排、存取方法[17]。
具体步骤:
1)存储记录结构设计:包括记录的组成、数据项[18]的类型、长度,以及逻辑记录到存储记录的映射。
2)确定数据存放位置:可以把经常同时访问的数据组合在一起。
3)存取方法设计:存取路径分为主存取路径与辅存取路径,前者用于主键检索,后者用于辅助键检索。
4)安全性和完整性考虑。
5)程序设计。
2.8数据库实现阶段[19]主要有哪几件事情?
1)定义数据结构
2)数据装载:人工(刷选数据、转换数据格式[20]、输入数据、校验数据)和计算机装载(筛选数据、输入数据、效验数据、转换数据、综合数据)
3)编制和调试[21]应用程序
4)数据库试运行。
2.9数据库系统投入运行后,有哪些维护工作?
1)数据库的转储[22]和恢复。
2)数据库的安全性、完整性控制[23]。
3)数据库性能的监督、分析、改进。
4)数据库的重组织和重构造。
2.10在概念设计中,如何把多值属性变换成系统容易实现的形式?
将原来的多值属性用几个新的单值属性表示。
将原来的多值属性用一个新的实体类型表示。
2.11对联系类型有哪两种约束?试详细解释?
联系类型的约束限制了参与联系的实体数目,有技术约束和参数约束。
技术约束表示了一个联系的实体的个数约束,通过映射基数来表达,有1:1,1:N,M:N,M:1四种。
参与约束表示了实体集中是部分实体还是全部实体参与联系集中的联系。有部分参与和完全参与两种。
2.12采用ER模型的数据库概念设计有哪些主要的步骤?
1)设计局部ER模型(确定局部结构范围、定义实体、定义联系、分配属性)
2)设计全局ER模型(确定公共实体类型、合并局部ER模型、消除冲突)
3)全局ER模型优化(合并实体类型、消除冗余属性、消除冗余联系)
2.13在关系模型中,关系具有哪些性质
1)关系中的每个属性值都是不可分解的。
2)关系中不允许出现重复组。
3)由于关系是一个集合,因此不考虑元祖间的顺序,即没有行序。
4)元祖的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。
2.14为什么关系中的元组没有先后顺序?且不允许有重复的元组?
因为关系是一个元祖的集合,而元祖在集合中的顺序无关紧要,即没有行序。
集合中的元素不允许重复出现,因此关系中的元组不能重复,可以用键来标识唯一的元组。
2.15参照完整性规则使用时,有哪些变通?试举例说明。
1)外键和相应的主键可以不同名,只要定义在相同的值域上即可。
2)R1和R2可以是同一个关系模式,此时表示同一个关系中不同元组间的联系。
3)外键值是否允许为空,视具体情况而定。
2.16
商店(________,店名,地址)
商品(________,商品名,规格,价格)
职工(________,职工名,性别,业绩,________)
销售(________,________________,________)
2.17略
2.18略
2.19ER图转换[24]成关系模式集的具体思想是什么?
1)实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标示符即为关系模式的键。
2)联系类型的转换:
二元联系类型的转换:
a)如果实体间联系是1:1:1,在任意一个实体模型[25]中加入另两个实体的主键作为外键。
b)如果实体间联系是1:1:N,在多方实体模式中加入两个1方的主键作为外键。
c)如果实体间联系是1:M:N,把联系类型转换为关系模式,其属性为M和N方实体类型的键(作为外键)加上联系类型的属性,而主键为M和N方主键的组合。
d)如果实体间联系是M:N:P, 其属性为三方实体类型的键(作为外键)加上联系类型的属性,而主键为三方主键的组合。
题目解答
答案
商店编号 商品编号 职工号 商店编号 销售单号 商店编号 1 商品编号
解析
本题主要考查数据库设计相关的名词解释、数据库设计各阶段的任务、概念设计和逻辑设计的步骤、关系模型的性质、ER图转换为关系模式集的思想以及为关系模式选择合适的主键等知识点。
2.1 名词解释部分
这部分主要是对数据库设计和ER模型中常见概念的定义阐述,需要准确理解每个概念的含义,例如实体是应用中可区别的客观存在事物,实体集是同一类实体的集合等。
2.2 数据库设计的规划阶段
规划阶段的工作包括系统调查、可行性分析、确定总目标和开发计划。系统调查要画出应用单位组织结构图,可行性分析需从多方面进行并写出报告,确定总目标后要优化工作流程并制定计划,经批准后进入开发阶段。
2.3 数据库设计的需求分析阶段
需求分析阶段主要有四步:分析用户活动产生业务流程图、确定系统范围产生系统关联图、分析业务活动涉及的数据产生数据流图、分析系统数据产生数据字典。
2.4 概念设计阶段的必要性
概念设计阶段能让设计人员从用户观点看待数据和需求,产生反映用户观点的概念模型。将其独立出来可使各阶段任务单一化,降低复杂度,便于组织管理,适应变化并转换为关系模式。
2.5 概念设计的主要步骤
概念设计包括进行数据抽象设计局部概念模型、综合局部概念模型成全局概念模型(消除冲突)以及评审(用户、DBA和开发人员参与)。
2.6 逻辑设计的目的和步骤
逻辑设计目的是将概念模型转换为与具体机器支持的数据模型相符的逻辑模型。步骤有将概念模型转换为逻辑模型、设计外模式、设计应用程序和数据库接口、评价模型、修正模型。
2.7 数据库结构的物理设计
物理设计是为基本数据模型选取适合应用环境的物理结构,具体步骤包括存储记录结构设计、确定数据存放位置、存取方法设计、考虑安全性和完整性以及程序设计。
2.8 数据库实现阶段的工作
实现阶段包括定义数据结构、数据装载(人工和计算机方式)、编制和调试应用程序、数据库试运行。
2.9 数据库系统投入运行后的维护工作
维护工作有数据库的转储和恢复、安全性和完整性控制、性能监督分析改进、重组织和重构造。
2.10 多值属性的变换
可将多值属性用几个新的单值属性表示,或用一个新的实体类型表示。
2.11 联系类型的约束
联系类型的约束有技术约束(通过映射基数表达,有1:1、1:N、M:N、M:1四种)和参与约束(有部分参与和完全参与两种)。
2.12 采用ER模型的数据库概念设计步骤
包括设计局部ER模型(确定范围、定义实体、联系和属性)、设计全局ER模型(确定公共实体、合并局部模型、消除冲突)、全局ER模型优化(合并实体、消除冗余属性和联系)。
2.13 关系模型中关系的性质
关系中属性值不可分解、不允许重复组、元组无行序、属性理论上无序但使用时按习惯考虑列顺序。
2.14 关系中元组无顺序且不重复的原因
因为关系是元组的集合,集合中元素顺序无关紧要且不允许重复,可用键标识唯一元组。
2.15 参照完整性规则的变通
外键和主键可不同名但需定义在相同值域;R1和R2可以是同一关系模式;外键值是否允许为空视具体情况而定。
2.16 关系模式主键的选择
对于“商店”关系,“商店编号”能唯一标识每个商店,所以应填“商店编号”;“商品”关系中“商品编号”可唯一标识商品,填“商品编号”;“职工”关系里“职工号”能唯一确定职工,且职工属于某个商店,所以还需“商店编号”,即填“职工号;商店编号”;“销售”关系中“销售单号”可唯一标识一次销售行为,一次销售涉及一个商店、一个商品和一个职工,所以依次填“销售单号;商店编号;商品编号;职工号”。
2.19 ER图转换为关系模式集的思想
实体类型转换为关系模式,属性和标识符对应关系模式的属性和键;联系类型转换根据不同的联系类型(1:1、1:N、M:N等)有不同处理方式,如在相应实体模式中加入外键或转换为新的关系模式。