--- title: 数据库基础概念 tags: - module - database - foundation - joplin type: module source_type: reconstructed created: 2026-04-22 updated: 2026-04-22 --- # 数据库基础概念 > [!abstract] > 这一模块负责打底:先明确数据库系统是什么、为什么出现,以及它为什么比文件系统更适合管理共享数据。 ## 模块结论 - [[数据库系统]] 的核心价值是让数据从“程序私有文件”变成“可共享、可约束、可统一管理的资源”。 - [[三级模式与二级映像]] 是数据库独立性的理论骨架,决定了应用、逻辑结构和物理存储如何解耦。 - 数据模型决定“如何描述世界中的数据关系”,而关系模型之所以成为主流,是因为它抽象统一且易于操作。 ## 一、数据库系统到底是什么 - 数据库 DB:长期存储、有组织、可共享的数据集合。 - 数据库管理系统 DBMS:负责定义、操纵、维护和控制数据库的软件。 - 数据库系统 DBS:DB、DBMS、应用程序和用户构成的整体。 ### DBMS 的核心职责 - 数据定义:组织表、模式、约束等结构。 - 数据操作:提供查询、插入、删除、更新等能力。 - 数据控制:负责安全性、完整性、并发控制和恢复。 - 数据维护:保证长期运行中的一致性与可用性。 ## 二、数据库系统为什么优于文件系统 ### 文件系统的主要局限 - 数据冗余高,同一信息可能散落在多个文件中。 - 程序和数据绑定紧,结构一改,应用往往跟着改。 - 查询能力弱,跨文件关联和复杂统计困难。 - 一致性和安全性依赖各个应用程序自行保证。 ### 数据库系统的优势 - 数据共享性高,冗余低。 - 支持逻辑独立性和物理独立性。 - 通过统一约束机制保证一致性。 - 由 DBMS 集中管理权限、并发和恢复。 ## 三、数据模型是怎么来的 - 数据模型是描述数据结构、数据操作和完整性约束的抽象工具。 - 常见模型包括层次模型、网状模型、关系模型和对象模型。 - 复习重点是理解模型在“表达能力”和“使用复杂度”上的权衡。 ### 常见模型的直观对比 - 层次模型:像树,适合一对多,但多对多表达不方便。 - 网状模型:能表示复杂关系,但结构和操作都偏复杂。 - [[关系模型]]:用二维表表示数据,抽象统一、便于查询和教学。 - 对象模型:支持复杂对象,适合更丰富的数据类型场景。 ## 四、三级模式与二级映像 - 外模式:用户或应用看到的局部视图。 - 模式:全体数据的整体逻辑结构。 - 内模式:数据实际存储方式和物理组织。 ### 两个映像解决什么问题 - 外模式/模式映像:保证逻辑独立性。 - 模式/内模式映像:保证物理独立性。 ### 为什么这套结构重要 - 应用程序通常不该直接依赖底层存储细节。 - 库表逻辑调整时,也不应让所有外部应用一起重写。 - 所以三层结构本质是在做“变化隔离”。 ## 五、数据库系统的核心特征 - 数据结构化:不是零散文件,而是按模型组织。 - 数据共享性:多用户、多应用可以共同使用同一份数据。 - 数据独立性:上层逻辑与底层存储尽量解耦。 - 统一管理:安全、完整性、并发、恢复由系统统一负责。 ## 六、易错点 - 不要把 DB、DBMS、DBS 混为同一个概念。 - 数据独立性不是“完全不用改程序”,而是降低改动影响范围。 - 三级模式是抽象分层,不等于数据库里一定只有三张“真实表”。 ## 七、复习提问 - 数据库系统比文件系统多解决了哪些关键问题? - 为什么三级模式与二级映像能支撑数据独立性? - 数据模型的“结构、操作、约束”三部分分别在说什么? ## 来源 - [[raw/Joplin/计算机专业基础/数据库/_计算机考研复试数据库核心知识点整理.md]] - [[raw/Joplin/计算机专业基础/数据库/1.数据库——基础概念.md]] ## 相关页面 - [[数据库]] - [[关系数据库核心]] - [[数据库系统]] - [[三级模式与二级映像]]