Mysql设计规范

Mysql数据库命名

  • 所有数据库对象名称必须使用小写英文单词,中间用下划线分割 user_name
  • 临时表以tmp_前缀,备份表以bak_作为前缀,以日期时间作为后缀
  • 禁止使用mysql保留字,最长不要超过32个字符

Mysql数据库设计

  • 尽量用少的存储空间来存储数据,即能用int就不要用char,varchar;能用tinyint就不用int
  • 非负数使用unsigned关键字,ip地址使用unsigned int类型,可以使用inet_aton和inet_ntoa两个函数相互转换
  • 将常用的字段放在一个表上,不常用的数据较大的字段(例如text等)放在一个表上
  • 数据库的范式
    • 第一范式:字段值具有院子性,不能再分(所有关系数据库系统都满足第一范式);
    • 第二范式:一个表不许具有主键,即每行数据都能被唯一区分
    • 第三范式:一个表中不能包含其他相关表中非关键字段的信息,即数据表不能有冗余字段
  • 控制列数量,虽然mysql限制最多存储4096列,但是还是尽量将不常用的字段放在一个表上,以减少表的字段数
  • 控制表大小(尽量500万以内),过大的表运用数据归档(像日志等),分库分表(业务数据)等方式
  • 考虑效率,平衡范式与冗余,不要过于复杂的sql语句,不在数据库做运算

数据库设计

  • 一对一可以直接作为字段加在原表上,一对多和多对多建立新的表,并设置好主键(有时候即原子表的主键)
  • 尽量满足第三范式,但是有时候为了效率可以牺牲空间,即允许冗余字段的存在
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值