8.规范数据库的设计
8.1为什么要设计
当数据库比较复杂的时候就要设计
糟糕的数据库设计:
- 数据冗余,浪费空间
- 数据插入删除都会有麻烦,异常
- 程序性能差
良好的数据库设计:
- 节省空间
- 保证数据库的完整性
- 方便我们开发系统
软件开发中,数据库设计
- 分析需求,分析业务和需要处理数据库的需求
- 概要设计:设计关系图E-R图
设计数据库步骤:(博客)
-
收集数据,分析需求
- 用户表(用户登录注销,用户个人信息,写博客,创建分类)
- 分类表(文章分类,谁创建)
- 文章表(文章信息)
- 友链表(友链表)
- 自定义表(两个列key:value)
-
标识实体(把需求落地到每个字段)
-
标识实体间的关系
8.2三大范式
为什么需要数据规范化?
- 信息重复
- 更新异常
- 插入异常
- 无法正常显示信息
- 删除异常
- 丢失有效信息
三大范式
第一范式
原子性:保证每列不可再分。
第二范式
前提:满足第一范式
每张表只描述一件事情,
每列数据都要和主键有关系。
第三范式
前提:满足第一、第二范式
确保数据表中的每一列数据都和主键之间相关,而不是间接相关。