写在前边:好久没来发学习笔记了。(这段时间状态是最差的状态,颓废得想撞墙,希望自己接下来能坚持)
开数据库的坑主要是因为研究生复试需要将数据库这一块知识捡回来。当然,更重要的也是为了巩固自己在这一方面的知识,为游戏开发扩充自己的武器库。
本笔记参考书籍《数据库系统概论(第五版)》王珊 萨师煊 编著
1、数据库概论主要涉及内容
- 数据库的4个基本概念:数据、数据库、数据库管理系统、数据库系统
- 四个基本概念之间的联系
- 了解数据管理技术的历程,简要分析发展的趋势
2、数据库四大基本概念
- 数据(Data):数据库中存储的基本对象。描述事物的符号记录成为数据。数据的形式不能完全表达内容,需要结合语义(对数据的解释)。
- 数据库(DataBase,DB):存放数据的仓库。严格讲,数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
- 数据库管理系统(DataBase Manager System,DBMS):用户和操作系统之间的一层数据管理软件。软件功能主要包括:
- 数据定义功能,对应数据定义语言(Data Definition Language,DDL)
- 数据组织、存储和管理
- 数据操纵功能,对应数据操纵语言(Data Manipulation Language,DML),基本操作有:查询、插入、删除和修改
- 数据库事务管理和运行管理
- 数据库的建立和功能的维护
- 等等……
- 数据库系统(DataBase System,DBS):数据库、数据库管理系统(及其应用与开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理、维护数据的系统。
说明个人易混淆点:数据库系统的范围是大于数据库管理系统的范围的。
3、四个概念之间的联系
- 数据是数据库需要操作的对象。数据库中存储着数据。数据库是数据的集合
- 数据库管理系统管理着数据库。
- 数据库系统是一个完整的系统。也是我们泛指的数据库。(不同于上边狭隘、精确的数据库定义)。
4、数据管理技术的发展历程
- 人工阶段:无共享、数据冗余度大
- 文件系统阶段:共享性差、数据冗余度大
- 数据库系统阶段:共享性强,数据冗余度小
5、数据管理技术发展分析
- 首先,我们应该很明白。数据管理技术在发展过程中就是为了提高共享性(数据共享性越强,则数据管理系统的普遍适用性就越大)和减小数据冗余度(优化数据存储空间、避免数据冗余导致系统存在多份相同数据。多份相同数据以为着增加了维护一致性的成本)。
- 对于提高数据的共享性,我们可以将其理解为“不断地给数据集合做并集”。人工阶段和文件管理阶段,一个应用程序对应一个数据集合,而每一个数据集合是互相独立的,因此共享性差。到了数据库系统阶段,各个应用的数据得以结构化成一个整体,因此数据共享性得以提高。
- 对于数据冗余度的处理主要是通过提高抽象程度来实现的。人工阶段到文件系统阶段是抽象了数据存取方式,即数据存入物理地址中,用统一的接口可以读取相应的数据,而不是每个应用实现一个数据读取的方法。而到了数据库系统阶段,数据进一步抽象化和结构化,各个应用的数据被融入一个数据库进行统一的管理,既然是同一个数据库,最不会出现相同的数据,数据冗余度得以减小。