01-数据库系统概述

课程学习

一、数据库基础概念 & 技术发展:搞懂底层逻辑

很多人学数据库第一步就卡壳,分不清数据、信息、数据库的区别,我们从最基础的概念慢慢拆解。

1. 信息和数据:一字之差,完全不同

这两个概念是数据库的核心基础,记住一句话:数据是原材料,信息是加工后的有用结果

  • 信息:对原始数据整理、加工、赋予含义后,得到的有效内容。
  • 信息(教师PPT):信息是通过各种方式传播的能被感受的声音、文字、图像、符号等,是新的、有用的事实和知识。是对现实世界事物的存在方式和运动状态的反映,需要具有可表示性和可传递性。 信息的要点:现实、主观、有价值。 举例:把上面的数据整合:用户年龄18岁、25岁,性别女,所在地北京,有了明确含义,能看懂、能使用,这就是信息。
  • 数据 :就是最原始、未加工的符号,可以是数字、文字、图片、日期,没有任何意义。 举例:18、25、女、北京,单独看这些字符,你不知道代表什么,这就是纯数据。
  • 数据(教师PPT):数据是信息的载体,可以更有效地表示、存储和抽取信息。数据用来实现信息的可表示性和可传递性。

数据库的工作,简单说就是:收集海量原始数据,加工成有效信息,再安全、高效地存储和调用

2. 数据库(DB):结构化的智能数据仓库

官方定义很枯燥,我们通俗理解:数据库就是长期存储在电脑中、有规则、可共享、统一管理的数据集合

对比生活场景:

  • 以前我们存数据:用Excel表格、记事本,杂乱无章,数据多了就卡顿、重复、不好查找;
  • 数据库存数据:相当于把无数张Excel表格规整好,分类存放、自动去重、快速检索,所有人都能规范使用,不会混乱。

日常我们用的美团订单、微信好友、抖音视频记录、银行卡余额,所有线上数据,全部都存在数据库里。

数据库的核心价值:

  • 存储数据:以结构化方式高效存储海量信息。
  • 管理数据:提供标准接口支持数据的增、删、改、查操作。
  • 保障安全:通过用户权限控制、数据加密、备份恢复等机制,防止数据泄露、篡改或丢失。
  • 实现共享:允许多个合法用户或不同业务系统同时、并发地访问和使用同一套数据资源。

3. 数据管理:对数据的全流程打理

数据管理就是对数据的收集、存储、整理、查询、更新、删除、备份全流程操作。

依旧用生活案例理解:我们手机里的相册,整理照片、删除废图、分类相册、查找旧照片,这个过程就是最简单的数据管理。

而数据库的数据管理,就是把这个过程智能化、规模化,支撑亿万级数据的高效打理。

例如:收集所有学生详细信息,做成一个表格。将一组统计数据转换为一个统计图。定时备份数据。

4. 数据库管理技术的三大发展阶段

数据库不是一开始就这么智能的,经历了三个迭代阶段,每一次升级都是为了解决上一阶段的痛点:

阶段1:人工管理阶段(最原始)

计算机刚诞生时,没有专门存数据的工具,数据全部靠人工记录、手动录入。

核心特点:

  1. 数据不保存:用完即丢,仅在程序运行时人工输入,无长期存储介质。
  2. 数据不共享:一组数据只能对应一个程序,程序之间数据相互独立,大量冗余。
  3. 数据不独立:数据的逻辑结构或物理结构一旦改变,程序代码必须随之修改,维护成本极高。

痛点:数据不能共享、重复严重、丢失风险高、完全依赖人工,效率极低。

阶段2:文件系统阶段(半自动化)

电脑出现文件功能后,人们用txt、Excel、文件夹存储数据。

核心特点:

  1. 数据可长期保存:数据以文件为单位长期存储在外存上,可反复使用。
  2. 共享性差、冗余度大:一个应用程序通常对应一个文件,不同程序的数据无法直接共享。
  3. 数据独立性差:数据的逻辑结构发生改变,应用程序代码通常也需要随之修改,维护成本高。

优势:数据可以长期保存、不用全程人工记录;

痛点:数据杂乱、关联性差、修改一个数据要改多个文件、无法统一管理,数据冗余严重。

阶段3:数据库系统阶段(现阶段主流)

专门的数据库软件诞生,实现数据统一管理、共享使用、关联存储,也是我们现在学习和使用的阶段。

5. 数据库管理阶段的核心特点

对比前两个阶段,现代数据库的核心优势小白也能一眼看懂:

  • 数据结构化:所有数据按规则存放,比如用户表、订单表,分类清晰,不像文件系统杂乱无章;
  • 数据共享性高、冗余度低:一份数据多人、多个程序共用,不用重复存储,节省空间;
  • 数据独立性高:数据和软件程序分开,改数据不用改代码,改代码不用动数据;
  • 统一管控:支持数据查询、修改、备份、权限管理,安全可控。

二、数据库系统组成:软件+人员,两大核心模块

完整的数据库系统,不只是一堆数据,而是软件系统+专业管理人员的组合,缺一不可。

1. 软件系统:数据库的"硬件载体"

软件系统包含操作系统、数据库软件、开发工具等,其中最核心的就是DBMS(数据库管理系统)

1.1 什么是DBMS?

DBMS是专门用来管理数据库的核心软件,是用户和数据库之间的"桥梁"。

通俗举例:数据库是"仓库",DBMS就是"仓库管理员",我们所有的查数据、改数据、存数据的操作,都是通过DBMS完成的。

常见DBMS:MySQL、Oracle、SQL Server、Redis、MongoDB等。

1.2 DBMS的核心功能

作为数据库的核心,它包揽了所有核心工作,新手记住这6个核心功能即可:

  • 数据定义:规定数据的格式、表结构,比如规定用户表必须有姓名、手机号、年龄;
  • 数据操纵:支持增删改查(新增、删除、修改、查询数据),就是我们最常用的SQL操作;
  • 数据管理:管控数据权限,比如普通用户只能查数据,管理员可以改数据;
  • 数据存储:规整、压缩、存储海量数据,节省服务器空间;
  • 事务管理:保证数据安全,比如转账时,扣款和到账必须同时成功或同时失败,不会出现单边扣款;
  • 故障恢复:服务器崩溃、断电后,能自动恢复数据,避免数据丢失。

2. 人员:数据库的"运维管理者"

软件是工具,最终需要人来操作维护,数据库系统的核心人员就是DBA(数据库管理员),也就是我从事多年的岗位。

2.1 数据库管理员(DBA)核心工作
  • 搭建、部署、升级数据库系统;
  • 设计数据结构,规整数据存储规则;
  • 管控用户权限,防止数据泄露、误删;
  • 日常备份数据、排查故障、优化查询速度;
  • 处理高并发、海量数据带来的性能问题。

简单说:数据库稳不稳定、快不快、安不安全,全靠DBA运维把控

三、核心重点:数据模型(零基础必吃透)

数据模型是数据库的灵魂,也是新手最难理解、考试和面试最高频的知识点。大家不用死记硬背,记住三个世界的转换逻辑就能彻底搞懂。

1. 数据模型的核心逻辑:三个世界转换

我们现实生活中的事物,想要存入电脑数据库,必须经过三次转换:现实世界 → 信息世界(概念模型) → 机器世界(逻辑+物理模型)

第一步:现实世界

真实存在的事物和关系,比如:学校有学生、学生有姓名学号、学生要选课、一门课有多个学生选。这是我们肉眼可见的真实场景。

第二步:信息世界(概念模型)

把现实事物抽象化,不考虑电脑怎么存,只梳理清楚事物和关系,是中间过渡层。

核心术语(通俗举例):

  • 实体:真实事物,比如学生、课程、订单;
  • 属性:实体的特征,比如学生的姓名、学号、年龄;
  • 联系:实体之间的关系,比如学生和课程是"多对多"关系(一个学生选多门课,一门课多个学生选)。

常用工具:E-R图(实体-联系图),专门用来画概念模型,梳理数据关系。

第三步:机器世界

把抽象的概念模型,转换成电脑能识别、存储、读取的格式,分为两层:

  • 逻辑模型:规定数据的存储结构(我们重点学习的部分);
  • 物理模型:数据最终在硬盘、服务器上的存储位置、存储方式(底层硬件层面,新手无需深究)。

2. 核心逻辑模型详解(主流数据库全靠它)

逻辑模型需要体现三个方面的特征:

  1. 数据结构,描述数据用什么结构组织起来。例如,层次、网状、关系。
  2. 数据操作,描述可以对数据进行哪些操作。例如,读:查询;写:插入、删除、更新。
  3. 数据约束,描述数据规则从而保证数据完整。数据的正确性、有效性、相容性。

层次与网状模型的优缺点:

  • 优点:能直观、形象地描述实体及其联系,易于理解 。
  • 缺点:数据结构较复杂,存储数据需要更多的链接指针;在检索数据时,需要考虑数据的存储路径;在插入或删除数据时,要调整链接指针。
2.1 关系模型(目前绝对主流)

现在90%的数据库都是关系模型,比如MySQL、Oracle、SQL Server。

通俗定义:用二维表格(行+列)存储数据,表格之间可以建立关联关系

举例:学生表就是一张二维表

  • 列:学号、姓名、年龄、班级(固定属性);
  • 行:每一个学生的具体信息(一条数据);
  • 关联:学生表可以和成绩表关联,通过学号匹配对应成绩。

优点:结构简单、规整、支持复杂查询、数据准确性高,适合金融、电商、校园系统等绝大多数场景。

2.2 面向对象模型

贴合编程的面向对象思想,把每一个事物都当成一个"对象",包含属性和行为。

举例:把"学生"作为一个对象,属性是姓名、年龄,行为是选课、考试。

适用场景:存储复杂数据,比如图片、视频、工程文件等非表格数据,常用于高端工程、设计领域数据库。

3. 三个世界术语对应表(小白速记)

为了方便大家对应记忆,整理核心对应关系:

  • 现实事物 → 信息世界实体 → 机器世界数据表;
  • 事物特征 → 实体属性 → 数据表字段(列);
  • 具体一个事物 → 实体实例 → 数据表一行数据;
  • 事物关系 → 实体联系 → 数据表关联关系。

四、数据库系统体系结构:三级模式+二级映像

这部分是数据库架构的核心,也是面试高频考点,依旧用生活化分层逻辑讲解,看完彻底告别死记硬背。

1. 整体架构逻辑

数据库系统采用三级模式、二级映像 的分层架构,这套设计的核心目标就是实现两种独立性:数据逻辑独立性、数据物理独立性,隔离上层业务与底层存储,上层改逻辑、底层改硬件,尽量互不干扰。

内模式修改了,但不改变模式,则保证了数据的物理独立性;模式修改了,但不改变外模式,则保证了数据的逻辑独立性。

2. 三级模式(从用户到底层的三层结构)

2.1 外模式(用户层)

也叫"子模式",就是普通用户看到的专属数据视图

举例:学校数据库中,学生只能看到自己的成绩、课表;老师能看到全班成绩;管理员能看到全校数据。每个人看到的不同界面,就是不同的外模式。

特点:一个数据库可以有多个外模式,按需展示数据,保护隐私。

2.2 模式(全局层,核心层)

也叫"概念模式",是整个数据库的全局、完整数据结构,是所有数据的总模板。

举例:学校完整数据库,包含学生表、老师表、课程表、成绩表的所有结构和数据,是数据库的完整全貌,普通用户看不到,只有DBA能查看和管理。

特点:一个数据库只有一个模式,统一规范所有数据。

2.3 内模式(底层存储层)

也叫"存储模式",是数据在服务器硬盘上的真实存储方式

举例:数据库里的学生数据,最终是以文件、区块的形式存在服务器硬盘中,怎么存、存在哪、如何压缩,就是内模式管控的内容。

特点:一个数据库只有一个内模式,完全屏蔽底层硬件细节,用户无需关心。

3. 二级映像:三层架构的联动核心

三级模式不是孤立的,靠二级映像联动,实现数据独立性,这是架构的精髓:

3.1 外模式/模式映像

作用:保证逻辑独立性

通俗解释:如果全局数据表(模式)新增了字段,不会影响普通用户的视图(外模式),用户看到的界面不变,无需修改程序。

3.2 模式/内模式映像

作用:保证物理独立性

通俗解释:如果服务器硬盘更换、数据存储位置调整(内模式修改),不会影响全局数据结构(模式),用户和程序完全感知不到变化。

五、数据库新技术:新一代数据库全景简析

传统关系型数据库(MySQL、Oracle)适合常规业务,但面对海量大数据、高并发、复杂场景,就会出现瓶颈,因此诞生了第三代数据库和大数据管理新技术,下面通俗拆解主流类型。

1. 第三代新型数据库

1.1 面向对象数据库系统

贴合编程面向对象思想,支持对象、继承、封装,适合存储图片、模型、音频等复杂对象数据,多用于设计、工程领域。

1.2 对象关系数据库系统

结合了传统关系数据库和面向对象数据库的优点,既支持表格结构化数据,又能存储复杂对象数据,Oracle、PostgreSQL均支持该特性,适配绝大多数企业复杂业务。

1.3 XML数据库系统

专门存储、解析XML格式数据,多用于政务、金融、电商的数据对接、报文存储场景,适配标准化文本数据传输。

1.4 时序数据库系统

专门存储带时间戳的时序数据,比如设备监控数据、服务器性能数据、股市行情,数据按时间有序增长,写入速度极快。

1.5 空间数据库系统

专门存储地理位置、空间坐标数据,高德地图、百度地图、物流轨迹追踪,全部依赖空间数据库。

1.6 工程数据库系统

针对建筑、机械、软件开发等工程场景,存储工程图纸、模型、版本数据,支持复杂工程数据迭代管理。

2. 大数据时代核心技术:NoSQL数据库(重点)

NoSQL全称Not Only SQL ,不是取代传统数据库,而是补充传统数据库的短板,专门应对海量数据、超高并发、灵活数据结构场景,分为四大主流类型,全部附实战案例:

2.1 键值数据库(代表:Redis)

逻辑最简单,以「key(键)-value(值)」的形式存储数据,类似我们手机的字典、备忘录。

场景:缓存存储、登录态、验证码、热点数据。比如我们登录网站后保持在线、验证码5分钟有效,全部靠Redis实现,读写速度极快。

2.2 列存储数据库(代表:HBase)

按"列簇"存储数据,不同于传统表格按行存储,擅长存储超海量、稀疏数据

场景:大数据日志、用户行为日志、海量报表数据,是大数据分析的核心数据库。

2.3 文档数据库(代表:MongoDB)

以JSON/BSON文档格式存储数据,结构超级灵活,不用提前固定字段。

场景:小程序、APP用户信息、动态内容、商品详情,适合业务快速迭代、数据结构经常变动的场景。

2.4 图数据库(代表:Neo4j)

以"节点+关系"存储数据,专门处理复杂关联关系。

场景:社交人脉推荐、金融风控(排查转账关联账户)、知识图谱、物流链路分析,擅长挖掘数据之间的深层关系。

六、全文总结

  1. 数据库的本质是规整存储数据的智能仓库,从人工、文件系统迭代到数据库系统阶段,实现了数据高效、安全、共享管理;
  2. 完整数据库系统由DBMS软件+DBA运维人员组成,DBMS是核心工具;
  3. 数据模型核心是三个世界转换,关系模型是当下主流,适配绝大多数业务;
  4. 三级模式二级映像架构,实现了数据逻辑和物理独立性,是数据库稳定运行的核心架构;
  5. 新型数据库和NoSQL技术,弥补了传统数据库的短板,适配大数据、高并发、复杂场景。

以上就是数据库系统概述的全套零基础知识点,全程无晦涩理论,全部贴合实战场景,新手吃透这篇内容,就掌握了数据库入门的核心根基!

课后习题

第一部分:数据库基本概念和数据库技术发展

一、选择题

  1. 下列关于数据与信息的说法正确的是( )

A. 数据一定是有意义的内容 B. 信息是原始未加工的符号 C. 数据是原材料,信息是加工后有含义的内容 D. 数据和信息完全等价

  1. 数据库系统阶段相比于文件系统阶段,最大的优势是( )

A. 数据可以长期保存 B. 数据结构化、共享性高、冗余度低 C. 无需软件即可使用 D. 操作更加简单无脑

  1. 以下不属于数据库系统阶段核心特点的是( )

A. 数据结构化 B. 数据独立性高 C. 数据完全不可共享 D. 统一管理控制

二、判断题

  1. "20、上海、男"这类单独的符号属于原始数据,不属于信息。( )
  2. 文件系统阶段可以彻底解决数据重复、数据关联混乱的问题。( )
  3. 数据管理指对数据的收集、存储、增删改查、备份等全流程操作。( )

三、简答题

  1. 简述数据和信息的区别,并结合生活举例说明。
  2. 简述数据管理技术三个发展阶段的优缺点。

第二部分:数据库系统的组成(软件+人员)

一、选择题

  1. 数据库系统的核心软件是( )

A. 操作系统 B. DBMS 数据库管理系统 C. 办公软件 D. 浏览器

  1. 以下不属于 DBMS 主要功能的是( )

A. 数据定义与数据操纵 B. 事务管理与故障恢复 C. 自动编写业务代码 D. 权限与数据安全管理

  1. DBA 指的是( )

A. 数据库用户 B. 数据库管理员 C. 数据库开发程序员 D. 数据库测试人员

二、判断题

  1. DBMS 是用户和数据库之间的桥梁,所有数据操作都通过它完成。( )
  2. 数据库系统只需要软件,不需要专业人员维护。( )
  3. 故障恢复是 DBMS 的重要功能,可以避免数据丢失。( )

三、简答题

  1. 什么是 DBMS?日常常见的 DBMS 有哪些?
  2. 简述 DBA(数据库管理员)的主要工作职责。

第三部分:数据模型(重点必考)

一、选择题

  1. 数据模型的三个世界转换顺序正确的是( )

A. 信息世界→现实世界→机器世界 B. 现实世界→信息世界→机器世界 C. 机器世界→信息世界→现实世界 D. 现实世界→机器世界→信息世界

  1. E-R 图对应的模型是( )

A. 物理模型 B. 概念模型(信息世界) C. 逻辑模型 D. 面向对象模型

  1. 目前工业界最主流、使用最广泛的逻辑模型是( )

A. 面向对象模型 B. 关系模型 C. 网状模型 D. 层次模型

二、判断题

  1. 概念模型不需要考虑计算机如何存储,只梳理事物与关系。( )
  2. 关系模型通过二维表格的形式组织数据。( )
  3. 物理模型是程序员日常开发中最常操作的模型。( )

三、简答题

  1. 简述数据模型"三个世界"的对应关系,并写出术语对应关系。
  2. 什么是关系模型?请举一个生活案例说明。

第四部分:数据库系统体系结构(三级模式二级映像)

一、选择题

  1. 数据库三级模式中,面向普通用户、可以有多份的是( )

A. 外模式 B. 模式 C. 内模式 D. 存储模式

  1. 保证数据逻辑独立性的是( )

A. 模式/内模式映像 B. 外模式/模式映像 C. 三级模式结构 D. 以上都不是

  1. 关于数据库三级模式说法正确的是( )

A. 一个数据库可以有多个模式 B. 一个数据库只有一个内模式、一个模式 C. 外模式是底层存储结构 D. 内模式面向用户展示数据

二、判断题

  1. 模式也叫概念模式,是数据库全局完整数据结构。( )
  2. 模式/内模式映像可以保证物理独立性,底层存储改动不影响上层业务。( )
  3. 普通用户可以直接看到数据库的内模式存储细节。( )

三、简答题

  1. 简述数据库三级模式(外模式、模式、内模式)各自的作用。
  2. 什么是二级映像?分别解决了什么问题?

第五部分:数据库新技术(第三代数据库+NoSQL)

一、选择题

  1. 缓存、验证码、登录态场景最常用的 NoSQL 数据库是( )

A. MongoDB B. Redis C. HBase D. Neo4j

  1. 用于存储文档结构、数据结构灵活的数据库是( )

A. 键值数据库 B. 文档数据库 MongoDB C. 图数据库 D. 时序数据库

  1. 专门用于处理关系、图谱、风控、社交推荐的数据库是( )

A. Neo4j B. Redis C. HBase D. MySQL

二、判断题

  1. NoSQL 数据库是为了解决海量数据、高并发场景诞生的。( )
  2. HBase 属于列存储数据库,适合海量日志大数据存储。( )
  3. 时序数据库主要用来存储图片、文档文件。( )

三、简答题

  1. 简述四大类 NoSQL 数据库的特点及代表产品、适用场景。
  2. 简单列举3种第三代新型数据库及其用途。

参考答案(全章节)

一、数据库基本概念和技术发展

选择题:1.C 2.B 3.C

判断题:1.√ 2.× 3.√

简答题答案

  1. 数据是原始无意义的符号,信息是数据加工后得到的有意义、可使用的内容。举例:"18"是数据;"用户年龄18岁"是信息。
  2. ①人工管理:无存储工具、效率低、无法共享;②文件系统:可长期保存,但数据冗余高、关联性差;③数据库系统:数据结构化、共享性高、冗余低、独立性强、统一安全管理。

二、数据库系统的组成

选择题:1.B 2.C 3.B

判断题:1.√ 2.× 3.√

简答题答案

  1. DBMS 是数据库管理系统,是管理数据库的核心软件,是用户与数据库的桥梁。常见:MySQL、Oracle、SQL Server、Redis、MongoDB。
  2. DBA 负责数据库部署、结构设计、权限管理、数据备份、故障排查、性能优化、高并发运维、数据安全管控等工作。

三、数据模型

选择题:1.B 2.B 3.B

判断题:1.√ 2.√ 3.×

简答题答案

  1. 三个世界:现实世界(真实事物)→信息世界(概念模型,梳理实体与关系)→机器世界(逻辑+物理模型,计算机可识别存储)。对应关系:事物=实体=数据表;特征=属性=字段;单个事物=实例=一行数据。
  2. 关系模型是用二维表格(行、列)存储数据,支持表与表关联。举例:学生信息表,每一列是属性(学号、姓名),每一行是一个学生数据,可关联成绩表查询学生成绩。

四、数据库体系结构

选择题:1.A 2.B 3.B

判断题:1.√ 2.√ 3.×

简答题答案

  1. 外模式:面向普通用户,按需展示部分数据,保护隐私;模式:全局统一数据结构,整库唯一;内模式:底层硬件存储方式,管理数据在硬盘的存储规则。
  2. 二级映像包括外模式/模式映像、模式/内模式映像。前者保证逻辑独立性 (全局结构改动不影响用户视图);后者保证物理独立性(底层存储改动不影响上层数据结构和业务)。

五、数据库新技术

选择题:1.B 2.B 3.A

判断题:1.√ 2.√ 3.×

简答题答案

  1. ①键值数据库(Redis):key-value结构,读写快,用于缓存、验证码;②列存储数据库(HBase):海量稀疏数据,用于大数据日志分析;③文档数据库(MongoDB):JSON文档、结构灵活,用于APP/小程序动态数据;④图数据库(Neo4j):存储节点与关系,用于风控、社交推荐、知识图谱。
  2. 示例:面向对象数据库存储复杂对象模型;时序数据库存储时间序列监控数据;空间数据库存储地图、轨迹坐标数据;XML数据库用于标准化报文数据存储(任选其三即可)。
相关推荐
二进制漫游记2 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
2501_928996222 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
泡干脆面就番茄4 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
devpotato5 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情6735 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy3226 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
九月要晚安6 小时前
达梦DW与AFC对比
数据库
实战派K8S&DB6 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB6 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi