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

数据库基础概念与体系结构 - 软考备战(二十九)

数据库系统(一)

参考资料:

终于有人把数据库讲明白了 - 数据集成与治理 - 博客园

数据库基础知识总结 | JavaGuide

一文读懂数据库中的DB、DBMS、DBS、DBAS-云社区-华为云

数据库(一):三级模式与两级映像 - 技术栈

【数据库系统概论】MySQL中三级模式和二级映像指的是什么?开篇 - 小林野夫 - 博客园


目录

数据库系统(一)

5.1. 数据库基础概念与体系结构

5.1.1 核心概念辨析

1. 概念范围递增与包含关系

2. 数据库系统的核心特点

数据结构化(最本质区别)

数据的共享性高、冗余度低、易扩充

数据独立性高

数据由 DBMS 统一管理和控制

5.1.2 数据管理技术的演进(按数据模型分类)

1. 第一代:非关系型(格式化模型)—— 层次与网状

层次模型

网状模型

2. 第二代:关系模型 (RDBMS) —— 当前绝对主流

3. 第三代:对象-关系模型 (ORDBMS)

5.1.3 数据库系统三级模式与两级映像

1. 三级模式结构(从上到下,视角不同)

外模式—— “用户看什么”

模式—— “全局有什么”

内模式—— “底层怎么存”

2. 两级映像(连接三级的桥梁,实现独立性的机制)

外模式/模式映像(定义在外模式中描述)

模式/内模式映像(定义在模式中描述,通常只有一个)


5.1. 数据库基础概念与体系结构

5.1.1 核心概念辨析

1. 概念范围递增与包含关系

数据:描述事物的符号记录。

数据库 (DB):长期储存在计算机内、有组织的、可共享的大量数据的集合。

数据库管理系统 (DBMS):位于用户与操作系统之间的数据管理软件(如 MySQL、Oracle)。它是科学有效地组织和存储数据、获取和维护数据的关键。

数据库系统 (DBS):引入了数据库后的整个计算机系统。

注意:

DBMS不是数据库本身,而是管理数据库的软件

DBS = DB + DBMS + 应用程序 + DBA(数据库管理员) + 硬件平台

2. 数据库系统的核心特点

为什么不用文件系统(如 Excel、TXT)存数据,而非要用数据库?

文件系统具体说明链接:

文件管理 - 软考备战(二十)-CSDN博客

核心在于以下四点:

数据结构化(最本质区别)

文件系统内部是无结构的(如一篇 Word 文档),即使有结构(如 Excel)也只是针对单一文件;

而数据库是全局结构化的,不仅描述数据本身,还描述数据之间的联系(如外键约束)。

数据的共享性高、冗余度低、易扩充

数据面向整个系统,多用户共享,大大减少数据重复存储。

易扩充体现在可以随时增加新的应用而不必修改原有结构。

数据独立性高

通过后面要讲的“两级映像”实现,这是数据库的绝对核心优势。

数据由 DBMS 统一管理和控制

DBMS 提供了以下四个方面的控制功能:

安全性:防止非法用户存取。

完整性:保证数据的正确性、有效性和相容性(如年龄不能是负数)。

并发控制:防止多用户同时操作时产生数据不一致(如超卖)。

数据库恢复:在系统发生故障后,将数据恢复到一致状态(如基于日志的回滚)。

5.1.2 数据管理技术的演进(按数据模型分类)

数据模型是数据库系统的核心和基础。

任何 DBMS 都是基于某种数据模型的。

1. 第一代:非关系型(格式化模型)—— 层次与网状

层次模型

结构:

像一棵倒挂的树(有且只有一个根节点,其他节点有且只有一个父节点)。

本质是1:N(一对多)联系。

优点:结构简单,查询效率高。

缺点:

无法直接表达 M:N(多对多) 关系(必须通过引入冗余节点来转换);

查找子节点必须通过父节点,独立性较差。(代表:IBM的IMS)

网状模型

结构:

像一个图(允许一个节点有多个父节点,节点之间无严格层级)。

本质是可以表达 M:N(多对多) 关系。

优点:能够更直接地描述现实世界。

缺点:

结构极其复杂,用户必须了解系统底层的指针和存取路径,编写应用程序难度极大。

2. 第二代:关系模型 (RDBMS) —— 当前绝对主流

结构:严格的二维表格结构。

革命性优势:

概念单一。

无论是实体(如学生)还是实体间的联系(如选课),全部统一用“表”来表示。

用户完全不需要关心物理存储路径,只需用 SQL 语句告诉系统“要什么”,而不是“怎么找”。

理论基础:严格的数学基础(集合论和关系代数)。

具体SQL内容链接:

SQL学习文档-CSDN博客

3. 第三代:对象-关系模型 (ORDBMS)

背景:

传统关系模型只能处理简单的数据类型(数字、字符串),面对 CAD、多媒体(图像、视频)等复杂数据类型时显得力不从心。

特点:

在关系模型的基础上,吸收了面向对象方法的思想,增加了面向对象的复杂数据类型(如抽象数据类型、继承机制等)。

代表:PostgreSQL 原生支持,Oracle 也扩展了对象特性。

5.1.3 数据库系统三级模式与两级映像

ANSI(美国国家标准学会)提出了数据库系统的三级模式结构——数据独立性

1. 三级模式结构(从上到下,视角不同)

模式

视角

抽象

对应

定义

具体

用途

外模式(子模式)

用户

视图层(最高)

应用程序视图、部分基本表

用户能看到的数据视图

通过DML进行CURD数据库操作

简化终端用户与系统交互,保证数据保密性和安全性

模式(概念模式或逻辑模式)

整体

逻辑层(中间)

逻辑结构基本表

描述全部数据逻辑结构和特征

通过DDL定义结构(对库、表、视图等),不涉及具体值

存储什么数据,以及数据之间的关系

内模式(存储模式)

存储

物理层(最低)

物理结构存储文件

描述数据在物理介质上的存储方式和物理结构

底层数据的存储结构和存取方法

数据文件存盘位置、数据存储方式(顺序、B树、Hash方法)、数据是否加密压缩、表的索引等

外模式—— “用户看什么”

也叫用户模式或子模式。

它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征。

举例:

一个学校系统有“教务外模式”(看课表、成绩)、“财务外模式”(看学费、工资)、“后勤外模式”(看宿舍)。

不同用户看到的内容和权限是完全不同的。

数量:

一个数据库可以有多个外模式(对应不同用户群)。

一个外模式可以被多个应用共享。

模式—— “全局有什么”

也叫逻辑模式或概念模式。

它是数据库中全体数据的逻辑结构和特征的描述,是所有外模式的公共部分。

举例:

包含了学校数据库里所有的表结构(学生表、课程表、教师表、宿舍表等),不考虑这些表在物理上怎么存。

数量:

一个数据库只有一个模式。

它是数据库体系结构的中间层,也是 DBMS 模式定义语言(DDL)描述的核心。

内模式—— “底层怎么存”

也叫存储模式。

它是数据在数据库系统内部的物理存储结构和物理存取方法的描述。

举例:

学生表的数据是存放在 D盘 还是 E盘?

用的是 B+树索引 还是 哈希索引?

数据块的大小是多少?

数量:一个数据库只有一个内模式。

2. 两级映像(连接三级的桥梁,实现独立性的机制)

如果在模式中增加了一个字段,难道要重写所有用户的程序吗?

不需要,这就靠“映像”来缓冲。

外模式/模式映像(定义在外模式中描述)

作用机制:

当模式(全局逻辑结构)发生改变时(例如:把“学生表”拆分成“本科生表”和“研究生表”),数据库管理员(DBA)只需修改“外模式/模式映像”,就可以使外模式保持不变。

产生的效果:

因为外模式没变,应用程序是根据外模式编写的,所以应用程序不用修改。

结论:

保证了数据与程序的逻辑独立性(简称逻辑独立性)。

模式/内模式映像(定义在模式中描述,通常只有一个)

作用机制:

当内模式(物理存储结构或存取方法)发生改变时(例如:为了提高查询速度,把某个字段的索引从 B树 换成 哈希索引,或者换了存储硬盘),DBA 只需修改“模式/内模式映像”,就可以使模式保持不变。

产生的效果:

因为模式没变,外模式自然也不会变,所以应用程序不用修改。

结论:

保证了数据与程序的物理独立性(简称物理独立性)。

http://www.jsqmd.com/news/657826/

相关文章:

  • Tiny-ViT: A Compact Vision Transformer for Efficient and Explainable Potato Leaf Disease Classificat
  • 011、算子中间表示概述:计算图与算子抽象
  • YOLO+ByteTrack路口违章抓拍实战:多目标稳定追踪与违章判定
  • 2026年软件测试工具TOP 10选型指南:趋势洞察与实战决策
  • Android音频调试实战:用dumpsys media.audio_flinger揪出音频卡顿的元凶
  • 如何把MAX31865的精度榨干?STM32驱动PT100三线制测温的校准与优化实战
  • 多SKILL协同推理:双慢病联合决策:SKILL架构下糖尿病与高血压的协同诊疗体系.147
  • 新能源汽车整车控制器VCU学习模型:初学者的快速入门指南
  • 智能代码生成风格一致性落地指南(2024企业级实践白皮书)
  • 012、张量与数据布局:内存模型与对齐策略
  • 从Urbannav真值话题到NavSatFix:手把手教你转换GPS数据格式用于ROS定位评估
  • 2026最权威的AI科研网站推荐
  • 智能排版:核心功能解析与效率提升实践指南
  • Java雪花算法实战:从原理剖析到高并发场景下的ID生成器实现
  • 保姆级教程:用Python和COCO API搞定MSCOCO数据集下载、解析与可视化
  • 016、LangChain进阶:Memory、Retriever与工程化组织,才是你真正该补的部分
  • 从UML到LLM,AI设计模式生成全链路拆解,深度解析SITS2026现场验证的8项关键指标
  • 告别裸机调试:在ZYNQ上为自定义AXI-Stream IP核编写PS端驱动的心路历程
  • 小智AI融合火山引擎ASR:实战双向流式与智能负载均衡架构
  • 瑞萨RZN2L EtherCAT从机配置全流程:从TwinCAT3驱动到IO测试(避坑指南)
  • 别再复制粘贴了!详解OLED字库取模与在单片机中的高效使用技巧
  • 瀚高数据库安全版4.5.8系列使用pg_cron定时任务
  • 国民技术 N32G031K8L7 LQFP-32 单片机
  • 低代码平台,开启企业数字化创新新时代!
  • UART IP验证不止收发数据:深入解读SVT UART BFM与Sequence的进阶玩法
  • 雨雾天锥桶识别掉点50%?YOLOv11+轻量去雾实战,召回率从42%提升至92%
  • C++ 装饰器模式
  • 模板:效率提升核心工具的选型指南与实用场景汇总
  • 空洞骑士模组管理终极指南:Scarab一键安装与智能依赖解析
  • 告别近似!用MATLAB手把手复现SAR波数域WK算法(附完整代码与Stolt插值避坑指南)