1. 数据库设计基础概念解析
数据库作为现代信息系统的核心组件,其设计质量直接影响着整个系统的性能和可维护性。在软考架构师考试中,数据库设计是必考的重点内容,也是实际工作中架构师必须掌握的核心技能。本章将从基础概念出发,系统性地梳理数据库设计的完整知识体系。
1.1 数据管理技术演进历程
数据管理技术经历了三个主要发展阶段,每个阶段都有其鲜明的特点和局限性:
人工管理阶段(1950年代前)
- 数据与程序直接绑定,没有专门的存储介质
- 数据无法长期保存,每次运行程序都需要重新输入
- 典型场景:早期的科学计算,如弹道轨迹计算
提示:这个阶段的数据管理方式现在看起来非常原始,但在当时计算机资源极度匮乏的背景下,这种"现用现算"的方式反而是最合理的解决方案。
文件系统阶段(1950-1960年代)
- 操作系统开始提供文件管理功能
- 数据可以长期保存在磁盘等存储介质上
- 出现了顺序文件、索引文件等多种组织形式
- 典型代表:COBOL语言的文件处理功能
这个阶段虽然解决了数据持久化问题,但仍然存在几个关键缺陷:
- 数据冗余:相同数据在不同文件中重复存储
- 不一致性:冗余数据更新时可能不同步
- 数据孤立:不同文件间的关联性很弱
数据库系统阶段(1970年代至今)
- 采用统一的数据模型组织数据
- 通过DBMS集中管理数据资源
- 提供数据独立性保障机制
- 典型代表:Oracle、MySQL等关系型数据库
数据库系统与文件系统的本质区别在于:
- 数据结构化程度不同
- 数据共享能力不同
- 数据控制能力不同
- 程序与数据的独立性不同
1.2 数据库系统核心组成
一个完整的数据库系统包含四个关键组成部分:
1. 数据库(DB)
- 长期存储在计算机内的有组织数据集合
- 特点:数据联系密切、冗余度小、独立性高
- 示例:学生管理系统的所有数据表
2. 硬件
- 存储数据的物理设备
- 包括存储介质、I/O设备、网络设备等
- 性能直接影响数据库的响应速度
3. 软件
- 数据库管理系统(DBMS)是核心软件
- 还包括操作系统、开发工具等
- 负责数据定义、操纵、控制等功能
4. 人员
- 数据库管理员(DBA):负责系统管理
- 系统分析员:负责需求分析和设计
- 应用程序员:负责开发应用系统
- 终端用户:使用数据库系统的各类人员
1.3 数据库三级模式结构
数据库系统采用三级模式结构来实现数据独立性,这是理解数据库架构的关键:
三级模式对比
| 模式层级 | 别名 | 描述 | 对应对象 | 数量 |
|---|---|---|---|---|
| 外模式 | 用户模式/子模式 | 用户看到的数据视图 | 视图 | 多个 |
| 模式 | 概念模 |
