数据库系统概论绪论:分清数据、数据库、DBMS与DBS,理解数据管理演进
简介数据库系统概论是计算机专业的核心基础课程这份课件即江胜老师所授第一章绪论的完整PPT适合高校相关专业学生课前预习、课后复习及备考使用。章节系统讲解了数据、数据库、数据库管理系统与数据库系统四个层次概念涵盖数据模型、数据库系统结构、访问过程与系统特点等核心内容并以货物进出库为例帮助理解数据库技术在实际管理场景中的具体应用同时梳理了人工管理、文件系统、数据库系统三个阶段的数据管理技术演进。课件依据萨师煊、王珊经典教材体系编排并推荐Ullman等拓展阅读书目可作为课程学习的有效补充。资源共1个文件为PPT格式压缩包约559KB文件体量紧凑方便快速下载浏览。已有244人学习使用适合用作第一章知识点梳理与复习提纲。1. 数据库系统概论第一章绪论一份帮你打通概念关的课堂课件很多学校把数据库系统概论排在大二下或大三上第一节课老师用两三个学时把绪论过完学生普遍的感受是定义都记住了但“数据库到底比 Excel 强在哪”说不清楚。江胜老师的这份 PPT是对应萨师煊、王珊《数据库系统概论》第四版第一章的课堂课件它解决的是一个非常具体的问题让零基础的学生在第一次课就把数据、数据库、DBMS、DBS 这四个被混着用的名词彻底分清楚并理解数据库技术为什么能在文件系统之后成为主流。适合三类人正在跟着教材上课的学生、给这门课备课的青年教师、想系统补数据库理论的自学者。这份 PDF 文字量不算大概念密度却很高配合教材 1.1 到 1.6 节阅读能把绪论这一章吃透。2. 先把四个名词钉死数据、数据库、DBMS 与 DBS 的边界在哪2.1 数据不等于数字那条教员记录是最好的教材PPT 里有一行非常经典的示例数据(0005794, 601, 周济, 1, 1946.08.26, 01)。表面看是一串数字和文字的混合但对应到现实世界它是校办公室的一份教员档案0005794 是工号601 是部门编号周济是姓名1 是性别编码1946.08.26 是出生日期01 是民族编码。教材在这里想强调的是数据Data是对现实世界中客观事物的符号表示可以是数值数据也可以是非数值数据比如声音、图像、结构化的记录。计算机里能输入、能处理的符号序列都算数据。但关键的一句在后头——数据与其语义不可分。单独看“0005794”没有任何意义只有放到“工号”这个属性下它才具备身份。我给学生讲这里时会做一个现场演示把这条记录打乱顺序变成 (601, 周济, 0005794, 01, 1946.08.26, 1)数据一个没少但对应关系全乱了数据库里绝不能出现这种“语义错位”。所以学这一小节的重点不是背定义而是建立“数据背后永远挂着一个现实世界含义”的意识。提示后续学 E-R 模型时实体、属性、联系本质上就是从“符号”倒推“语义”的过程这块地基打不牢第三章画图会翻车。2.2 数据库比“仓库”多出来的四个限定词教材给数据库Database的定义是“长期储存在计算机内的、有组织的、可共享的数据集合”。很多人只记住了“数据集合”把“仓库”当比喻却忽略了三个限定词各有分量。长期储存在计算机内强调的是“持久化”数据不是程序运行完就消失的临时变量而是要落盘、能跨会话读取。有组织指的是数据按一定的数据模型组织、描述和存储不是把 Excel 表堆进一个文件夹就叫数据库同一份数据要能被不同应用以不同视角读取背后得有统一的组织和约束。可共享意味着数据面向多用户、多应用而不是某个程序的私有财产。定义之后教材还列了一串特性较小的冗余度、具有一定结构、较高的数据独立性、可共享、易扩展、安全性。我一般会让学生把“较小的冗余度”和“可共享”放在一起理解——正因为共享了同一数据不需要在每个应用里各存一份冗余自然降下来而“易扩展”指的是数据库结构能平滑地增加数据类型和应用不至于牵一发动全身。这些特性不是背的是后续每章都会反复回来兑现的验收标准。2.3 DBMS夹在操作系统和业务之间的那个“系统软件”数据库管理系统DBMS是一个系统软件位于用户与操作系统之间作用是科学地组织和存储数据、高效地获取和维护数据。它是数据库系统的核心组件也是很多人最容易跟“数据库”本身搞混的角色。PPT 把 DBMS 的功能归纳成四块数据定义功能对应 DDL典型语句是 CREATE数据操纵功能对应 DML典型语句是 SELECT、INSERT、UPDATE、DELETE数据控制功能对应 DCL典型语句是 GRANT、REVOKE再加上数据库的建立和维护功能与运行管理。这四块在绪论里只列名称到第三章学 SQL 时会逐一展开。现代语境下MySQL、PostgreSQL、SQL Server 都是 DBMS 的产品实例。我常用一句大白话区分数据库是“装数据的仓库”DBMS 是“管理仓库的软件系统”你装了 MySQL得到的不是一个数据库而是一套能创建数据库、读写数据、控制权限的软件环境。2.4 DBS把六类角色凑齐才算一个完整的系统数据库系统DBS是计算机系统引入数据库后的整体系统。PPT 的图 1-1 画得很清楚DBS 的组成包括操作系统、DBMS及开发工具、数据库、应用系统、数据库管理员DBA、用户。DBA数据库管理员这个角色值得单独强调。在 MySQL 单机开发场景里开发者往往兼任 DBA导致很多人忽略数据库系统里还有专人负责数据内容与结构设计、存储结构与访问策略、安全性完整性约束、日常监控与恢复。在实际企业环境中DBA 是数据库系统的专职“运维大脑”第七、八章讲的恢复与并发控制最终都要落到 DBA 的日常动作上。用户也不是铁板一块应用程序员写应用系统与数据库交互最终用户只操作界面不接触 SQL。理解 DBS 的组成边界对后面学数据库设计、数据库安全都很有帮助因为很多权限问题的根源就是“角色没分清”。概念定义一句话理解Data现实世界客观事物的符号表示符号本身如数字、文字、图像Database长期、有组织、可共享的数据集合装数据的“仓库”DBMS位于用户与操作系统之间的系统软件管仓库的软件DBS引入数据库后的整个计算机系统数据库 软件 硬件 人3. 数据管理的三阶段演进从人工管理到数据库系统的关键拐点3.1 人工管理阶段没有操作系统数据用完就走50 年代中期以前计算机主要用于科学计算数据量小、结构简单典型任务是高阶方程、曲线拟合。当时的外存是磁带、卡片、纸带没有磁盘这种直接存取设备数据处理方式是批处理谈不上实时交互。更要命的是那个年代没有操作系统也没有任何数据管理软件。用户用机器指令编码通过纸带机输入程序和数据程序运行完用户取走纸带和运算结果再让下一个人上机。PPT 里总结的四个特点放到今天看全是“缺陷”数据不保存用完就撤走、应用程序完全负责数据管理存储结构、存取方法、输入输出全靠程序自己管、数据完全面向特定应用不同程序之间的数据冗余巨大、程序与数据没有独立性存储结构一改程序中存取数据的子程序就得跟着改。但评价一个历史阶段要放在当时的硬件条件下看。没有磁盘数据就没法长期低成本保存没有操作系统硬件资源只能由用户自己管理。人工管理的“落后”是硬件受限下的必然。学这段的意义在于建立一条演进逻辑数据管理方式的每一次变化都是被“存储硬件 软件能力 应用需求”三个因素推着走的。3.2 文件系统阶段解决了“保存”但没解决“共享与冗余”50 年代后期到 60 年代中期计算机从科学计算扩展到管理领域外存出现了磁盘、磁鼓等直接存取设备DASD不需要顺序存取直接通过地址访问记录。与此同时出现了专门管理数据的软件——文件系统它负责文件存储空间管理、目录管理、文件读写管理、文件保护并向用户提供操作接口。文件系统阶段的技术功劳值得肯定数据可以长期保存在磁盘上用户能按文件名访问不用再自己在脑内编排物理块位置。但两个致命问题没有解决。第一个是共享性差。文件仍然面向特定应用一个文件对应一个或几个程序不同文件之间缺乏联系。举个例子人事部门有 employee 文件财务部门有 salary 文件员工的部门信息两边各存一份员工调岗时只更新了人事文件财务文件里的老部门没同步月底工资条上的部门就错了。这就是典型的数据冗余带来的数据不一致。第二个是独立性差。文件的逻辑结构和物理结构一旦改变使用该文件的应用程序就要跟着改。用户存取数据的子程序与文件结构绑定得过于紧密程序和数据做不到“各自安好”。所以文件系统阶段的核心矛盾可以概括为有数据管理软件了但数据依然是“面向应用”而不是“面向系统”的。3.3 数据库系统阶段结构化、高共享、高独立性60 年代后期开始数据库管理系统正式登场。这一阶段的管理方式与文件系统的本质区别教材画的是数据结构化——数据不再是面向单个应用而是面向整个系统以数据模型为核心组织所有数据。具体特点教材讲得比较明确整体数据的结构化数据不仅描述事物本身还描述事物之间的联系这是数据库系统与文件系统的根本区别共享性高、冗余度低一个数据可供多个应用使用冗余被压缩到极小数据独立性高物理存储结构变了应用程序不用改逻辑结构调整时应用程序也尽量不用动DBMS 统一管理安全性控制、完整性控制、并发控制、数据库恢复四件事全部由 DBMS 承担。我给学生讲这里时特别强调“物理独立性和逻辑独立性”这对概念。物理独立性指内模式的存储结构变化换存储引擎、调整磁盘布局不影响模式和外模式逻辑独立性指模式整体逻辑结构变化时外模式和应用程序不受影响。这两个独立性是后面第四章“数据库系统结构”的理论支柱也是考试常客。3.4 三阶段对比表与两个判断标准学到这很多学生容易把三个阶段的特点背混。我建议做一张对比表把关键维度列出来对照记忆维度人工管理阶段文件系统阶段数据库系统阶段时间50 年代中期以前50 年代后期至 60 年代中期60 年代后期开始硬件背景磁带、卡片、纸带磁盘、磁鼓等直接存取设备大规模存储设备成熟数据保存数据不保存用完撤走数据可长期保存数据长期、有组织保存数据共享完全无共享共享性差文件间冗余大共享性高、冗余度低独立性程序与数据无独立性逻辑结构与物理结构变化影响程序物理独立性与逻辑独立性管理软件无应用程序自管文件系统DBMS记忆时抓两个判断标准就够了第一有没有专门的数据管理软件文件系统、DBMS第二数据与程序之间是否真正独立。文件系统阶段有了软件但独立性不够数据库系统阶段把独立性和共享性同时做到位。这两个标准能应对大多数“区别是什么”的问法。提示PPT 里提到“外存有了磁盘、磁鼓等直接存取设备——DASD”这是文件系统阶段能出现的关键硬件前提。没有随机访问能力数据就只能顺序读那“按文件名查记录”就无从谈起。4. 数据库系统结构三级模式、六大组成与一次查询的完整路径4.1 三级模式与两层映象数据库结构层的“标准答案”第一章里最容易考、也最容易让学生晕的就是数据库系统的三级模式结构。外模式用户模式对应单个用户或应用看到的数据视图是用户与数据库的接口模式概念模式描述数据库中全体数据的逻辑结构和特征是数据库整体逻辑视图内模式存储模式描述数据在存储介质上的物理存储结构与存取方式。两层映象是连接的桥梁外模式/模式映象把用户视图映射到全局逻辑模式模式/内模式映象把全局逻辑结构映射到物理存储结构。这两个映象的价值直接落到两个独立性上——模式/内模式映象保证了物理独立性外模式/模式映象保证了逻辑独立性。换句话说DBA 调整了存储结构只要改映象定义应用不用动整体逻辑结构调整时用户视图也能保持不变。我讲这部分时常用一个比喻模式是“全公司的规章制度”外模式是“某个岗位只看得到的那几页制度”内模式是“文件柜里文件实际怎么摞”。制度换了个文件柜内模式变岗位看见的几页纸内容不变物理独立性规章制度大改版但某个岗位的职责描述没变逻辑独立性。这个比喻基本能让学生一遍过关。4.2 数据库系统六大组成数据库、软件、硬件和人都缺一不可数据库系统的组成清单教材和 PPT 讲得很整齐硬件平台及数据库、操作系统、DBMS及开发工具、数据库、应用系统、数据库管理员和用户。这里最容易漏的是“人”这个部分。DBA 的职责在绪论里就要建立起来决定数据库中的数据内容与结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行处理故障恢复。这些职责对应的正是后面第七章恢复技术、第八章并发控制和安全性完整性章节的内容现在先挂个钩后面学到时不至于觉得突兀。用户侧分两类应用程序员负责编写应用系统通过 DML 语句访问数据库最终用户通过应用系统提供的界面操作数据不直接面对 SQL。很多初学者误以为自己用 Navicat 连了数据库就是“用户”了准确说是通过客户端工具与 DBMS 交互的最终用户或开发人员分类本身不重要重要的是理解应用系统、DBMS、数据库三层之间是调用与被调用的关系。4.3 一次查询的完整路径从 SQL 到磁盘再回来PPT 里 1.5 节“数据库访问过程”是所有初学者的第一个完整链路。用户在应用系统里发起一条查询这条 SQL 会经历这样的旅程应用系统把用户输入的 SQL 语句发送给 DBMSDBMS 先做语法分析和词法分析检查语句是否符合 SQL 规范接着做合法性检查确认访问权限这就是 DCL 相关授权在起作用然后 DBMS 的优化器把 SQL 转换成内部执行计划决定走哪个索引、用什么连接方式执行计划按内模式的定义定位到存储层具体的数据块从磁盘读出数据最后按外模式的定义把存储格式转换成用户视图的结构返回给应用系统。对应到现代 MySQL这条路径就是客户端连接器 → SQL 层解析、优化、执行计划生成 → 存储引擎 InnoDB按主键或二级索引定位记录 → 磁盘页 → 返回结果集。绪论课虽然不会讲这么细但把“数据不是直接从硬盘搬到屏幕”这个意识建立起来后面学索引和查询优化会轻快很多。提示很多学生第一次接触“数据库访问过程”以为重点是记住步骤。实际上重点是理解“用户请求”和“物理存储”之间隔了 DBMS 这层屏蔽这正是数据独立性的运行机制所在。5. 用这份 PPT 自学和备课的常见坑五个容易理解偏的点5.1 坑一把“数据”和“信息”混着用现象复习时直接说“数据库存的是信息”考概念题时把信息的定义答成数据的定义丢分丢得莫名其妙。原因日常生活中“数据”和“信息”经常互相替换但数据库课程里两者有严格边界。数据是现实世界客观事物的符号表示是原始的符号序列信息是数据经过加工、解释后对人类决策有意义的语义内容。解决回到 PPT 里那条教员记录。“0005794, 601, 周济, 1, 1946.08.26, 01”是数据把它解读成“工号为 0005794 的周济老师1946 年 8 月 26 日出生汉族在 601 部门工作”后获得的内容才是信息。做定义题时严格按教材原文写别自由发挥。5.2 坑二数据库、DBMS、DBS 三个名词没有分层现象说“我电脑上装了 MySQL所以我拥有了一个数据库系统”老师追问“你到底是装了数据库还是装了数据库管理系统”时卡壳。原因PPT 里 DBS 的组成包含操作系统、DBMS、数据库、应用系统、DBA、用户但初学者只盯住最显眼的两个组件把“装 MySQL”等同于“有数据库系统”。解决DBS 是整机概念硬件软件数据人DBMS 是其中的软件核心数据库是 DBMS 管理的具体数据对象。做连线题时先画 DBS 的组成框图再把每个框填上实例就永远不会乱。5.3 坑三背熟三阶段特点却答不出“文件系统为什么不够用”现象简答题能默写三个阶段的全部特点但换个问法“文件系统阶段与数据库系统阶段最本质的区别是什么”就卡壳只能重复背过的原话。原因背了结论没记逻辑——文件系统阶段数据面向单个应用、文件之间无联系导致数据冗余大、不一致风险高而数据库系统阶段数据面向整个系统、具有整体结构化这是质的区别。解决用具体场景砸实。“人事部门和财务部门各有一份员工文件部门信息在两个文件里重复存储员工调岗时只改了一边两边的数据就对不上了。” 数据库系统阶段的“整体结构化、共享、低冗余”就是解决这个痛点来的把场景记住比背十个特点都管用。5.4 坑四看到 SQL Server 2000、Delphi 就觉得课件过时不想学现象学生翻到 PPT 里的 Development 部分写着 SQL Server 2000、Delphi、PowerBuilder觉得这是一套老古董课件跟现在用 MySQL 和 PostgreSQL 的场景完全脱节于是弃坑。原因这份课件配套的是萨师煊、王珊第四版教材开发环境的例子停留在 2000 年代。但 DDL/DML/DCL 的分类、数据管理三阶段、三级模式与两层映象这些核心概念二十年来没有任何过时。工具版本会迭代概念骨架不会。解决把工具名当历史背景忽略掉只抽概念框架。用自己本机的 MySQL 或 PostgreSQL 去验证同样的功能你会发现 CREATE 还是 DDL、SELECT 还是 DML、GRANT 还是 DCL概念照样成立。顺便说一句如果你手头用的是数据库系统概论第六版或《数据库系统概念》第七版黑皮书第一章讲的也是同一套骨架只是叙述顺序和例子略有差异。5.5 坑五跳过“数据与语义不可分”后面学 E-R 模型时吃亏现象学完绪论觉得“语义”两个字不重要考试也不直接考。结果到了第五章学 E-R 模型、设计表结构时才发现自己对“属性如何对应现实世界的含义”理解不到位画出来的图跟自己想要的业务对不上。原因绪论里的每一句话都有后续章节接应“数据与其语义不可分”是整个数据库设计的哲学起点。第一次学最容易把它当作一句抽象口号一眼带过没有落到具体例子上。解决从绪论开始就建立一个习惯——看到任何一条记录先问三个问题这个字段在现实世界对应什么这个字段是唯一的吗这个字段能拆得更细吗把这个习惯带进上机和课程设计到第五章设计数据库时你会发现别人在纠结怎么画图你已经知道每个属性该放在哪个实体上。6. 把绪论变成动手实验用 MySQL 反推一遍数据管理概念绪论全是概念最容易变成“听完就忘”。我的血泪经验是光靠背定义撑不到期末必须把 PPT 里的抽象名词映射到真实操作上。具体做法是用 MySQL 把第一章涉及的 DDL、DML、DCL 三件事各跑一遍同时体验数据库的结构化存储。-- 对应 PPT 1.1.1CREATE 演示 DBMS 的数据定义功能DDL CREATE DATABASE school; USE school; CREATE TABLE employee ( emp_id CHAR(7) COMMENT 工号, dept_id CHAR(3) COMMENT 部门编号, name VARCHAR(20) COMMENT 姓名, gender TINYINT COMMENT 性别编码1-男 2-女, birth_date DATE COMMENT 出生日期, ethnicity CHAR(2) COMMENT 民族编码 ); -- 用 PPT 里的原始记录0005794, 601, 周济, 1, 1946.08.26, 01 INSERT INTO employee VALUES (0005794, 601, 周济, 1, 1946-08-26, 01); -- 数据操纵功能DML查询、修改 SELECT * FROM employee WHERE name 周济; UPDATE employee SET dept_id 602 WHERE emp_id 0005794; -- 数据控制功能DCL授权注意 MySQL 8.0 起必须先用 CREATE USER 建用户 CREATE USER analystlocalhost IDENTIFIED BY passwd; GRANT SELECT ON school.employee TO analystlocalhost; -- 外模式的直观体现视图只暴露必要字段 CREATE VIEW emp_basic AS SELECT emp_id, name, dept_id FROM employee;这段代码的逻辑和参数可以拆开看DDL 对应的是 PPT 里 DBMS 的“数据定义功能”——CREATE DATABASE 和 CREATE TABLE 改变的是结构本身不是数据内容。建表时 emp_id 用 CHAR(7) 而不是整数因为我查过工号含前导零用 INT 会被截断成 5794birth_date 用 DATE 而不是 VARCHAR是为了后续能做日期范围查询。这个字段类型的选择过程其实就是“有组织地存储数据”的实践形态。DML 对应 PPT 里的 SELECT、INSERT、UPDATE它们操作的是表中的数据记录。值得注意的是 INSERT 语句里的顺序必须和 CREATE TABLE 的列顺序保持一致否则要显式写列名这是初学者最常见的小翻车。DCL 对应权限控制。在 MySQL 8.0 之前可以直接用 GRANT 建用户并授权但 8.0 之后必须先 CREATE USER 再 GRANT直接跑老写法会报错。这个细节正好呼应了第 5 章“工具会变、概念不变”的观点——GRANT 的概念没变语法细节变了。视图是理解外模式的最好道具。用户访问 emp_basic 只能看到工号、姓名、部门三个字段底层 employee 表即使加了新列视图输出也不受影响这就是逻辑独立性的雏形。等学到第三章 SQL 语言时视图语句会反复出现现在先建立一个直观印象。从那以后我每次带学生过绪论都会要求他们先打开 MySQL 建一张表、插两条记录、跑一次 GRANT再把 PPT 里的四个名词写在纸面上做连线。概念是抽象的但一旦在终端里跑通过一遍数据、数据库、DBMS、DBS 这四个词就有了实体感。希望这份笔记帮到你。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联
返回资讯列表 →