当前位置: 首页 > news >正文

【2025软考高级架构师】——数据库系统(10)

摘要

本文主要介绍了数据库模式和分布式数据库的相关知识。在数据库模式部分,阐述了数据库的三级模式结构,包括用户级数据库、概念级数据库和物理级数据库,以及关系的三种类型和数据库视图的特点及优点。在分布式数据库部分,介绍了分布式数据库的特点,如数据独立性、集中与自治共享结合的控制结构、适当增加数据冗余度等,以及硬件系统、系统软件和应用软件对数据库优化的影响,还涉及了集中式数据库优化和分布式数据库优化的方法。

1. 数据库模式

2. 分布式数据库

在分布式数据库系统中,除了集中式数据库的外模式、概念模式和内模式外,还引入了分片模式分布模式等额外模式以管理数据的分布特性。题目要求选择定义数据整体逻辑结构、使数据使用如同未分布的模式:

  • 全局概念模式(D):描述分布式数据库中所有数据的整体逻辑结构,屏蔽了数据的物理分布细节,为用户提供统一的访问接口,使其感知不到数据的分片与分布。这是符合题意的核心答案。
  • 分片模式(A):定义数据如何分片(如水平/垂直划分),属于物理分布的设计,而非整体逻辑结构。
  • 分布模式(C):描述数据在物理节点上的分布情况,属于存储层面的设计。
  • 全局外模式(B):通常是全局概念模式的子集,针对不同用户群体定义外部视图,并非整体逻辑结构。

3. 数据库设计

  1. 需求分析阶段:收集用户需求,明确数据范围和功能,不涉及具体结构设计。
  2. 概念设计阶段:通过ER图描述实体、属性及关系,关注高层次逻辑结构,尚未涉及表的分解与规范化。
  3. 逻辑设计阶段
    • 将概念模型转换为关系模型(如设计表结构、定义主键/外键)。
    • 应用关系规范化理论(如1NF、2NF、3NF等),消除冗余数据,避免更新异常。
    • 核心目标是优化数据结构,确保逻辑合理性与高效性。
  1. 物理设计阶段:关注存储引擎、索引、分区等物理实现细节,与规范化无关。

在数据库设计的需求分析阶段,核心任务是明确用户需求和数据需求,产出物主要包括描述数据流程及定义的文档。以下是对各选项的分析:

  • A. E-R图:属于概念设计阶段的产物,用于建模实体、属性及关系,需求分析阶段尚未涉及具体结构设计。
  • B. 关系模式:属于逻辑设计阶段,将概念模型转换为具体的表结构(如定义主键、外键),与需求分析无关。
  • C. 数据字典和数据流图
    • 数据字典:详细定义数据元素(如字段名称、类型、约束),明确数据含义与规则。
    • 数据流图:描述系统中数据的流动、处理过程及存储,帮助理解业务流程和数据需求。
      这两者是需求分析阶段的核心文档,用于清晰表达数据需求和系统功能。
  • D. 任务书和设计方案
    • 任务书:通常属于项目初期规划文档(如立项或合同要求),非需求分析阶段产出。
    • 设计方案:属于后续设计阶段(如总体架构设计),需基于需求分析结果制定。

4. 概念设计

5. 数据模型

6. 逻辑结构设计

在数据库逻辑结构设计中,将E-R模型转换为关系模型时,三个不同实体集之间的多对多联系(m:n:p)通常指三元联系(即三个实体两两之间均存在多对多关联)。根据转换规则:

  1. 每个实体集需转换为一个独立的关系模式(表),共 3个
  2. 三元联系需单独转换为一个关系模式,包含三个实体的主键作为外键,共 1个

因此,最少需要转换为 3(实体) + 1(三元联系) = 4 个关系模式

答案:C. 4

关键解析:

  • 实体转换:每个实体对应一个表,存储其属性及主键。
  • 三元联系处理:多对多联系无法通过外键直接关联,必须单独建表,包含所有参与实体的主键。
  • 最少情况:若联系为严格的三元关联(非多个二元联系组合),则必须单独建表,无法进一步合并。

总结:三个实体及其三元联系共需 4个关系模式

7. 关系代数

8. 规范化

9. ACID特性

10. 分库分表设计

11. NoSQL数据库

博文参考

相关文章:

  • 用Ensaio下载GIS数据
  • 论微服务架构及其应用
  • C++ STL vector容器详解:从原理到实践
  • # 基于词袋模型(BoW)的猫狗图像分类实践
  • 项目管理进阶:深入学习企业软件研发管理体系架构方案【附全文阅读】
  • 基于 JSP 和 Servlet 的数字信息分析小应用
  • 算法笔记。质数筛算法
  • 琴生不等式 (Jensen‘s Inequality)
  • 【quantity】7 角度单位模块(angle.rs)
  • 论系统安全架构设计及其应用
  • Vibe Coding 新时代:AI 辅助编程完全指南
  • 从融智学视域快速回顾世界历史和主要语言文字最初历史证据(列表对照分析比较)
  • JavaScript中的AES加密与解密:原理、代码与实战
  • 一篇文章看懂web服务
  • C与指针4——指针
  • 04 基于 STM32 的时钟展示程序
  • js单调栈解题模板
  • [UVM]UVM中reg_map的作用及多个rem_map的使用案例
  • QNAP Duplicati 备份 123云盘
  • Learning vtkjs之Cutter
  • 医生李某某饮酒上班?重庆长寿区人民医院:正在调查,将严肃处理
  • 马斯克“星舰基地”成为新城镇,首任市长为SpaceX员工
  • 《开始推理吧3》:演员没包袱,推理更共情
  • 一金两银一铜!中国田径从柯桥望向世界大赛
  • 准80后遵义市自然资源局局长陈清松任仁怀市委副书记、代市长
  • 传奇落幕!波波维奇卸任马刺队主教练,转型全职球队总裁