数据库原理与应用 第 13 章 · 第五节
课程第 13 章第五节 下半章任务三条规则四个坑再验一遍七个实体六个联系都是三范式 版式
第 13 章 数据库概念结构设计和逻辑结构设计 · 第五节

逻辑结构设计与转换规则

本 节 知 识 点
  1. 2413.2 要把图翻成关系模式
  2. 25逻辑结构设计干什么
  3. 26联系怎么转,看它是哪一种
  4. 27转换时最容易漏的几件事
  5. 28规范化、评价与模式改进
  6. 29案例的实体先转出来
  7. 30三个 m:n 和三个 1:n
  8. 31十三个模式挨个验范式
24
第 13 章 · 第五节

13.2 要把图翻成关系模式

图画完了,接下来一条条翻成能写 CREATE TABLE 的样子。

第 24 页课件

重 点

翻译有固定规则,会背规则这一步就是机械劳动。

知道更多

同一张图换成别的数据模型,翻出来就不是关系模式了。

想一想

这一步之后还差什么才能真的建表?

25
第 13 章 · 第五节

逻辑结构设计干什么

把概念模型转成某个具体数据库支持的数据模型。

第 25 页课件

重 点

我们用的是关系数据库,所以目标就是一组关系模式。

关键术语记住这个名字

逻辑结构设计logical design
把 E-R 图转成关系模式的过程

知道更多

如果目标是别的模型,转换规则就不是这三条了。

26
第 13 章 · 第五节

联系怎么转,看它是哪一种

1:1 两边的键都是候选键,1:n 用 n 端的键,m:n 用两个键的组合。

第 26 页课件

试一试三种联系并排看

哪种联系
E-R 图上是这样
转出来是这样
关系模式主码几张表

重 点

实体转表没有例外,属性照搬,键做主码。难的全在联系上。

上机做

上机一第 7 题 1:1 差一个唯一

记牢它背下来

  1. 1:1 加唯一
  2. 1:n 放 n 端
  3. m:n 单独建
27
第 13 章 · 第五节

转换时最容易漏的几件事

实体别漏、联系别漏、主码要标出来、1:n 其实不产生新表。

第 27 页课件

重 点

1:n 那句话说的是最终结果,中间先转成模式再合并也一样。

知道更多

三个以上实体的联系,键组合起来太长时可以另设一个自增主码。

想一想

先转再合并,跟一步到位差在哪?

28
第 13 章 · 第五节

规范化、评价与模式改进

转出来还要验范式,还要看功能够不够、性能行不行。

第 28 页课件

重 点

功能评价对着需求逐条查,性能评价看存取次数和传送量。

分清楚两种改法

发现什么怎么改
功能不够加模式加属性
性能不行合并或者分解

想一想

为什么规范化之后还可能要合并?

29
第 13 章 · 第五节

案例的实体先转出来

七个实体七个关系模式,属性照抄,键做主码。

第 29 页课件

重 点

这一步没有判断,抄就完了,抄的时候顺手把主码标出来。

知道更多更正

图上写密码邮箱,这一页写登录邮箱,指的是同一个属性。

想一想

地址表里的电子邮箱,跟用户表里的是一回事吗?

30
第 13 章 · 第五节

三个 m:n 和三个 1:n

多对多的三张各自成表,一对多的三张先按规矩也转出来。

第 30 页课件

试一试十三张怎么变十张

走到哪一步
关系模式来自

重 点

供应的三个属性跟着进供应表,属于那张只有两列。

知道更多更正

第二个模式跟分类实体重名,图上这个联系叫属于。

上机做

上机三第 4 题 三张一对多的表

31
第 13 章 · 第五节

十三个模式挨个验范式

七加六等于十三,每一个都到了 3NF。

第 31 页课件

重 点

图画得好,转出来天生就是 3NF,因为一个模式只讲一件事。

练一练

为什么 E-R 图转出来的模式一般直接是 3NF?
  1. AMySQL 会自动处理
  2. B一个实体一件事、一个联系一件事,非主属性都直接依赖码
  3. C属性个数少
  4. D加了外码约束
答案 B

部分依赖和传递依赖都来自一张表混装几件事,图上早就分开了,自然没有。

想一想

那还有必要再验一遍吗?

保山学院·人工智能教研室·曹鼎鼎