数据库设计入门指南与学习笔记

本文主要记载我学习数据库设计过程中使用的学习资料和对相关知识的理解

入门篇

学习资料

慕课网的免费视频 数据库设计那些事

陈皓在『左耳听风』专栏之程序员练级攻略(2018)里推荐的数据库入门资料

学习笔记

什么是数据库设计?

根据业务需求,建立可以进行高效访问高效存储的数据存储模型。(我自己的理解,不是定义哈 😂)

1、业务需求

2、高效的访问

3、高效的存储

好的数据库设计是怎样的

1、减少数据冗余 (相同的数据在多个地方存在)

2、避免数据维护异常(插入、更新、删除异常)

3、节约存储空间(省钱 💰)

4、高效的访问

数据库设计的过程

1、功能模块划分

2、分析各个模块的数据包括的那些属性、那些是可选的唯一标识

3、分析实体间的关系 1对1 1对多 多对多

4、使用ER图展示2、3步

5、分析数据的生命周期。永久存储(分表、分库)还是归档存储还是不归档存储(定期清理)

使用ER图展示数据关系

设计范式

第一范式:字段是单一属性,不可再分,二维表。

第二范式:供应商名称和商品名称放在一起,组合关键字,不要出现。

第三范式:商品名称 -> 分类名 -> 分类描述 共存。

BC范式

字段类型的选择

1、当一个字段有多个类型可以选择的时候,优先选择数字类型、其次是日期和二进制,最后是字符类型。

2、如果列中要存储的数据长度差不多是一致的或者最大数据长度小于50byte优先使用 char 类型

3、主键的字段类型所占的空间要尽可能的小。

4、避免使用外键约束,会增加维护成本,但是在相关联的列上一定要建立索引

维护和优化

感谢您的阅读。 🙏 关于转载请看这里