第一章|绪论:数据库系统概述与数据模型(ER 图重点)(常考/重要/易错版)

目标:能说清“数据库系统解决什么问题、由哪些部分组成、与文件系统相比优势在哪”;能画出并讲清 ER 图(实体/属性/联系、基数/参与约束、弱实体等),并能把需求描述转成 ER 模型。

1) 数据库系统概述

1.1 数据、数据库、DBMS、数据库系统(四个概念必须区分)

  • 数据(Data):描述现实世界的符号记录。
  • 数据库(DB):长期存储在计算机内、有组织、可共享的数据集合。
  • 数据库管理系统(DBMS):对数据库进行定义、操纵、运行管理与维护的软件(如 MySQL、PostgreSQL、Oracle)。
  • 数据库系统(DBS):DB + DBMS + 应用程序 + DBA/用户 + 相关硬件/规程 的整体。

常考点

  • “数据库系统”不等于“数据库软件”;它是一个包含人和制度的系统。

1.2 为什么要用数据库(对比文件系统的痛点)

文件系统常见问题:

  • 数据冗余大、难一致:同一信息多处存,更新难同步。
  • 数据共享困难:各应用各存一套,缺少统一管理。
  • 数据独立性差:数据结构一改,程序跟着大改。
  • 安全与并发控制弱:多用户同时访问易冲突。

数据库带来的核心能力(记忆版):

  • 数据共享减少冗余提高一致性
  • 数据独立性(逻辑/物理独立)
  • 统一的安全性、完整性、并发控制与恢复(事务、约束、日志等)

1.3 数据库系统的典型结构(概念层面)

  • 三级模式:外模式(用户视图)/ 概念模式(全局逻辑结构)/ 内模式(物理存储)
  • 两级映像:外-概念映像、概念-内映像

常考一句话:三级模式两级映像支持数据独立性(改物理不影响逻辑,改逻辑尽量不影响外部视图)。


2) 数据模型(重点:ER 图)

2.1 数据模型是什么(答题口径)

数据模型用来描述:

  • 数据结构(有哪些对象/属性/联系)
  • 数据操作(增删改查的基本操作)
  • 完整性约束(哪些是合法状态)

常见数据模型层次:

  • 概念模型(ER 模型)
  • 逻辑模型(关系模型最常见)
  • 物理模型(存储结构/索引等)

2.2 ER 图的三要素(最常考:会认会画会讲)

画法口径:按你发的教材图示(实体=矩形、联系=菱形、属性=椭圆;连线连接它们,并在联系两端标注 1:1 / 1:N / M:N)。

(1) 实体(Entity)

  • 表示现实世界可区分的对象(如“学生”“课程”)。
  • 实体集:同类实体的集合。
  • 图形表示:实体用矩形表示;实体名写在矩形内。

(2) 属性(Attribute)

  • 描述实体的特征(如学生:学号、姓名、性别)。
  • 常见属性类型(容易考概念题):
    • 简单/复合属性(姓名可拆姓/名)
    • 单值/多值属性(电话可能多值)
    • 派生属性(年龄可由出生日期推得)
    • 关键属性(Key):能唯一标识实体(如学号)
  • 图形表示:属性用椭圆表示;用线连到它所属的实体(或联系)。
    • 提醒:若某属性本质属于“联系”(如选课的成绩),应连到联系菱形,而不是连到某一端实体。

(3) 联系(Relationship)

  • 实体之间的关联(如“学生-选课-课程”)。
  • 联系也可以有属性(如选课联系上的成绩)。
  • 图形表示:联系用菱形表示;联系名写在菱形内;菱形与参与实体用线连接。

2.3 联系的基数(Cardinality)与参与约束(Participation)

基数(最常考:1:1、1:N、M:N)

  • 1:1:一个 A 至多对应一个 B,反之亦然(如“人-身份证”)。
  • 1:N:一个 A 对应多个 B,但每个 B 只对应一个 A(如“班级-学生”)。
  • M:N:A 与 B 两边都可能对应多个(如“学生-课程”选课)。

参与约束(容易漏写)

  • 全参与(必选):实体必须参与该联系(如每个学生必须属于某个班级)。
  • 部分参与(可选):实体可以不参与该联系。

易错点

  • 基数讲“数量上限”,参与约束讲“是否必须参与”。两者不是一回事。

2.4 弱实体(常考:如何识别与如何画)

  • 弱实体:自身属性不足以唯一标识,必须依赖某个强实体才能唯一确定。
  • 需要:
    • 标识联系(identifying relationship)
    • 部分键(partial key)(弱实体内部能区分同一强实体下的多个弱实体)

例:订单(强实体)- 订单明细(弱实体);明细行号是部分键。

2.5 从需求到 ER 图:最实用的“下手步骤”

  1. 从题干找名词:候选实体(学生/课程/教师…)
  2. 找实体的特征:属性(学号/姓名…)并确定主键
  3. 找动词/关系词:联系(选修/授课/管理…)
  4. 判基数:1:1、1:N、M:N(结合语义“一个…对应多个…”)
  5. 判参与:是否“必须/可选”
  6. 联系是否需要属性:如成绩、选课时间

3) 本章超短总结(考试版)

数据库系统用 DBMS 统一管理共享数据,解决文件系统的冗余、不一致、共享难与独立性差等问题;数据模型用于描述数据结构/操作/约束,其中概念层最重要的是 ER 模型:抓实体、属性、联系,明确基数与参与约束,并能从需求描述抽取 ER 图。

4) 自检题(对齐常考点)

  1. DB、DBMS、DBS 三者分别是什么?
  2. 数据库相对文件系统的核心优势有哪些?
  3. 画 ER 图时“基数”和“参与约束”有什么区别?
  4. 学生-课程的选课通常是什么基数?联系上最常见的属性是什么?

tag:course/db tag:chapter/1 tag:group:Learn