第 1 章 数据库系统概述 · 第一节
信息、数据与数据库技术的发展
从信息与数据说起,看数据管理走过的三个阶段
01
第 1 章 · 第一节
第 1 章 数据库系统概述
这一章回答两个问题:数据为什么要交给数据库来管,数据库系统是由什么组成、怎样分层的。
知道更多教材与本章的位置
教材是陈志泊主编的《数据库原理及应用教程(MySQL 版)》,全书十七章,这一章对应教材第 1 章。它不讲一条 SQL 语句,讲的是后面十六章都要用到的概念和名词,其中三级模式、二级映像、实体与联系这几处会在后面反复出现。
知道更多本章分八节
前六节按课件的五个板块走:信息与数据、数据库系统的组成、体系结构、三个世界(拆成两节)、新技术。最后两节是课件末尾的九道选择题,每道题都可以在页边直接作答。
想一想
你平时用的哪个软件,背后一定有一个数据库在替它记东西?
五个板块是一条线:先说清数据是什么,再看管数据的系统由什么组成、内部怎么分层,最后看怎样建模和有哪些新方向。
重 点五个板块之间的关系
1.1 讲概念和历史,回答“为什么需要数据库”。1.2 把数据库系统拆开看组成。1.3 讲系统内部的三级模式,这是本章最难也是考得最多的地方。1.4 讲现实事物怎样一步步变成计算机里的数据模型,是第 2 章关系数据库和后面数据库设计的入口。1.5 是了解性的内容。
打个比方
学一门新语言先学字母表,再学单词,最后才是造句。这一章相当于字母表和最基本的单词,SQL 这样的“造句”从第 3 章开始。
想一想
五个板块的标题里,哪一个词你现在完全不知道是什么意思?
信息是人脑对事物存在方式、运动状态和相互联系的反映,它可以感知,也可以存储、加工、传递和再生。
关键术语
信息Information人脑对现实世界事物及其联系的抽象反映,是有含义的内容,不是符号本身。
重 点四个特征各对应课件旁边的一个小字
“源于物质和能量”对应电台和报纸:信息要靠载体和能量才能传出去。“可以感知”对应听说读写:信息必须能被人接收到。“可存储、加工、传递和再生”对应书:写进书里就存下来了,读的人又把它再生出来。课件用“高等数学”这门课的课程号 c7、课程名、60 课时来举例,三样加在一起才描述清楚这门课。
打个比方
教室黑板上写着“明天停课”,你看一眼就知道明天不用来了。黑板和粉笔是物质,你看到它用了光,你能读懂它是感知,拍张照发到班群是传递和再生。这四个特征说的就是这么一件平常事。
数据是记录信息的符号,符号本身不带含义,含义由语义给出,同一个信息可以用不同的符号来记。
关键术语
数据Data记录信息的可识别的符号组合,数字、文字、图形、声音、视频都算,只要能数字化存进计算机。
语义Semantics赋予数据的含义,也就是这串符号说的是什么。
重 点
“500”和“伍佰”是两种不同的数据,表达的信息一样,说明数据和信息不是一回事。反过来,一个数据脱离语义就什么也不是:单看“500”,你不知道它是人数、钱数还是步数。课件左边的批注“信息的一种,一部分”提醒的是数据只是信息的具体表现形式之一,不是信息本身。
打个比方
快递单上那串数字,快递员看是运单号,你看是取件码,系统看是数据库里的一个主键。数字没变,三个人给它的语义不同。
信息等于数据加语义,同一个数据配上不同的语义,就成了不同的信息。
重 点两个方向
从数据到信息靠解释,给“500”配上“考试人数”它才成为信息。从信息到数据靠符号化,把“通过率八成”写成“80%”才能存进计算机。数据库里存的全是数据,语义写在表名、字段名和表结构里,这就是下一板块会讲到的“模式”的最早伏笔。
试一试同一个数据,不同的语义
500
上面这个数据一直没变。点一种语义,看它变成什么信息。
想一想
“80%”这个数据,你能给它配出几种不同的语义?
数据处理是把数据变成信息的全过程,数据管理是其中管住数据的那一部分,也是数据库技术要解决的核心问题。
关键术语
数据处理Data Processing收集、管理、加工数据并输出信息的全过程,图上是从原料到产出的整条线。
数据管理Data Management对数据做分类、组织、编码、存储、维护、检索,处理过程里最基础的一环。
重 点
课件底部那句“数据处理的真正含义是为了产生信息而处理数据”回答了右下角的问题:胡乱处理数据,出来的就不是信息而是垃圾,输入的数据本身不对,再精巧的处理也救不回来。数据管理做得好,处理才有可靠的原料。
打个比方
做一顿饭是数据处理,买菜、分类、冷藏、按需取用是数据管理。数据库就是那台冰箱和一套放取规矩,冰箱本身不做菜,但没有它,菜坏了、找不到了,饭也就做不成了。
想一想
把全班成绩算出平均分,这一步属于数据处理还是数据管理?
二十世纪五十年代,数据跟着程序走,一个程序一套数据,改了数据的格式就得改程序。
重 点四条特点其实是一条
没有专门的存取设备,没有专门的管理软件,数据不共享,数据与程序不独立,归根到底是数据没有自己独立的地位,它只是程序的附属品。看图上应用程序和数据集之间一一对应的连线,每换一个程序就要重新准备一套数据。
知道更多那时的“存储”是什么
当时没有磁盘,数据打在纸带和卡片上,程序员自己安排每个数字放在第几列,读的时候再按同样的位置去取。课件旁的批注“改了数据格式就要改软件”说的就是这种把位置写死在程序里的做法。
打个比方
课件第 10 页的纸质档案室:客户资料写在纸上装进档案袋,领导要找张三的合同,文员就得去柜子里一叠一叠地翻,全靠人的记忆,文件丢了就再也找不回来。
想一想
那个年代,两个程序想用同一份数据,得怎么办?
数据以文件的形式长期保存,程序按文件名取数据,不再关心它存在磁盘的哪个位置。
关键术语
文件系统File System操作系统里负责按名字保存和读取文件的那部分软件,程序通过它访问磁盘。
重 点进步在哪,问题在哪
进步是数据有了名字、能长期保存、几个程序可以共用一个文件,课件旁的批注“和名称打交道,不用关心数据储存在哪里”说的就是这一点。问题是文件之间彼此不认识,同一个人的信息在三个文件里各存一份,改了一处另外两处不知道,这就是冗余和不一致。批注里的“链表,栈”指的是文件内部可以有多种组织形式。
打个比方
课件第 10 页的例子:资料存在 U 盘的 Excel 里,找张三按一下 Ctrl+F 就行,比翻纸快多了。文件一多,同一个客户的资料分散在好几个表里,想统计张三一共买了多少东西,还得人工把几张表凑到一起算。
想一想
你有没有过同一份资料存了好几个版本、最后分不清哪个最新的经历?
数据由 DBMS 统一管理,程序通过映射访问逻辑文件,数据独立、共享、冗余低,还有统一的安全与恢复控制。
关键术语
数据库管理系统DBMS夹在程序和数据之间的一层软件,所有对数据的访问都经过它。
数据独立性Data Independence数据的存储方式或结构变了,程序不用跟着改。
重 点图上最要紧的是“映射”两个字
程序看到的是逻辑文件,磁盘上放的是物理数据,两者之间隔着 DBMS 做的映射,所以磁盘上怎么改,程序都感觉不到。四项统一控制里的安全性、并发控制、数据恢复分别是教材第 8、9、10 章的内容,完整性控制在建表定义约束时会学到,这里只需要知道它们都是 DBMS 的活,文件系统一样都没有。
打个比方
课件第 10 页的银行客户系统:所有客户信息只存一份,输入身份证号一秒就查到。张三改了住址,所有业务立刻同步,还能一句话问出“30 岁以下客户的平均存款额”。
想一想
把图上的 DBMS 这一层去掉,哪些好处会立刻消失?
纸质档案室、U 盘里的 Excel、银行的客户系统,正好对应数据管理的三个阶段。
重 点三个例子各抓一个词
人工管理阶段抓“靠人翻”,效率低、易出错、丢了就没了。文件系统阶段抓“各存各的”,电子化了,但三个文件之间互不知道,重复存放、改了一处忘了另一处、复杂统计要人工汇总。数据库系统阶段抓“只存一份”,集中管理、结构化存储、一处改动处处同步,还带权限控制。
试一试改一次地址,看两种管理方式的差别
文件系统阶段:三个程序各存一份
| 文件 | 姓名 | 地址 |
| 学籍.xlsx | 张三 | 人民路 3 号 |
| 成绩.xlsx | 张三 | 人民路 3 号 |
| 宿舍.xlsx | 张三 | 人民路 3 号 |
数据库系统阶段:只存一份,三个程序都来读它
| 学生表 | 姓名 | 地址 |
| 唯一的一行 | 张三 | 人民路 3 号 |
| 学籍程序看到 | 张三 | 人民路 3 号 |
| 成绩程序看到 | 张三 | 人民路 3 号 |
| 宿舍程序看到 | 张三 | 人民路 3 号 |
学籍处收到搬家通知,只会去改自己手里的那个文件。按一下上面的按钮看结果。
想一想
你们班同学的信息,现在是用哪一种方式管着的?