☰
数据库绪论全解:CS-Xmind-Note 408 数据库开篇——数据管理演进、数据模型与三级模式体系
2026/10/3 8:23:48 网站建设 项目流程
  • 文档
  • 教程
  • 知识库

【免费下载链接】CS-Xmind-Note

计算机专业课(408)思维导图和笔记:计算机组成原理(第五版 王爱英),数据结构(王道),计算机网络(第七版 谢希仁),操作系统(第四版 汤小丹)

项目地址:https://gitcode.com/gh_mirrors/cs/CS-Xmind-Note
点击查看免费下载

本文基于开源仓库 CS-Xmind-Note 中 数据库绪论 思维导图笔记整理而成,面向 408 计算机统考与数据库入门读者。文章系统梳理数据管理的三个阶段、数据库基本术语、数据模型与概念模型、三种基本数据模型(层次/网状/关系)以及数据库系统"三级模式—两级映象"体系结构,并对照仓库内 关系模型、数据库设计 等相邻章节做纵深补充。读完本文,你将掌握数据库绪论的全部考点,能区分概念模型与数据模型、讲清数据独立性的实现原理,并为后续学习关系代数与 SQL 打下基础。该笔记对应的完整思维导图与 XMind 源文件位于 数据库/1数据库绪论 目录,仓库总览见 数据库/数据库.md。

一、数据管理的三个阶段

数据库技术不是凭空产生的,它的发展脉络可以归纳为三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。理解三个阶段各自的背景、数据特征与局限性,是理解"数据库系统为何出现"的起点。

1.1 人工管理阶段

人工管理阶段处于计算机应用早期,这一阶段的基本特征如下:

  • 数据不长期保存:计算机主要用于科学计算,数据随程序运行而进、随程序结束而亡,一般不需要将数据长期保存在外存上;
  • 应用程序自己管理数据:没有专门的数据管理软件,数据的管理(包括存储结构、存取方式、输入输出)完全由程序员在应用程序中设计;
  • 数据不共享:数据面向单个应用程序,一组数据只对应一个程序,程序之间存在大量数据冗余;
  • 数据不具有独立性:数据的逻辑结构与物理结构高度耦合,一旦存储结构发生变化,程序必须随之修改。

1.2 文件系统阶段

文件系统阶段(20 世纪 50 年代后期到 60 年代中期)出现了专门管理数据的文件系统软件,特征与局限包括:

  • 数据可以长期保存:数据以文件形式存放在磁盘等外存上,可反复进行查询、修改、插入、删除等操作;
  • 由文件系统管理数据:文件系统负责数据的逻辑结构与物理结构之间的转换,应用程序与文件之间通过文件系统衔接;
  • 数据共享性差:文件仍基本面向某个或某些应用,文件之间相互独立、彼此孤立,数据冗余度大;
  • 数据独立性差:文件系统中的数据虽有了逻辑结构与物理结构的区分,但文件记录的结构一旦改变,仍需修改应用程序;且文件之间缺乏整体结构,文件记录内部有结构、记录之间没有联系;
  • 文件系统的管理粒度是"文件级",无法精细地描述现实世界中实体之间的复杂联系。

1.3 数据库系统阶段

数据库系统阶段(20 世纪 60 年代后期以来)真正解决了数据管理中的核心矛盾,其基本特征与后续各节的基本术语一一对应:

  • 数据结构化:数据库中的数据不再面向某个应用,而是面向整个系统,按照某种数据模型组织,不仅描述数据本身,还描述数据之间的联系;
  • 数据共享性高、冗余度低:数据集中管理,可被多个用户、多个应用共享,同一数据重复存储的冗余程度显著下降;
  • 数据独立性高:通过"三级模式—两级映象"体系结构(见第九节),实现了数据的逻辑独立性与物理独立性;
  • 统一管理与控制:数据库管理系统(DBMS)提供数据的安全性(Security)、完整性(Integrity)、并发(Concurrency)控制和数据库恢复(Recovery)四方面能力,保证数据正确、安全、可靠。

1.4 三阶段对比速查

对比维度人工管理阶段文件系统阶段数据库系统阶段
数据保存不保存,随程序消亡可长期保存于外存长期保存在外存(存储器)
管理软件应用程序自身文件系统数据库管理系统(DBMS)
数据共享不共享,程序私有共享性差,冗余大共享性高,冗余度低
数据独立性无独立性逻辑/物理结构有区分但独立性差逻辑独立性与物理独立性
数据结构化程度无记录内有结构、整体无结构整体结构化,并描述联系

二、数据库基本术语

这一节是全书的概念基石,仓库笔记给出了各术语的精确界定,本节逐条展开并补充理解要点。

2.1 数据(Data)

  • 数据是计算机用来描述事物的记录,包括文字、图形、图像、声音等符号记录;
  • 关键点:数据的形式本身并不能完全表达其内容,必须经过语义解释(semantics)。也就是说,数据与其语义是不可分的。例如2026001这个字符串,单独看没有意义,只有结合"学号"这一语义它才成为一条有意义的数据。

2.2 数据库(Database,DB)

  • 数据库是长期存储在计算机内的、有结构的、大量的、共享的数据集合;
  • 四个限定词缺一不可:"长期存储"区别于临时数据,"有结构"强调按数据模型组织,"大量"体现数据规模,"共享"体现多用户可复用;
  • 数据库中的数据按某种数据模型组织与描述,具有较小的冗余度、较高的数据独立性和易扩展性。

2.3 数据库管理系统(DBMS)

  • DBMS 是位于用户与操作系统之间的一层数据管理软件;
  • 数据库在建立、运用和维护时,由 DBMS 统一管理、统一控制;
  • DBMS 是数据库系统的核心软件,其职能包括:数据定义(DDL)、数据操纵(DML)、数据库的运行管理(安全性、完整性、并发控制、恢复)以及数据库的建立与维护。

2.4 数据库系统(DBS)

  • 数据库系统是指在计算机系统中引入数据库后的系统构成;
  • 它一般由四部分构成:数据库(DB)、数据库管理系统(DBMS)及其开发工具、应用系统、数据库管理员(DBA)和用户;
  • 注意区分三组概念:数据库(DB)是数据的集合,数据库管理系统(DBMS)是管理数据的软件,数据库系统(DBS)是包含数据库与软件、人员的完整系统——这是考试常考的辨析点。

2.5 数据冗余度

  • 指同一数据重复存储时的重复程度;
  • 冗余度过高会浪费存储空间、造成数据不一致(更新异常);但"零冗余"也未必最优,适当的冗余可以换取更高的查询性能,数据库设计时需要在冗余与效率之间权衡。

2.6 数据的安全性(Security)

  • 数据的安全性是指保护数据,防止不合法使用数据造成数据的泄密和破坏;
  • 目标是使每个用户只能按规定,对某些数据以某些方式进行访问和处理,即通过授权与权限控制实现"该看的能看、不该看的看不到"。

2.7 数据的完整性(Integrity)

  • 数据的完整性指数据的正确性、有效性和相容性;
  • 具体表现:将数据控制在有效的范围内(如学生成绩在 0~100 之间),或要求数据之间满足一定的关系(如"某班人数"与"该班学生记录数"一致);
  • 安全性与完整性的区别:安全性防止非法用户的非法操作,完整性防止合法用户的不合法数据。

2.8 并发(Concurrency)控制

  • 当多个用户的并发进程同时存取、修改数据库时,可能发生相互干扰而得到错误结果,并使数据库的完整性遭到破坏;
  • 因此 DBMS必须对多用户的并发操作加以控制和协调。并发控制涉及的丢失修改、不可重复读、读"脏"数据等问题,在仓库 并发控制 章节中有系统展开。

2.9 数据库恢复(Recovery)

  • 计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏,都可能影响数据库中数据的正确性,甚至造成部分或全部数据的丢失;
  • 因此 DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(也称为完整状态或一致状态)的功能;
  • 恢复的实现技术(数据转储与日志文件)详见仓库 数据库恢复技术 章节。

三、数据库的三要素

从物理构成角度,一个数据库系统离不开三要素:

  1. 数据:描述事物的符号记录,是数据库里面存储的内容;
  2. 存储器:外存(一般是硬盘),是数据库的载体;
  3. 数据库管理系统(DBMS):数据库的管理软件。

三要素之间的关系可以概括为:数据存储在存储器上,由 DBMS 统一管理,供应用系统与用户使用。

四、数据模型

4.1 模型与数据模型

  • 模型:是现实世界特征的模拟和抽象;
  • 数据模型:也是一种模型,它是现实世界数据特征的抽象,用来表示实体以及实体间的联系;
  • 更形式化的定义:数据模型是一个用于描述数据、数据间关系、数据语义和数据约束的概念工具的集合。

4.2 两级模型的抽象:概念模型与数据模型

数据建模过程通常经过两次抽象,形成两级模型:

  • 概念模型(也称信息模型,用于信息世界建模):
    • 按用户的观点来对数据和信息建模,主要用于数据库设计;
    • 强调语义表达能力,能较方便、直接地表达应用中的各种语义知识;
    • 要求概念简单、清晰、易于用户理解,是用户和数据库设计人员之间进行交流的语言(典型代表是 E-R 图)。
  • 数据模型(如层次、网状、关系模型,用于机器世界):
    • 按计算机系统的观点对数据建模,主要用于DBMS 的实现;
    • 通常需要严格的形式化定义,并加上一些限制或规定以便于机器实现;
    • 通常还有一组严格定义了语法和语义的语言,人们使用它来定义、操纵数据库中的数据。

两级抽象之间的桥梁是:设计阶段先用概念模型描述现实世界,再将其转换为机器可实现的数据模型。

4.3 数据模型的三要素

一个完整的数据模型由三要素构成,这是数据库理论中的核心考点:

  1. 数据结构(Data Structure):
    • 数据结构是所研究的对象类型(Object Type)的集合,这些对象是数据库的组成部分;
    • 可分为两类:一类与数据类型、内容、性质有关,如网状模型中的数据项、记录,关系模型中的属性、关系等;另一类与数据之间的联系有关,如网状模型中的系型(Set Type)等;
    • 数据结构描述的是系统的静态特性。
  2. 数据操作(Data Manipulation):
    • 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合;
    • 数据库主要有**检索(查询)和更新(插入、删除、修改)**两大类操作;
    • 数据操作描述的是系统的动态特性。
  3. 数据的约束条件(Integrity Constraints):
    • 数据的约束条件是完整性规则的集合;
    • 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据状态以及状态的变化,保证数据的正确、有效、相容。

一句话总结:数据结构刻画"是什么",数据操作刻画"能做什么",数据约束刻画"必须满足什么条件"。

五、概念模型的基本术语

概念模型用于信息世界的建模,其最基本的术语包括:

术语英文定义示例
实体Entity客观存在并可相互区别的事物;可以是具体的人、事、物,也可以是抽象的概念或联系学生、部门、课程、银行帐户、选课、订货、演出、比赛
属性Attribute实体所具有的某一特性学生实体的学号、姓名、性别、出生年月、系、入学时间
码(关键字)Key唯一标识实体的(最小的)属性集学生实体的码是学号
域Domain属性的取值范围学号的域为 8 位整数;姓名的域为字符串集合;性别的域为 {男,女}
实体型Entity Type用实体名及其属性名集合来抽象和刻划同类实体学生(学号,姓名,性别,出生年月,系,入学时间)
实体集Entity Set同型实体的集合全体学生就是一个实体集
联系Relationship事物内部以及事物之间的联系,在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系属性之间的联系、不同实体集之间的联系

注意辨析:实体型是"型"(结构描述),实体集是"值"(具体实例的集合),这与后文"关系模式是型、关系是值"的区分一脉相承。

六、实体间联系的种类

现实世界中实体间的联系可归为三类,在概念模型中分别记为 1:1、1:n、m:n:

6.1 一对一联系(1:1)

  • 定义:若对于实体集 A 中的每一个实体,实体集 B 中至多有一个实体与之联系,反之亦然,则称实体集 A 与实体集 B 具有一对一联系,记为1:1;
  • 实例:一个班级只有一个班长,一个班长只属于一个班级;一个系只有一个系主任,一个系主任只领导一个系。

6.2 一对多联系(1:n)

  • 定义:若对于实体集 A 中的每一个实体,实体集 B 中有n 个实体(n≥0)与之联系;反之,对于实体集 B 中的每一个实体,实体集 A 中至多只有一个实体与之联系,则称实体集 A 与实体集 B 具有一对多联系,记为1:n;
  • 实例:一个班级有多名学生,而一个学生只属于一个班级(班级 1:n 学生)。

6.3 多对多联系(m:n)

  • 定义:若对于实体集 A 中的每一个实体,实体集 B 中有 **n 个实体(n≥0)**与之联系;反之,对于实体集 B 中的每一个实体,实体集 A 中也有 **m 个实体(m≥0)**与之联系,则称实体集 A 与实体集 B 具有多对多联系,记为m:n;
  • 实例:一名学生选修多门课程,一门课程被多名学生选修(学生 m:n 课程)。

补充:三种联系之间可以互相转化,多对多联系在关系数据库中通常需要拆解为两个一对多联系并通过中间关系实现,这一思想在仓库 数据库设计 的"E-R 图向关系模式转换"部分有具体规则。

七、概念模型的表示方法:E-R 图

E-R 图(Entity-Relationship Diagram)是概念模型最经典的表示方法,由 P. P. Chen 于 1976 年提出。绘制规则如下:

  1. 长方形表示实体型,框内写上实体名;
  2. 椭圆表示实体的属性,并用无向边把实体和属性连接起来;
  3. 菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型(1:1、1:n 或 m:n);若实体之间联系也具有属性,则把属性和菱形也用无向边连接上。

典型示例:学生选课 E-R 图——"学生"实体(属性:学号、姓名、性别)与"课程"实体(属性:课程号、课程名)通过菱形"选修"联系相连,边旁标注 m:n,选修联系自身带有属性"成绩"。

仓库 数据库设计 对 E-R 图还有更深入的补充,可作为本节的延伸阅读:

  • 要点重申:长方形—实体、椭圆—属性、菱形—联系,无向边连接;
  • E-R 图集成的三类冲突:
    • 属性冲突:属性域冲突(值的类型、取值范围或取值集合不同)、属性取值单位冲突;
    • 命名冲突:同名异义、异名同义(一义多名);
    • 结构冲突:同一对象在不同应用中抽象不同(如"教材"在某应用中是实体、在另一应用中是属性)、同一实体在不同局部视图中的属性集合或次序不同、实体间联系在不同局部视图中呈现不同类型。

八、三种基本数据模型

按计算机系统观点建模的数据模型主要有三种,仓库笔记逐一给出了其数据结构与特点。

8.1 层次模型(Hierarchical Model)

  • 最早使用的一种模型,典型代表是 1968 年 IBM 的 IMS 系统;
  • 数据结构是一棵有向树;
  • 特点:
    1. 有且仅有一个结点无双亲,该结点称为根结点;
    2. 其他结点有且只有一个双亲;
  • 局限性:只能直接表示一对多联系,对多对多联系需要借助冗余结点或虚拟结点间接表示。

8.2 网状模型(Network Model)

  • 数据结构是一个有向图;
  • 特点:
    1. 允许有一个以上的结点没有双亲;
    2. 允许结点有多于一个的双亲;
  • 优点:能表示实体之间的多种复杂联系,如多对多联系可以自然、直接地表示;缺点是结构复杂,用户不易掌握,数据操纵语言也较繁琐。

8.3 关系模型(Relational Model)

  • 关系模型是用二维表格结构来表示实体及实体之间的联系的模型;
  • 数据结构是一个**"二维表框架"组成的集合**;
  • 优点:概念简单、清晰,用户易懂易用,有严格的数学基础;
  • 正因为这些优点,大多数数据库系统都是关系型的(如 MySQL、Oracle、SQL Server、PostgreSQL 等)。

关系模型的主要术语:

术语含义
关系一个关系对应于我们平常讲的一张表
元组表中的一行称为一个元组
属性表中的一列称为属性,每列的名称为属性名
主码表中的某个属性组,它们的值唯一的标识一个元组
域属性的取值范围
分量元组中的一个属性值
关系模式对关系的描述,用关系名(属性名1,属性名2,…,属性名n)来表示

关系模型的三个特点:

  1. 概念单一:实体或实体之间的联系都用关系(表)表示,在用户观点里数据的逻辑结构就是表;
  2. 关系必须是规范化的关系:每一个关系模式要满足一定的规范条件,其最基本的要求是每一个分量是一个不可分的数据项,即不允许表中还有表;
  3. 用户对数据的检索操作不过是从原来的表中得到一张新的表:无论是原始数据还是结果数据都是同一种数据结构——二维表;数据操作是集合操作(操作对象和操作结果都是若干元组的集合),而非非关系模型中单记录的操作方式;同时把存取路径向用户隐藏起来,提高了数据的独立性。

关系模型的纵深补充:仓库 关系模型 章节对关系模型做了完整展开,核心内容包括:

  • 关系模型组成的三要素:关系数据结构、关系操作集合、关系完整性约束;
  • 基本关系的六大性质:
    1. 列是同质的(Homogeneous)——每一列中的分量是同一类型的数据,来自同一个域;
    2. 不同的列可出自同一个域——其中的每一列称为一个属性,不同属性要给予不同的属性名;
    3. 列的顺序无所谓——列的次序可以任意交换(如 ORACLE 增加新属性时永远插至最后一列;也有产品如 FoxPro 仍区分属性顺序);
    4. 任意两个元组的候选码不能完全相同——候选码是能唯一标识一个元组的属性或属性组,有多个候选码时选一个作为主码;
    5. 行的顺序无所谓——行的次序可以任意交换;
    6. 分量必须取原子值——每一个分量都必须是不可分的数据项。
  • 关系模型中的三类完整性约束:实体完整性、参照完整性(外码 Foreign Key)、用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性,应由关系系统自动支持。

九、数据库系统的体系结构:三级模式与两级映象

数据库系统的体系结构是绪论中最重要的考点,其核心思想是"三级模式结构 + 两级映象功能",最终目的是保证数据的独立性。

9.1 三层模式

  1. 外模式(External Schema):
    • 又称用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图;
    • 描述数据库用户可以看见和使用的局部数据的逻辑结构和特征;
    • 一个数据库通常有多个外模式;一个应用程序只能使用一个外模式,但同一外模式可为多个应用程序所用。
  2. 模式(Schema):
    • 可细分为概念模式和逻辑模式,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述;
    • 一个数据库只有一个模式;
    • 模式不但要描述数据的逻辑结构,还要描述数据之间的联系、数据的完整性、安全性要求。
  3. 内模式(Internal Schema):
    • 又称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式;
    • 一个数据库只有一个内模式;
    • 内模式并不涉及物理记录,也不涉及硬件设备(即它仍属于逻辑—存储层描述,不直接面向具体磁盘设备)。

三层模式的关系:数据库模式是数据库的核心和关键,外模式通常是模式的子集。数据按外模式的描述提供给用户,按内模式的描述存储在硬盘上;模式介于外、内模式之间,既不涉及外部的访问,也不涉及内部的存储,从而起到隔离作用,有利于保持数据的独立性。内模式依赖于全局逻辑结构,但可以独立于具体的存储设备。

9.2 两层映象

映象是一种对应规则,说明映象双方如何进行转换。体系结构中有两层映象:

  1. 外模式/模式映象:
    • 作用:把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来;
    • 逻辑独立性:当模式改变时,只要对外模式/模式映象做相应的改变,使外模式保持不变,则以外模式为依据的应用程序不受影响,从而保证了数据与程序之间的逻辑独立性。
  2. 模式/内模式映象:
    • 作用:把描述全局逻辑结构的模式与描述物理结构的内模式联系起来;
    • 物理独立性:当内模式改变时(如存储设备或存储方式有所改变),只要对模式/内模式映象做相应的改变,使模式保持不变,则应用程序不受影响,从而保证了数据与程序之间的物理独立性。

9.3 体系结构速查表

层次 / 映象描述对象数量独立性贡献
外模式用户可见的局部数据逻辑结构多个与应用程序直接相关
模式全部数据的全局逻辑结构一个数据库的核心与关键
内模式数据的物理存储结构一个不涉及物理记录与硬件
外模式/模式映象局部逻辑 ↔ 全局逻辑多个保证逻辑独立性
模式/内模式映象全局逻辑 ↔ 物理存储一个保证物理独立性

十、学习路径与仓库导览

"数据库绪论"是整个数据库知识体系的地基。在 CS-Xmind-Note 仓库中,本篇之后的知识模块按如下路径递进,可在 数据库/数据库.md 总览中快速跳转:

  • 数据建模:概念模型(E-R 图)→ 关系模型 → 规范化理论(1NF/2NF/3NF/BCNF),见 数据库设计、关系模型、关系数据库设计理论;
  • 数据操作:关系代数与 SQL 语言,见 关系代数、数据库语言SQL;
  • DBMS 三大核心机制:并发控制、完整性约束、恢复技术,分别对应 并发控制、完整性约束、数据库恢复技术;
  • 性能优化:查询优化,见 查询优化。

建议学习者配合各章节目录下的 XMind 源文件与 PNG 思维导图(如本文首图)进行整体记忆,再用本笔记做逐点精读,即可高效拿下数据库绪论及后续全部章节。

  • 文档
  • 教程
  • 知识库

【免费下载链接】CS-Xmind-Note

计算机专业课(408)思维导图和笔记:计算机组成原理(第五版 王爱英),数据结构(王道),计算机网络(第七版 谢希仁),操作系统(第四版 汤小丹)

项目地址:https://gitcode.com/gh_mirrors/cs/CS-Xmind-Note
点击查看免费下载

相关推荐

上一篇:图像比对工具diffimg高效指南:3个技巧掌握像素级对比技术
下一篇:bertimbau-large-lener_br-openmind:葡萄牙语命名实体识别终极指南 🚀

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询