🗄️ 第五章 引入数据库-数据库的结构与表的设计
📄 一句话概括

E-R 图把实体、属性、关系画成一张图:实体画方框、属性画椭圆、关系画菱形——脑中的模型落在纸上,讨论、评审、交接才有共同语言。

📝 本节和前面几节的关系

5-5 挑实体、5-6 认关系,本节把两者画出来。E-R = Entity-Relationship(实体-联系)。下一节讲具体画法记号,本节先建立「三件套」的画面感。

一、三件套记号

 ┌────────┐        ◇──────◇        ┌────────┐
 │ 学生   │        菱形=关系        │ 课程   │
 └────────┘        (选课)          └────────┘
    │  \属性画椭圆:姓名、学分…      │
元素 记号 例
实体 矩形方框 学生、课程
属性 椭圆(连线到实体) 姓名、学分;主键加下划线
关系 菱形(连两实体) 选课、属于

关系菱形旁边标上 1 : n / m : n / 1 : 1——5-6 的三种形状在图上一目了然。

二、E-R 图给谁看

场景 价值
和用户评审 用户看不懂表结构,看得懂方框和菱形
团队交接 一张图胜过十页文档
自己检查 漏了实体、关系画错,图上立刻现形

三、学生-课程 E-R 图(ASCII 速写)

┌──────┐  姓名(下划线学号)         ┌──────┐
│ 学生 │ ───┬─               ┌─── │ 课程 │
└──────┘    │   ◇选课◇── m:n ─┘    └──────┘
          ○成绩                     ○学分 ○课程名

(教材用标准图形;本课笔记用文字速写表达同样的结构。)

四、动手 Demo:把书评网站画成 E-R 图

三个实体(5-5 挑好的):用户(id 主键、昵称)、书(ISBN 主键、书名)、书评(评分、正文、时间)。

┌──────┐   1    ◇撰写◇    n  ┌──────┐   n  ◇属于◇   1  ┌──────┐
│ 用户 │────────────│────────│ 书评 │──────────│────│  书  │
└──────┘                     └──────┘                └──────┘

书评被画成了矩形而不是菱形——因为它是「有自己数据的关系」(5-6 口诀),多对多的中间表在 E-R 图里常升格为实体(弱实体)。

五、30 秒实验

把「学生-班级」关系画出来:班级方框、学生方框、中间菱形「属于」、旁边标 1:n,学生属性里画 class_id。画完对照 4-13 的外键 Demo——图和表一一对得上。

六、常见误区

自测三问 1. E-R 图三件套各用什么记号?(实体方框/属性椭圆/关系菱形) 2. E-R 图最大的用途?(给用户和团队一张共同语言图) 3. 书评在书评网站的 E-R 图里画成什么?(矩形实体——有自己数据的关系升格)

相关笔记