数据库设计流程
- 根据应用系统功能,分析数据实体(实体:存储的数据对象)
电商:用户、商品、订单…
教务系统:学生、成绩、课程… - 提取实体的数据项(数据项就是实体属性)
商品:商品价格,图片,描述…
学生:姓名、成绩、学号… - 根据数据库设计三范式规范设计的实体的数据项
如果数据表不满足三范式,可能会出现难以维护,破坏数据完整性,统一性的问题 - 绘制E—R图,直观展示实体与实体之间的关系
- 数据库建模:三线图进行数据表设计、powerdesigner,pdman
- 建库建表:编写sql语句
- 添加数据测试数据库
三范式
- 列不能再分
- 不存在非关键字段对关键字段的部份依赖
解决办法:把上表分成三个表1(学号、姓名、性别)2(课程编号、课程名称)3(学号、课程编号、成绩)其中第三个表是以学号与课程编号为联合主键 - 不存在非关键字段的传递依赖
解决:将关键字段和被依赖的非关键字段分别作为主键,一次检查所有非关键字段的依赖关系
绘制E—R图(实战中积累经验)
运用基本图形,连接线等表达出实体之间的关系,拥有的属性等等
概念数据模型–甲方
逻辑数据模型–程序员
物理数据模型–不同数据库物理模型不同:可以对数据模型进行微调,能用物理模型直接生成建库数据库语句–sql文件,在客户端运行该文件可以直接建库
建模工具:可以生成建库数据库语句–sql文件,也能直接生成面向对象的代码(例如java)但是一般不用,代码规范不一致