设计过程
需求分析 > 逻辑设计 > 物理设计 > 维护优化
需求分析
- 一张表需要存什么信息。用户信息有
名称
、手机号
、身份证
、年龄
- 可以做唯一标识的字段:
手机号
或 身份证
- 存储特点: 永久存储还是会删除
- 与其他表的联系
逻辑设计
- 注意事项:
更新异常:更新时应该更新指定的一条
删除异常:删除时应该删除指定的一条
数据冗余:数据重复出现
- 设计范式
-
第一范式:一张表应该是一张二维表,对应一个值
bad
名称 |
手机号 |
用户信息 |
|
|
年龄 |
地址 |
用户名1 |
1322672833 |
5 |
中国 |
good
名称 |
手机号 |
年龄 |
地址 |
用户名1 |
1322672833 |
5 |
中国 |
-
第二范式:消除一张表中多种依赖关系,属性只依赖主键
bad
:更新异常、数据冗余
商品名称 |
供应商 |
价格 |
可乐 |
供应商1 |
30 |
可乐 |
供应商2 |
30 |
good
供应商id |
供应商 |
供应商联系方式 |
1 |
供应商1 |
132234234 |
2 |
供应商2 |
144434134 |
-
第三范式: 消除一行中的字段有依赖关系
bad
商品名称 |
价格 |
分类 |
分类描述 |
手机 |
1 |
数码 |
电子产品 |
纸巾 |
2 |
生活 |
日常用品 |
good
商品名称 |
价格 |
分类id |
手机 |
1 |
1 |
纸巾 |
2 |
2 |
分类id |
分类名称 |
分类描述 |
1 |
数码 |
电子产品 |
2 |
生活 |
日常用品 |
物理设计
- 数据库选择:Oracle、MySql、PostgrcSQL ...
- 存储引擎选择: Innodb
- 表、字段命名规范:单词_分割命名、尽量不用缩写
- 字段数据类型选择:优先选择数字类型或占用字节小的
- 使用数据库设计软件:pdman powerdesign
维护优化
- 维护数据字典:创建表增加备注、保存好使用数据库设计软件设计的图形
参考资料
数据库设计那些事
网友评论