数据库设计(一)

需求分析

  • 了解要存储的数据
  • 存储特点
    • 永久存储(分表,分库存储)
    • 不永久存储(归档,删除)
    • 时效数据(归档,不删除)
  • 数据的生命周期

逻辑设计

避免数据操作异常(插入,更新,删除)和数据冗余
- 第一范式:表是二维表
- 第二范式:单关键字段的表
- 第三范式:不存在传递函数依赖

物理设计

  • mysql存储引擎 engine=innodb
  • 表的字段类型
    这里写图片描述

    • 同样的数据,字符处理往往比数字忙
    • 列中的存储长度差不多时,且小于16个字符时选char而不是varchar
  • 主键(尽可能小)

    • 避免使用外键约束,但在相关联列上建立索引
    • 避免使用触发器
    • 严禁使用预留字段
    • 反范式设计

维护优化

  • 数据字典(每个列添加备注,然后select导出)
  • 索引
    这里写图片描述

      1,不要有太多索引  2,不要强制索引关键字
    
  • 表结构维护

    • 表的垂直拆分与水平拆分(控制表的宽度和大小)
      这里写图片描述

    • 尽可能少使用“select *”查询

    • 不要使用全文索引
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值