1、为什么进行数据库设计?
良好的设计 |
糟糕的设计 |
减少数据冗余 |
存在大量数据冗余 |
避免数据维护异常 |
存在数据插入,删除,更新异常 |
节约存储空间 |
浪费存储空间 |
高效的访问 |
访问效率低 |
2、数据库设计步骤
3、逻辑设计——三大范式
第一范式:强调的是列的原子性,即列不能够再分成其他几列。
--->字段不可分
第二范式:表必须有一个主键;没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
-->非主键字段依赖主键
第三范式:非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。
-->非主键字段不能互相依赖