【2025软考高级架构师】——数据库系统(10)
摘要
本文主要介绍了数据库模式和分布式数据库的相关知识。在数据库模式部分,阐述了数据库的三级模式结构,包括用户级数据库、概念级数据库和物理级数据库,以及关系的三种类型和数据库视图的特点及优点。在分布式数据库部分,介绍了分布式数据库的特点,如数据独立性、集中与自治共享结合的控制结构、适当增加数据冗余度等,以及硬件系统、系统软件和应用软件对数据库优化的影响,还涉及了集中式数据库优化和分布式数据库优化的方法。
1. 数据库模式
2. 分布式数据库
在分布式数据库系统中,除了集中式数据库的外模式、概念模式和内模式外,还引入了分片模式、分布模式等额外模式以管理数据的分布特性。题目要求选择定义数据整体逻辑结构、使数据使用如同未分布的模式:
- 全局概念模式(D):描述分布式数据库中所有数据的整体逻辑结构,屏蔽了数据的物理分布细节,为用户提供统一的访问接口,使其感知不到数据的分片与分布。这是符合题意的核心答案。
- 分片模式(A):定义数据如何分片(如水平/垂直划分),属于物理分布的设计,而非整体逻辑结构。
- 分布模式(C):描述数据在物理节点上的分布情况,属于存储层面的设计。
- 全局外模式(B):通常是全局概念模式的子集,针对不同用户群体定义外部视图,并非整体逻辑结构。
3. 数据库设计
- 需求分析阶段:收集用户需求,明确数据范围和功能,不涉及具体结构设计。
- 概念设计阶段:通过ER图描述实体、属性及关系,关注高层次逻辑结构,尚未涉及表的分解与规范化。
- 逻辑设计阶段:
-
- 将概念模型转换为关系模型(如设计表结构、定义主键/外键)。
- 应用关系规范化理论(如1NF、2NF、3NF等),消除冗余数据,避免更新异常。
- 核心目标是优化数据结构,确保逻辑合理性与高效性。
- 物理设计阶段:关注存储引擎、索引、分区等物理实现细节,与规范化无关。
在数据库设计的需求分析阶段,核心任务是明确用户需求和数据需求,产出物主要包括描述数据流程及定义的文档。以下是对各选项的分析:
- A. E-R图:属于概念设计阶段的产物,用于建模实体、属性及关系,需求分析阶段尚未涉及具体结构设计。
- B. 关系模式:属于逻辑设计阶段,将概念模型转换为具体的表结构(如定义主键、外键),与需求分析无关。
- C. 数据字典和数据流图:
-
- 数据字典:详细定义数据元素(如字段名称、类型、约束),明确数据含义与规则。
- 数据流图:描述系统中数据的流动、处理过程及存储,帮助理解业务流程和数据需求。
这两者是需求分析阶段的核心文档,用于清晰表达数据需求和系统功能。
- D. 任务书和设计方案:
-
- 任务书:通常属于项目初期规划文档(如立项或合同要求),非需求分析阶段产出。
- 设计方案:属于后续设计阶段(如总体架构设计),需基于需求分析结果制定。
4. 概念设计
5. 数据模型
6. 逻辑结构设计
在数据库逻辑结构设计中,将E-R模型转换为关系模型时,三个不同实体集之间的多对多联系(m:n:p)通常指三元联系(即三个实体两两之间均存在多对多关联)。根据转换规则:
- 每个实体集需转换为一个独立的关系模式(表),共 3个。
- 三元联系需单独转换为一个关系模式,包含三个实体的主键作为外键,共 1个。
因此,最少需要转换为 3(实体) + 1(三元联系) = 4 个关系模式。
答案:C. 4
关键解析:
- 实体转换:每个实体对应一个表,存储其属性及主键。
- 三元联系处理:多对多联系无法通过外键直接关联,必须单独建表,包含所有参与实体的主键。
- 最少情况:若联系为严格的三元关联(非多个二元联系组合),则必须单独建表,无法进一步合并。
总结:三个实体及其三元联系共需 4个关系模式。