第二章.数据库设计[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 商品编号