数据库技术:期末复习

Last updated on June 19, 2026 am

本文为 SJTU-CS3321 数据库技术课程的期末复习

第一章 数据库系统概论

1. 数据库系统概述

  • 基本概念:了解关系即可(包含的范围越来越大)

    • 数据(Data):数据库中存储的基本对象
    • 数据库(DataBase, DB)长期储存在计算机内、有组织可共享大量数据集合
    • 数据库管理系统 (DataBase Management System, DBMS):位于用户操作系统之间的一层数据管理软件
    • 数据库系统 (DataBase System, DBS):在计算机系统中引入数据库和 DBMS 后的系统构成
  • DBMS 的主要功能:理解即可

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

    DMBS 的主要功能

  • 数据库系统的特点

    • 数据的结构化:数据的结构用数据模型描述,无需程序定义和解释
    • 数据的独立性
      • 物理独立性:用户的应用程序与存储在物理磁盘上的数据库中数据是相互独立的,即当数据的物理存储改变了,应用程序不用改变
      • 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的,即数据的逻辑结构改变了,用户程序也可以不变
    • 数据的高共享性:数据面向整个系统,可以被多个用户、多个应用共享使用
    • 数据由 DBMS 统一管理和控制:数据的安全性保护、数据的完整性检查、并发控制、数据库恢复

2. 数据模型

  • E-R 模型:用 E-R 图来描述现实世界的概念模型

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

      • 两个实体型之间的联系

        • 一对一联系:如果对于实体集 AA 中的每一个实体,实体集 BB 中至多有一个实体与之联系,反之亦然,则称实体集 AA 与实体集 BB 具有一对一联系,记为 1:11:1
        • 一对多联系:如果对于实体集 AA 中的每一个实体,实体集 BB 中有 nn 个实体 (n0)(n\ge 0) 与之联系,反之,对于实体集 BB 中的每一个实体,实体集 AA 中至多只有一个实体与之联系,则称实体集 AA 与实体集 BB 有一对多联系,记为 1:n1:n
        • 多对多联系:如果对于实体集 AA 中的每一个实体,实体集 BB 中有 nn 个实体 (n0)(n \ge 0) 与之联系,反之,对于实体集 BB 中的每一个实体,实体集 AA 中也有 mm 个实体 (m0)(m \ge 0) 与之联系,则称实体集 AA 与实体 BB 具有多对多联系,记为 m:nm: 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 之间的联系是一对多的
        • 多对多联系、一对一联系
      • 同一实体集内各实体间的联系:一对多联系、一对一联系、多对多联系

  • 数据模型的三要素

    • 数据结构:对系统静态特性的描述
      • 内容:数据库的组成对象对象之间的联系
    • 数据操作:对系统动态特性的描述
      • 内容:对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
    • 数据的完整性约束条件:一组完整性规则的集合
      • 完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则

3. 数据库系统结构

三级模式二级映象

  • 三级模式与二级映象
    • 三级模式:对数据的三个抽象级别
      • 模式:数据库中全体数据的逻辑结构和特征的描述,是数据库模式结构的中心(首先确定)
        • 独立于数据库的其它层次,一个应用数据库只有一个模式
      • 外模式局部数据的逻辑结构和特征的描述
        • 面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备
        • 模式与外模式、外模式与应用的关系都是一对多
      • 内模式:数据物理结构和存储方式的描述
        • 依赖于全局逻辑结构,但独立于外模式,也独立于具体的存储设备
        • 一个数据库只有一个内模式
    • 二级映象:在 DBMS 内部实现这三个抽象层次的联系和转换
      • 外模式/模式映象:保证数据的逻辑独立性
      • 模式/内模式映象:保证数据的物理独立性

4. 数据库系统的组成

  • 数据库系统的组成数据库数据库管理系统(及其应用开发工具)、应用系统数据库管理员(DataBase Administrator, DBA)

    数据库结构示意图

  • DBA 的职责:了解即可

    • 设计与定义数据库
      • 参与数据库设计的全过程
      • 与用户、应用开发人员、系统分析员密切结合
      • 设计概念模式、数据库模式以及各个应用的外模式
      • 熟悉 DBMS 产品,决定数据库的存储结构和存取策略,设计数据库的内模式
    • 帮助最终用户使用数据库系统
    • 负责数据库系统的运维工作
      • 负责监视数据库系统的运行情况
      • 及时处理运行过程中出现的问题
      • 控制不同用户访问数据库的权限
      • 收集数据库的审计信息,保证数据库的安全性和完整性
    • 改进和重组数据库系统,调优数据库系统的性能
      • 负责监视、分析数据库系统的性能,包括空间利用率和处理效率;根据实际应用环境不断改进数据库设计
      • 数据库运行过程中不断地插入、删除、修改数据,DBA 要定期地或按一定的策略对数据库进行重组织
    • 转储与恢复数据库
      • 为减少硬件、软件或人为故障对数据库系统的破坏,DBA 必须定义和实施适当的后援和恢复策略
      • 一旦系统故障,DBA 必须能够在最短时间内把数据库恢复到某一正确状态
    • 重构数据库
      • 用户应用需求改变时,DBA 需要重新构造数据库,包括修改内模式或模式

第二章 关系模型和关系运算理论

  • 基本概念

      • 候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码
      • 主码(Primary key):若一个关系有多个候选码,则选定其中一个为主码
      • 主属性(Prime attribute)候选码的诸属性
    • 外码(Foreign Key):设 FF 是基本关系 RR 的一个或一组属性,但不是关系 RR 的码,如果 FF 与基本关系 SS 的主码 KsK_s 相对应,则称 FF 是基本关系 RR 的外码
      • RR 称为参照关系(Referencing Relation),SS 称为被参照关系(Referenced Relation)
    • 其他概念比较简单,在此不罗列
  • 关系模型中三类完整性约束:实体完整性、参照完整性、用户定义的完整性

    • 实体完整性::若属性(组) AA 是基本关系 RR主属性,则属性 AA 不能取空值
    • 参照完整性:若属性(组) FF 是基本关系 RR 的外码,它与基本关系 SS 的主码 KsK_s 相对应(基本关系 RRSS 不一定是不同的关系),则对于 RR 中每个元组在 FF 上的值必须为:或者取空值,或者等于 SS 中某个元组的主码值
    • 用户定义的完整性:针对某一具体关系数据库的约束条件,反映所涉及的数据必须满足的语义要求
  • 关系代数:要会用关系代数表示查询

    • 五种基本运算:选择、投影、并、差、笛卡儿积
    • 广义笛卡儿积(Extended Cartesian Product)

      R×S={trtstrRtsS}R \times S=\{\overset{\frown}{t_r t_s} \mid t_{\mathrm{r}} \in R \wedge t_{\mathrm{s}} \in S\}

    • 选择(Selection):在关系 RR选择满足给定条件的诸元组

      σF(R)={ttRF(t)= “真” }\sigma_{\mathrm{F}}(R)=\left\{t \mid t \in R \wedge F(t)= \text { “真” }\right\}

      其中 FF 是选择条件
    • 投影(Projection):从 RR选择出若干属性列组成新的关系

      πA(R)={t[A]tR}\pi_A(R)=\{t[A] \mid t \in R\}

      其中 AARR 中的属性列
    • 连接(Join):从两个关系的笛卡儿积中选取属性间满足一定条件的元组

      RAθBS={trtstrRtsStr[A]θts[B]}R \underset{A\theta B}{\bowtie} S = \{ \overset{\frown}{t_r t_s} \mid t_r \in R \land t_s \in S \land t_r[A] \theta t_s[B] \}

      其中 AABB 分别为 RRSS 上度数相等且可比的属性组,θ\theta 是比较运算符
      • 等值连接(equijoin)θ\theta 为 “” 的连接运算

        RA=BS={trtstrRtsStr[A]=ts[B]}R \underset{A = B}{\bowtie} S = \{ \overset{\frown}{t_r t_s} \mid t_r \in R \land t_s \in S \land t_r[A] = t_s[B] \}

      • 自然连接(Natural join):一种特殊的等值连接,两个关系中进行比较的分量必须是相同的属性组,在结果中把重复的属性列去掉(只有自然连接不用写连接条件

        RS={trts[UB]trRtsStr[B]=ts[B]}R \bowtie S = \{ \overset{\frown}{t_r t_s}[U-B] \mid t_r \in R \land t_s \in S \land t_r[B] = t_s[B] \}

        其中 RRSS 具有相同的属性组 BBUURRSS 的全体属性集合
      • 外连接(Outer Join):把舍弃的元组也保存在结果关系中,而在其他属性上填空值
      • 左/右外连接(LEFT/RIGHT OUTER JOIN):只把左/右边关系 RR 中要舍弃的元组(即悬浮元组)保留
    • 除(Division):给定关系 R(X,Y)R (X,Y)S(Y,Z)S (Y,Z),其中 X,Y,ZX, Y, Z 为属性组

      R÷S={tr[X]trRπY(S)Yx}R \div S=\left\{t_r[X] \mid t_r \in R \wedge \pi_Y(S) \subseteq Y_x\right\}

      其中 YxY_xxxRR 中的象集,x=tr[X]x=t_r[X]
      • 象集(Images Set):给定一个关系 R(X,Z)R(X, Z)XXZZ 为属性组,当 t[X]=xt[X]=x 时,xxRR 中的象集

        Zx={t[Z]tR,t[X]=x}Z_x=\{t[Z] \mid t \in R, t[X]=x \}

    • 运算顺序:为了减少关系运算的时间复杂度,通常先做选择运算,再做投影运算,最后做连接运算

参考资料

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


数据库技术:期末复习
https://cny123222.github.io/2026/06/18/数据库技术:期末复习/
Author
Nuoyan Chen
Posted on
June 18, 2026
Licensed under