习题2——数据库设计和ER模型
2.1 名词解释
数据库工程——数据库应用系统的开发是一项软件工程,但又有自己的特点。
数据库系统生存期——数据库应用系统从规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。
实体——是一个数据对象,指应用中可以区别的客观存在的事物。 实体集——同一类实体构成的集合。 实体类型——是对实体集中实体的定义。
实体标识符——在一个实体中,能够唯一标识实体的属性或属性集合。 联系——表示一个或多个实体间的关联关系。 联系集——同一类联系构成的集合。 联系类型——对联系集中联系的定义。 属性——实体的某一特性。
简单属性——不可再分隔的属性。
复合属性——可再分解为其它属性的属性。 单值属性——同一实体的属性只能取一个值。 多值属性——同一实体的属性可能取多个值。 存储属性——需要把属性值存入数据库的属性。
派生属性——不需要把属性值存入数据库,属性值可以从其它属性值推导出的属性。 联系元数(度数)——指一个联系涉及的实体集个数。
映射基数——实体集E1和E2之间有二元联系,则参与一个联系中的实体的个数称为映射基数。
完全参与——如果实体集中的每个实体都参与联系集R的至少一个联系中,称实体集E完全参与。
部分参与——如果实体集中的只有部分实体参与联系集R的联系中,称实体集E部分参与。
关系模型——用二维表格表示实体集,用关键码表示实体间的联系的数据模型。 关系模式——关系模型中的记录类型。
关系实例——是一个属性集相同的元组的集合。 (关系)属性——关系模型中的字段。
(关系)域——关系模型中字段的取值范围。 (关系)元组——关系模型中的记录。
超键——在关系中能唯一标识元组的属性集,称为关系模式的超键。 候选键——不含有多余属性的超键。 主键——用户选作元组标识的候选键。
外键——如果模式R中的属性K是其它模式的主键,则K在模式R中称为外键。 实体完整性规则——要求关系中元组在组成主键的属性上不能有空值,否则就起不到唯一标识元组的作用了。
参照完整性规则——如果属性集K是关系模式R1的主键,同时也是关系模式R2的外键,那么在R2中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中的某个主键值。
弱实体——如一个实体对另一个实体(强实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体中获得,则该实体为弱实体。
子类实体——当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。
超类实体——当较低层次上的实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较低层次上的实体类型为子类实体。
2.2 数据库设计的规划阶段应做哪些事情?
答:①、系统调查。画出应用单位组织层次图。
②、可行性分析。从技术、经济、效益、法律等各方面可行性进行分析,写出可行性分析报告,组织专家讨论。
③、确定数据库系统的总目标,对应用单位的工作流程进行优化,制订项目开发计划。获得决策部门批准后,就正式进入数据库系统的开发工作。
2.3 数据库设计的需求分析阶段工作主要由哪四步组成?
答:①、分析用户活动,产生业务流程图。
②、确定系统范围,产生系统关联图(确定人机界面)。 ③、分析业务活动涉及的数据,产生数据流图。 ④、分析系统数据,产生数据字典。
2.4 在数据库设计中,为什么要有概念设计这一阶段?
答:如果没此阶段,直接将需求分析后的用户信息需求的数据存储格式转换成DBMS能处理的逻辑模型,注意力往往被牵扯到更多的细节,而不能集中到最重要的信息组织结构和处理模型上,使设计依赖于具体的DBMS逻辑模型,不能很好地适应外界的变化。
在需求分析和逻辑设计间增加此阶段,使设计人员仅从用户的观点看待数据和处理需求、约束,产生反映用户观点概念模型。将概念设计从设计过程中独立开来,可以使数据库设计各阶段任务单一化,减小复杂度,便于组织管理,也能较好地适应各种变化,转换成现在普遍使用的关系模型。
2.5 试述概念设计的主要步骤?
答:①、进行数据抽象(聚集、概括),设计局部概念模型;
②、将局部概念模型综合成全局概念模型(削除冲突,即不一致性); ③、评审(用户评审、DBA及应用开发人员评审)。
2.6 逻辑设计的目的是什么?试述逻辑设计阶段主要步骤及内容。
答:目的是把概念设计阶段设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑模型。
主要步骤:
1) 把概念模型转换成逻辑模型; 2) 设计外模式;
3) 设计应用程序和数据库的接口;
4) 评价模型(定量分析——处理频率和数据容量、性能测量); 5) 修正模型。
2.7 什么是数据库结构的物理设计?试述其具体步骤。
答:物理设计就是对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。数据库的物理结构主要指数据库存储记录格式、存储记录安排、存取方法。
具体步骤:
1) 存储记录结构设计:包括记录的组成、数据项的类型、长度,以及逻辑记录到存
储记录的映射。
2) 确定数据存放位置:可以把经常同时访问的数据组合在一起(记录聚簇技术)。 3) 存取方法的设计:存取路径分主存取路径与辅存取路径,前者用于主键检索,后
者用于辅助键检索。 4) 完整性和安全性考虑。 5) 程序设计。
2.8 数据库实现阶段主要有哪几件事情?
答:①、定义数据结构。
②、数据装载:人工装载(筛选数据、转换数据格式、输入数据、校验数据)、计算机辅助装载(筛选数据、输入数据、校验数据、转换数据、综合数据)。
③、编制与调试应用程序。
④、数据库试运行(联合调试——功能调试、性能调试)。
2.9 数据库系统投入运行后,有哪些维护工作?
答:①、数据库的转储和恢复。
②、数据库的安全性、完整性控制。 ③、数据库性能和监督、分析、改进。 ④、数据库的重组织和重构造。
2.10 在概念设计中,如何把多值属性变换成系统容易实现的形式?
答:①、将原来的多值属性用几个新的单值属性来表示。 ②、将原来的多值属性用一个新的实体类型来表示。
2.11 对联系类型有哪两种约束?试详细解释之。
答:联系类型的约束限制了参与联系的实体数目,有基数约束、参与约束。
基数约束表示了参与一个联系的实体的个数约束,通过映射基数来表达,有1:1,1:N,M:N,M:1四种。
参与约束表示实体集中是部分实体还是全部实体参与联系集中的联系。有部分参与和完全参与两种。
2.12 采用ER模型的数据库概念设计有哪些主要的步骤?
答:①、设计局部ER模型(确定局部结构范围、定义实体、定义联系、分配属性); ②、设计全局ER模型(确定公共实体类型、合并局部ER模型、削除冲突); ③、全局ER模型优化(合并实体类型、消除冗余属性、消除冗余联系);
2.13 在关系模型中,关系具有哪些性质?
答:①、关系中每一个属性值都是不可分解的; ②、关系中不允许出现重复元组;
③、由于关系是一个集合,因此不考虑元组间的顺序,即没有行序; ④、元组的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。
2.14 为什么关系中的元组没有先后顺序?且不允许有重复的元组?
答:因为是集合。(略)
2.15 参照完整性规则使用时,有哪些变通?试举例说明。
答:①、外键和相应的主键可以不同名,只要定义在相同的值域上即可;
②、R1和R2可以是同一个关系模式,此时表示同一个关系中不同元组间的联系; ③、外键值是否允许为空,视具体问题而定。
2.19 ER图转换成关系模式集的具体思想是什么? 答:P55。
2.20 采用ER模型的数据库逻辑设计有哪些步骤?
答:导出初始关系模式集、规范化处理、模式评价、模式修正、设计子模式。
习题3——关系模式设计理论
3.1 名词解释
函数依赖——设有关系模式R(U),X,Y是属性集U的子集,只要r是R有当前关系,对r中的任意两个元组t和s,都有t[X]=s[X]蕴含t[Y]=s[Y],那么就称函数依赖(FD)X→Y在关系模式R(U)中成立。
平凡的函数依赖——对于FD X→Y,如果Y∈X,那么该FD就是平凡的FD。
函数依赖集F的闭包F+——设F为函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合。
属性集X的闭包X+——设F是属性集U上的FD集,X是U的子集,那么属性集X的闭包是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合。
函数依赖的逻辑蕴涵——设F是关系模式R上成立的函数依赖集合,X→Y是一个FD,如果对于R的每一个满足F的关系r也满足X→Y,那么称F逻辑蕴涵X→Y。
函数依赖集的等价——如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。
最小依赖集——满足下面三个条件的函数依赖集G:
1) G中每个FD的右边都是单属性;
2) G中没有冗余的FD。即G中不存在这样的函数依赖X→Y,使
得G-{X→Y}与G等价;
3) G中每个FD的左边没有冗余的属性。即G中不存在这样的函数
依赖X→Y,X有一个真子集W,使得G-{X→Y}U{W→Y}与G等价。
无损分解——设R是一个关系模式,F是R上的一个FD集,R分解成数据库模式。如果对R中满足F的每一个关系r,都有r在数据库中的各关系模式Ri上投影连接后仍为r,则称该数据库模式相对于F是无损分解的。
泛关系假设——在定义无损分解时,先假设存在泛关系r的情况下,再去谈论分解。 Chase过程——P79。 保持函数依赖——P80。
1NF——关系模式的每一个关系的属性值都是不可分的原子值。
2NF——关系模式是1NF,且每一个非主属性都完全函数依赖于候选键。 3NF——关系模式是1NF,且每一个非主属性都不传递依赖于候选键。 BCNF——关系模式是1NF,且每一个属性都不传递依赖于候选键。 MVD——P88。
平凡的MVD——对于属性集U上的MVD X→→Y,如果Y∈X或XY=U。则此MVD是平凡的MVD。
4NF——设D是关系模式R上成立的FD和MVD的集合。如果D中每个非平凡的MVD X→→Y的左部都是R的超键。
3.2 试解释下面两个“数据冗余”的概念:
? 文件系统中不可避免的“数据冗余”
? 关系数据库设计中应尽量避免的“数据冗余” 答:文件系统中的“数据冗余”:由于文件之间缺乏联系,造成每个应用程序都有相应的文件,有可能同样的数据在不同的文件中重复存储。
关系数据库设计中的“数据冗余”:数据库某一关系中多个元组大量重复存储同样的属