MySQL 数据库设计 笔记与总结(2)逻辑设计

时间:2021-05-18 05:55:52

【实例演示 —— 实体之间的关系】

MySQL 数据库设计 笔记与总结(2)逻辑设计

【逻辑设计的工作】

① 将需求转化为数据库的逻辑模型

② 通过 ER 图的形式对逻辑模型进行展示

③ 同所选用的具体的 DBMS 系统无关

 

【名词解释】

MySQL 数据库设计 笔记与总结(2)逻辑设计

候选码可以简单理解为数据库的主键或唯一索引

主码即主键

 

 【ER图例说明】

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

【ER图实例——小型电商网站】

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

【设计范式概要】

常见的数据库设计范式包括:第一范式第二范式第三范式 BC 范式、第四范式和第五范式等。

 

【数据库操作异常及数据冗余】

MySQL 数据库设计 笔记与总结(2)逻辑设计

数据冗余:相同的数据在多个地方存在,或者说表中的某个列可以由其他列计算得到。

 

【第一范式(1NF)】

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

【第二范式(2NF)】

MySQL 数据库设计 笔记与总结(2)逻辑设计

MySQL 数据库设计 笔记与总结(2)逻辑设计

因此以上的表设计不符合第二范式要求

存在的问题:

a 插入异常

b 删除异常

c 更新异常

d 数据冗余

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

【第三范式(3NF)】

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

MySQL 数据库设计 笔记与总结(2)逻辑设计

分类和分类描述不符合第三范式要求。

 

MySQL 数据库设计 笔记与总结(2)逻辑设计

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

【BC 范式(Boyce.Codd 范式 BCNF)】

MySQL 数据库设计 笔记与总结(2)逻辑设计

MySQL 数据库设计 笔记与总结(2)逻辑设计

 

MySQL 数据库设计 笔记与总结(2)逻辑设计

如何解决:

MySQL 数据库设计 笔记与总结(2)逻辑设计