时隔两年,重温数据库,再次学习人大教授王珊、萨师煊的《数据库系统概论》,别有一番滋味在心头,或许这就是软件“不归路”上的感悟吧,又一次打开课本,记忆犹新,在已经学习过大学期间所有专业课之后,回过头来看第一遍学过的知识,发现心里清晰了很多,过去不懂的也悟懂了。当然过去的自己一开始并没有掌握良好的学习方式,所以现在开始做一做笔记,重温旧友,以开新篇。
本篇内容为中国人民大学教授王珊、萨师煊的《数据库系统概论》自学课程的复习笔记,学习视频源于小破站(传送门),对应视频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 数据库的二级映像功能与数据独立性
外模式 / 模式映像:保证了数据的逻辑独立性。① 模式改变(例如增加新的关系、新的属性等);
② 数据库管理员对各个外模式 / 模式映像做相应改变;
③ 外模式可以保持不变;
④ 应用程序可以不修改(因为应用程序是依据数据的外模式编写的);
⑤ 保证了数据与程序的逻辑独立性。模式 / 内模式映像:保证了数据的物理独立性。
① 数据库的存储结构改变(例如选用了另一种存储结构);
② 数据库管理员对模式 / 内模式映像作相应改变;
③ 模式可以保持不变;
④ 应用程序可以不修改;
⑤ 保证了数据与程序的物理独立性。