时隔两年,重温数据库,再次学习人大教授王珊、萨师煊的《数据库系统概论》,别有一番滋味在心头,或许这就是软件“不归路”上的感悟吧,又一次打开课本,记忆犹新,在已经学习过大学期间所有专业课之后,回过头来看第一遍学过的知识,发现心里清晰了很多,过去不懂的也悟懂了。当然过去的自己一开始并没有掌握良好的学习方式,所以现在开始做一做笔记,重温旧友,以开新篇。
本篇内容为中国人民大学教授王珊、萨师煊的《数据库系统概论》自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P1-P8,属教材“【第一篇 基础篇】”的“【第1章 绪论】”内容。
文章目录
-
- P1 引言
-
-
- 1.1 四位数据库领域大佬——图领奖得主
- 1.2 我国数据库发展历程(看、学、赶、创)
-
- P2 数据库的4个概念
-
-
- 2.1 数据(Data)
- 2.2 数据库(Database, DB)
- 2.3 数据库管理系统(Database Management System, DBMS)
- 2.4 数据库系统(Database System, DBS)
-
- P3 数据技术的产生,数据系统的特点
-
-
- 3.1 数据技术的三个阶段(人工管理、文件系统、数据库系统)
- 3.2 数据库系统的特点
-
- P4 概念模型,数据模型的组成要素
-
-
- 4.1 数据模型是数据库系统的核心和基础
- 4.2 数据模型的划分
- 4.3 概念模型
- 4.4 数据模型的组成要素
-
- P5 层次模型,网状模型
-
-
- 5.1 常用的数据模型
- 5.2 层次模型
- 5.3 网状模型
-
- P6 关系模型
-
-
- 6.1 关系模型的数据结构
- 6.2 关系模型的操纵与完整性约束
- 6.3 关系模型的优缺点
-
- P7 数据库系统的结构
-
-
- 7.1 三级模式
- 7.2 数据库的二级映像功能与数据独立性
-
- P8 数据库系统的组成
-
-
- 8.1 硬件平台及数据库
- 8.2 软件
- 8.3 人员
-
P1 引言
1.1 四位数据库领域大佬——图领奖得主
1.2 我国数据库发展历程(看、学、赶、创)
P2 数据库的4个概念
2.1 数据(Data)
- 数据是数据库中存储的基本对象。
- 描述事物的符号记录称为数据。
- 数据的含义称为数据的语义,数据与其语义是不可分的。
2.2 数据库(Database, DB)
- 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
- 数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享。
- 三个基本特点:永久存储、有组织、可共享
2.3 数据库管理系统(Database Management System, DBMS)
- 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
- 数据定义功能:提供数据定义语言(Data Definition Language, DLL),定义数据库中的数据对象。
- 数据操纵功能:提供数据操作语言(Data Manipulation Language, DML),实现对数据库的基本操作(查增删改)。
2.4 数据库系统(Database System, DBS)
- 数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator, DBA)组成的存储、管理、处理和维护数据的系统。
- 在计算机系统中引入数据库后的系统构成,在不引起混淆的情况下常常把数据库系统称为数据库。
P3 数据技术的产生,数据系统的特点
3.1 数据技术的三个阶段(人工管理、文件系统、数据库系统)
3.2 数据库系统的特点
- 数据结构化
实现整体数据的结构化,是数据库系统与文件系统的本质区别。 - 数据的共享性高,冗余度低且易扩充
① 数据共享可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。
② 数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,使得数据库系统弹性大,易于扩充。 - 数据独立性高
① 物理独立性:用户的应用程序↔数据库中数据的物理存储
② 逻辑独立性:用户的应用程序↔数据库的逻辑结构 - 数据由数据库管理系统统一管理和控制
① 数据的安全性(security)保护
② 数据的完整性(integrity)检查
③ 并发(concurrency)控制
④ 数据库恢复(recover)
P4 概念模型,数据模型的组成要素
4.1 数据模型是数据库系统的核心和基础
- 数据模型也是一种模型,是对现实世界数据特征的抽象。
- 数据模型应满足三方面要求:
① 能比较真实地模拟现实世界
② 容易为人所理解
③ 便于在计算机上实现
4.2 数据模型的划分
4.3 概念模型
- 信息世界中的基本概念
① 实体(Entity)【一个学生、一个班级、一所学校……】
② 属性(Attribute)【学号、姓名、性别……】
③ 码(Key):唯一标识实体的属性集。【学号】
④ 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。【学生(学号、姓名、性别……)】
⑤ 实体集(Entity Set):同一类型的集合称为实体集。【全体学生】
⑥ 联系(relationship):实体内部的联系+实体之间的联系(1-1,1-n,m-n) - 概念模型的一种表示方法:实体-联系方法(Entity-Relationship approach),用E-R图(E-R diagram)来描述现实世界的概念模型。
4.4 数据模型的组成要素
- 数据结构:描述数据库的组成对象以及对象之间的联系。
- 数据操作:指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
① 查询
② 更新(包括插入、删除、修改) - 数据的完整性约束条件:一组完整性规则。
P5 层次模型,网状模型
5.1 常用的数据模型
5.2 层次模型
- 就是二叉树,有且只有一个结点没有双亲结点,即根结点;根以外的其他结点有且只有一个双亲结点。
- 层次模型像一颗倒立的树,结点的双亲是唯一的。
- 优点:层次数据结构比较简单清晰;查询效率高;提供了良好的完整性支持。
- 缺点:难以处理现实世界的“多对多”联系;查询子女结点必定通过双亲结点;编程复杂。
5.3 网状模型
- 允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。
- 优点:能够更为直接描述现实世界;具有良好的性能。
- 缺点:结构仍旧较复杂;加重了编程负担。
P6 关系模型
6.1 关系模型的数据结构
- 关系(relation):一个关系对应一张表。
- 元组(tuple):表中的一行即为一个元组。
- 属性(attribute):表中的一列即为一个属性。
- 码(key):码键。
- 域(domain):类似于划分了区间。
- 分量:元组中的一个属性值。
- 关系模式:对关系的描述。
6.2 关系模型的操纵与完整性约束
- 提高了数据的独立性,大大提高了用于的生产率。
- 操作对象和操作结构都是关系。
6.3 关系模型的优缺点
- 优点
① 建立在严格的数学概念基础上;
② 关系模型的概念单一,数据结构简单、清晰,用户易懂易用;
③ 存储路径对用户透明,具有更高的数据独立性、根号的安全保密性,简化工作。 - 缺点
① 查询效率往往不如格式化数据模型。
P7 数据库系统的结构
7.1 三级模式
- 模式(schema):模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户公共数据视图。【核心】
- 外模式(external schema):也称子模式(subschema)或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。【一个模式包括多个外模式】
- 内模式(internal schema):也称存储模式,是数据物理结构和存储方式的藐视,是数据在数据库内部的组织方式。【一个数据库只有一个内模式】
7.2 数据库的二级映像功能与数据独立性
- 外模式 / 模式映像:保证了数据的逻辑独立性。
① 模式改变(例如增加新的关系、新的属性等);
② 数据库管理员对各个外模式 / 模式映像做相应改变;
③ 外模式可以保持不变;
④ 应用程序可以不修改(因为应用程序是依据数据的外模式编写的);
⑤ 保证了数据与程序的逻辑独立性。 - 模式 / 内模式映像:保证了数据的物理独立性。
① 数据库的存储结构改变(例如选用了另一种存储结构);
② 数据库管理员对模式 / 内模式映像作相应改变;
③ 模式可以保持不变;
④ 应用程序可以不修改;
⑤ 保证了数据与程序的物理独立性。