要进行数据库设计首先要遵守范式,进行数据库设计时有六个阶段,下面依次介绍:
遵从范式(前三范式):
1NF:
在关系数据库中,每张表的属性应该具有原子性,
解决方法:将多余的属性拆分出来
2NF:
在1NF基础上,实体的属性必须完全依赖主键,不能部分依赖主键(针对复合主键)
会造成的问题:
插入异常
删除异常
更新异常
解决方法:
1.
将形成部分依赖的数据取出单独成表,需要用该数据时,就设成新表的主键
2.
加一个逻辑主键,例如自增的字段
3NF:
满足2NF,一个数据表中的每一列都要和主键直接相关,不能间接相关
数据库设计的6个阶段:
阶段一:需求分析
分析用户需求
记录报告,一定要沟通准确,避免信息不对称
收集数据,为数据形成标准
当数据量很大时,设备性能不够会崩的!!
解决冲突
命名冲突
异义同名
同义异名
国内和国外命名标准不一样
形成标准
如订单编号、学生编号等、避免重复
阶段二:概念数据库设计
E-R图来辅助理解
阶段三:逻辑数据库设计(写内容)
把e-r图转化为DBMS支持的形式
注:如果不按范式设计会导致大量冗余、错误
阶段四:物理数据库设计(字段用什么名称、类型)
考虑硬件、操作系统特性、评估磁盘空间等
阶段五:数据库实施( 初学者首要学习的一个阶段)
建表、写入东西