21/7/21 读书笔记 数据库系统概论 数据库系统的优势

21/7/21 读书笔记

今天回家,耶~
在机场的麦当劳写的,巨无霸真的难吃

数据库系统概论 数据库系统的意义

数据管理技术经过了人工管理、文件系统、数据库系统的进化。人工管理阶段没有直接存取的存储设备,数据与应用软件本身都是实时输入使用的,可以想象老式机上靠插卡片的方式控制数据。而文件系统出现后,实现了数据的管理,但是在共享方面仍然存在问题。数据库系统则是解决了共享方面的问题,使得数据与应用之间相互独立。

关于如何理解文件系统和数据库系统的区别,我认为可以举下面这个例子:

假设环境中存在两个应用程序,一个应用程序A需要管理课程的选课情况,另一个应用程序B需要管理学生的成绩。在文件系统的视角下,首先我们直觉地为两个应用程序单独创建一个文件,第一个文件对应A,文件中每条记录的结构是(课程号、课程名称、选课学生的学号的集合),是一个变长的记录;第二个文件对应B,文件中每条记录的结构是(学号、姓名、课程号、成绩),是一个定长的记录。这样当需要进行数据操作时,比如添加一名学生的选课信息,那么我们需要在第一个文件中找到课程的对应记录并添加学生学号,然后需要在第二个文件中添加一条学生与课程名称的对应记录。这带来了潜在的不一致性的问题,比如如果在第二个文件中我们能够获得学生Lily的基础物理实验的成绩,但是在第一个文件中却发现Lily并没有修基础物理实验这门课程。

文件系统的问题就在于它没有摆脱文件(数据)面向程序这一情况,使得不同的应用程序都需要拥有自己的文件,而使得一些本可以共享的数据无法共享,进而导致冗余度上升;同时应用程序与数据的绑定还使得一旦数据的存储结构变更就需要改程序,或程序的需求变更了就需要改数据。

数据库系统则是从一个更为抽象的层次来考虑这个问题,它将整体数据抽象成一个结构化的数据集合。什么是“结构化”?在数据内部,数据本身的构造就是结构,比如我们前面规定的记录构造(学号、姓名、课程号、成绩),其中“成绩”在“课程名”之后,就是数据内部的结构。而在整体上看,数据间的联系构成了数据库的结构,比如上面的例子中,课程号既与第一个记录类型有关,也与第二个记录形式有关。注意,这里的结构化是数据本身之间的联系,而不是应用程序定义的联系。在数据库系统中,数据之间的结构由数据库管理系统来构建,而无需应用程序来管理。

数据库的结构化提供了几个明显的优势:

  • 数据的独立性:应用程序与数据库之间对于数据如何进行物理存储是独立的(物理独立);应用程序与数据库之间对于数据的逻辑表示也是独立的(逻辑独立)。物理独立性让程序员不用再考虑如何构造数据在物理层面上的排布,逻辑独立性使得无论应用程序或是数据结构发生改变,都不会影响另一方。
  • 数据的共享性:由于数据独立于应用程序存在,使得多个应用程序能够访问同一个物理位置上的数据来实现数据的共享。
  • 数据管理的高级功能:由于数据被独立了出来,使得我们能够更好地对数据进行管理。其中的高级功能包括实现数据的安全性控制(权限管理)、数据的并发控制(因为共享性)、数据库恢复(高可用性)、数据的完整性(对数据进行约束)等。

在数据库系统出现之前,数据没有脱离应用而存在,数据管理技术的本质还是让数据面向应用程序来进行构造。当数据库系统出现后,数据管理技术终于能够完全聚焦于数据本身,因此技术的重点就落在了如何让数据更好地面向现实世界而进行构造。

数据库系统概论 什么是数据模型

数据模型就是数据库系统中对于现实世界数据特征的一种抽象,其是数据库系统的核心与基础。我们通过不同的模型形式来描述现实世界,这带来两个问题:

  • 不唯一性:我们对于真实的世界可以有很多种不同的描述方式。

  • 不充分性:我们的描述对于真实的世界来说永远是不完备的。

我们定义一个好的数据模型应该:

  1. 较为真实地反映现实世界。
  2. 容易为人所理解
  3. 便于计算机实现。

而在实际的工作中,数据库系统定义了三种不同的数据模型,其分别描述了对于从现实世界映射到虚拟世界的不同抽象层次。

  • 概念模型:将现实世界抽象到概念的层次,比如将“学生的成绩”抽象为“(学生姓名,课程名称,课程成绩)”这样的序列概念。这通常是由用户来定义的。
  • 逻辑模型:将现实世界抽象到逻辑联系的层次,比如可以用树的结构来组织数据,也可以用图的结构组织数据,也可以用表的形式描述数据,或者以面向对象的思想处理数据。这种结构与数据的管理有关,而与具体的数据存储形式无关。
  • 物理模型:将现实世界抽象到物理存储的层次,描述数据在物理介质上具体的表示方式和存取方法。

数据库系统的本质在于数据模型,不同的数据库系统通常都是基于不同的数据模型的。两种数据库系统如果数据模型不同,那么他们是“异构的”,对于“异构的”数据库如何实现协作与相互交流,是一个有趣的问题。

posted @ 2021-07-21 21:08  neumy  阅读(232)  评论(0)    收藏  举报