数据库设计
1.数据库设计
1.1为什么需要设计数据库
当数据库比较复杂时我们需要设计数据库。良好的数据库设计能节省数据的存储空间、能够保证数据的完整性、方便进行数据库应用系统的开发;糟糕的数据库设计会产生数据冗余、存储空间浪费、内存空间浪费、数据更新和插入的异常。
1.2项目中的数据库设计
需求分析阶段:分析客户的业务和数据处理需求。
概要设计阶段:设计数据库的 E-R 模型图,确认需求信息的正确和完整。
详细设计阶段:应用三大范式审核数据库结构。
代码编写阶段:物理实现数据库,编码实现应用。
软件测试阶段:……
安装部署:……
1.3设计数据库的步骤
- 收集信息
- 标识实体
- 标识每个实体的属性
- 标识实体之间的关系
1.4绘制E-R图
1.5转化E-R图为数据库模型图
- 将各实体转换为对应的表,将各属性转换为各表对应的列
- 标识每个表的主键列
- 在表之间建立主外键,体现实体
2.数据库规范化
-
第一范式
第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
-
第二范式
如果一个关 系满足 1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF),第二范式要求每个表只描述一件事情。
-
第三范式
列,都依赖于该主键,则满足第二范式(2NF),第二范式要求每个表只描述一件事情。
-
第三范式
如果一个关系满足 2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式 (3NF)。
注:笔记思路来自查老师!!