数据库技术:笔记整理

Last updated on March 9, 2026 pm

本文为 SJTU-CS3321 数据库技术课程的笔记整理

第一章 数据库系统概论

1. 数据库系统概述

1.1 四个基本概念

  • 数据 (Data):数据库中存储的基本对象

    • 定义:描述事物的符号记录
    • 种类:数值、文字、图形、图象、声音、视频等
    • 特点:数据与其语义是不可分的
  • 数据库 (DataBase, DB)

    • 定义:长期储存在计算机内、有组织、可共享的大量数据集合
    • 基本特征
      • 数据按一定的数据模型组织、描述和储存
      • 可为各种用户共享
      • 冗余度较小
      • 数据独立性较高
      • 易扩展
  • 数据库管理系统 (DataBase Management System, DBMS)

    • 定义:位于用户与操作系统之间的一层数据管理软件
    • 用途:科学地组织和存储数据、高效地获取和维护数据
    • 主要功能
      • 数据定义功能
        • 提供数据定义语言(Data Definition Language, DDL)
        • 定义数据库中的数据对象的组成与结构
      • 数据组织、存储、管理功能
        • 文件结构和存取方式
        • 数据如何联系
        • 提高存储空间利用率、方便存取
      • 数据操纵功能
        • 提供数据操纵语言(Data Manipulation Language, DML)
        • 操纵数据实现基本操作,如查询、插入、删除和修改
      • 数据库的事务管理和运行管理
        • 保证数据的安全性、完整性
        • 多用户对数据的并发使用
        • 发生故障后的系统恢复
      • 数据库的建立和维护功能:实用程序或管理工具
        • 数据库数据批量装载和转储
        • 介质故障恢复
        • 数据库的重组织
        • 性能监视、分析
      • 其他功能
        • 数据库管理系统与网络中其它软件系统的通信
        • 数据库管理系统各系统之间的数据转换
        • 异构数据库之间的互访和互操作
  • 数据库系统 (DataBase System, DBS)

    • 定义:在计算机系统中引入数据库和 DBMS 后的系统构成

      • 在不引起混淆的情况下,常常把数据库系统简称为数据库
    • 构成:由数据库、数据库管理系统(及其应用开发工具)、应用系统、数据库管理员(DataBase Administrator, DBA)构成

    • 结构

      数据库系统结构图

1.2 数据库管理技术的产生与发展

  • 数据管理技术

    • 定义:对数据进行分类、组织、编码、存储、检索和维护,是数据处理和数据分析的中心问题
    • 发展过程
      • 人工管理阶段:40 年代 – 50 年代中
      • 文件系统阶段:50 年代末 – 60 年代中
      • 数据库系统阶段:60 年代末 – 现在
  • 人工管理阶段:40 年代中 – 50 年代中

    • 背景

      • 应用背景:计算机主要用于科学计算
      • 硬件背景:外存只有磁带、卡片、纸带,没有直接存储设备
      • 软件背景:没有操作系统、没有管理数据的软件
      • 处理方式:批处理
    • 特点

      • 数据不保存,没有文件的概念
      • 应用程序管理数据,程序员负担很重
      • 数据面向某个应用程序,无共享,冗余度大
      • 应用程序与数据的关系:一一对应,数据不具有独立性

      应用程序与数据对应关系 (人工管理阶段)

  • 文件系统阶段:50 年代末 – 60 年代中

    • 背景

      • 应用需求:科学计算、管理
      • 硬件水平:磁盘、磁鼓等存储设备
      • 软件水平:有文件系统
      • 处理方式:联机实时处理、批处理
    • 特点

      • 数据的管理者:文件系统,数据可长期保存
      • 数据面向的对象:某一应用程序
      • 数据的共享程度:共享性差、冗余度极大
      • 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序
      • 数据的结构化:记录内有结构,整体无结构数据
      • 控制能力:应用程序自己控制

      应用程序与数据对应关系 (文件系统阶段)

  • 数据库系统阶段:60 年代末以来

    • 背景

      • 应用需求:大规模管理
      • 硬件水平:大容量磁盘、磁盘列阵
      • 软件水平:有数据库管理系统
      • 处理方式:联机实时处理、分布处理、批处理
    • 特点

      • 数据的管理者:DBMS
      • 数据面向的对象:现实世界
      • 数据的共享程度:共享性高,冗余度小
      • 数据的独立性:高度的物理独立性和一定的逻辑独立性
      • 数据的结构化:整体结构化,用数据模型来表示
      • 控制能力:由 DBMS 统一管理和控制

      应用程序与数据对应关系 (数据库系统阶段)

1.3 数据库系统的特点

  • 数据的结构化:整体数据的结构化是数据库的主要特征之一

    • 数据的结构用数据模型描述,无需程序定义和解释
    • 数据可以变长;数据的最小存取单位是数据项
    • 不再仅仅针对某一应用,而是面向整个企业或组织
  • 数据的独立性

    • 物理独立性
      • 指用户的应用程序与存储在物理磁盘上的数据库中数据是相互独立的
      • 当数据的物理存储改变了,应用程序不用改变
    • 逻辑独立性
      • 指用户的应用程序与数据库的逻辑结构是相互独立的
      • 数据的逻辑结构改变了,用户程序也可以不变
  • 数据的高共享性:数据面向整个系统,可以被多个用户、多个应用共享使用

    • 好处
      • 降低数据的冗余度,节省存储空间
      • 避免数据间的不一致性和不相容性
      • 数据库系统弹性大,易于扩充
  • 数据由 DBMS 统一管理和控制

    • 数据的安全性(Security)保护:使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏
    • 数据的完整性(Integrity)检查:保持数据的正确性、有效性、相容性;将数据控制在有效的范围内,保证数据之间满足一定的关系
    • 并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果
    • 数据库恢复(Recovery):将数据库从错误状态恢复到某一已知的正确状态

2. 数据模型

  • 数据模型
    • 作用:抽象、表示和处理现实世界中的数据和信息
      • 通俗地讲数据模型就是现实世界的模拟
    • 要求
      • 能比较真实地模拟现实世界
      • 容易为人所理解
      • 便于在计算机上实现

2.1 两类数据模型

  • 概念模型:也称信息模型

    • 是按用户的观点来对数据和信息建模,用于数据库设计
  • 逻辑模型和物理模型

    • 逻辑模型:主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于 DBMS 的实现
    • 物理模型:数据最低层的抽象,描述数据在系统内部的表示方式和存取方法,面向计算机系统

2.2 概念模型

  • 概念模型

    • 用途
      • 用于信息世界的建模
      • 是现实世界到机器世界的一个中间层次
      • 是数据库设计的有力工具
      • 数据库设计人员和用户之间进行交流的语言
    • 基本要求
      • 较强的语义表达能力
      • 简单、清晰、易于用户理解
  • 信息世界的基本概念

    • 实体(Entity):客观存在并可相互区别的事物
      • 可以是具体的人、事、物或抽象的概念
    • 属性(Attribute):实体所具有的某一特性
      • 一个实体可以由若干个属性来刻画
    • 码(Key):唯一标识实体的属性集
    • 域(Domain):属性的取值范围
    • 实体型(Entity Type):同类实体,用实体名及其属性名集合来抽象和刻画
    • 实体集(Entity Set):同型实体的集合
    • 联系(Relationship):现实世界中事物内部以及事物之间的联系,在信息世界中反映为实体内部的联系和实体之间的联系
  • 实体之间的联系

    • 联系的度:参与联系的实体型的数目

      • 两个实体型之间的联系度为 2,称为二元联系
      • 三个实体型之间的联系度为 3,称为三元联系
      • N 个实体型之间的联系度为 N,称为 N 元联系
    • 两个实体型之间的联系

      两个实体型之间的联系

      • 一对一联系:如果对于实体集 A 中的每一个实体,实体集 B 中至多有一个实体与之联系,反之亦然,则称实体集 A 与实体集 B 具有一对一联系,记为 1:1

        • 例如,班级与班长之间的联系:一个班级只有一个正班长,一个班长只在一个班中任职
      • 一对多联系:如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体(n≥0)与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中至多只有一个实体与之联系,则称实体集 A 与实体集 B 有一对多联系,记为 1:n

        • 例如,班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习
      • 多对多联系:记为 m:n

    • 多个实体型之间的联系

      • 一对多联系:若实体型 E1,E2,EnE_1, E_2, \dots,E_n 存在联系,对于实体型 EjE_jj=1,2,,i1,i+1,,nj=1, 2, \dots, i-1, i+1, \dots, n)中的给定实体,最多只和 EiE_i 中的一个实体相联系,则我们说 EiE_iE1,E2,,Ei1,Ei+1,,EnE_1, E_2, \dots, E_{i-1}, E_{i+1}, \dots, E_n 之间的联系是一对多的
      • 多对多联系
      • 一对一联系
  • 同一实体集内各实体间的联系

    • 一对多联系:例如,职工实体集内部具有领导与被领导的联系,某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导
    • 一对一联系
    • 多对多联系
  • 概念模型的表示方法:概念模型的表示方法很多

    • 实体-联系方法 (Entity-Relationship approach)
      • 用 E-R 图来描述现实世界的概念模型
      • 提供了表示实体型、属性和联系的方法
      • E-R 方法也称为 E-R 模型
  • E-R 图

    • 实体型:用矩形表示,矩形框内写明实体名
    • 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来
    • 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n 或 m:n)
    • 联系的属性:用无向边与该联系连起来
      • 联系本身也是一种实体型,也可以有属性

2.3 数据模型的组成要素

  • 数据模型的组成要素

    • 数据结构:静态特性
    • 数据操作:动态特性
    • 数据的完整性约束条件
  • 数据结构

    • 作用
      • 描述数据库的组成对象及对象之间的联系
      • 经常用数据结构的类型来命名数据模型,例如:层次结构—层次模型、关系结构—关系模型
    • 描述的内容
      • 与对象的类型、内容、性质有关
      • 与数据之间联系有关的对象
      • 数据结构是对系统静态特性的描述

3. 数据库系统结构

4. 数据库系统的组成

5. 数据库的现状与展望

参考资料

本文参考上海交通大学《数据库技术》课程 CS3321 郭捷老师的 PPT 课件整理。


数据库技术:笔记整理
https://cny123222.github.io/2026/03/09/数据库技术:笔记整理/
Author
Nuoyan Chen
Posted on
March 9, 2026
Licensed under