数据库设计过程

设计过程

需求分析 > 逻辑设计 > 物理设计 > 维护优化

需求分析

  • 一张表需要存什么信息。用户信息有 名称手机号身份证年龄
  • 可以做唯一标识的字段: 手机号身份证
  • 存储特点: 永久存储还是会删除
  • 与其他表的联系

逻辑设计

  • 注意事项:
    更新异常:更新时应该更新指定的一条
    删除异常:删除时应该删除指定的一条
    数据冗余:数据重复出现
  • 设计范式
  1. 第一范式:一张表应该是一张二维表,对应一个值

bad

名称手机号用户信息
年龄地址
用户名113226728335中国

good

名称手机号年龄地址
用户名113226728335中国
  1. 第二范式:消除一张表中多种依赖关系,属性只依赖主键
    bad:更新异常、数据冗余
商品名称供应商价格
可乐供应商130
可乐供应商230

good

商品id商品名称价格
1可乐30
供应商id供应商供应商联系方式
1供应商1132234234
2供应商2144434134
商品id供应商id
11
12
  1. 第三范式: 消除一行中的字段有依赖关系
    bad
商品名称价格分类分类描述
手机1数码电子产品
纸巾2生活日常用品

good

商品名称价格分类id
手机11
纸巾22
分类id分类名称分类描述
1数码电子产品
2生活日常用品

物理设计

  • 数据库选择:Oracle、MySql、PostgrcSQL ...
  • 存储引擎选择: Innodb
  • 表、字段命名规范:单词_分割命名、尽量不用缩写
  • 字段数据类型选择:优先选择数字类型或占用字节小的
  • 使用数据库设计软件:pdman powerdesign

维护优化

  • 维护数据字典:创建表增加备注、保存好使用数据库设计软件设计的图形
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值