本文内容大部分来自于慕课网课程数据库设计那些事,记录下学习的内容
数据库设计那些事
数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据库存储模型。
优良的设计 | 糟糕的设计 |
---|---|
减少数据冗余 | 存在大量的数据冗余 |
避免数据维护异常 | 存在数据插入,更新,删除异常 |
节约存储空间 | 浪费大量的存储空间 |
高效的访问 | 访问数据低效 |
数据库设计步骤
需求分析
数据库需求的作用点:
1.数据是什么
2.数据有哪些属性
3.数据和属性各自的特点有哪些
要搞清的一些问题:
1.实体及实体之间的关系(1对1,1对多,多对多)
2.实体所包含的属性有什么
3.哪些属性或属性的组合可以唯一标识一个实体
逻辑设计
使用ER图对数据库进行逻辑建模,同所选用的具体的DBMS系统无关。
设计范式
对设计范式的理解可参考解释一下关系数据库的第一第二第三范式?
1NF:列不可分就满足1NF了。
2NF:不存在部分依赖,比如 (A,B)→C。(消除非主属性对主属性的传递依赖,即完全依赖于主键)
3NF:不存在传递依赖,比如A→B→C。(在2NF基础上消除了传递依赖)