zoukankan      html  css  js  c++  java
  • 设计规范

    DB规范

    一. 目的

     规范化和标准化 MySQL 开发设计。 

    指导研发人员合理使用 MySQL ,发挥 MySQL 最优性能。 

    二、名词

     
      

    术语和缩略语

    描述

    主键( PK )

    Primary Key ,自带唯一和非空约束的索引键, 一个表中只有一个主关键字,主关键字又称为主键。

    外键 ( FK )

    Foreign Key,建立于表与表之间的联系,方便程序的编写。

    索引

    Index ,索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

    覆盖索引

    Covering Index , InnoDB 支持覆盖索引(或称索引覆盖),即从辅助索引中可以得到查询的数据,而不需要查询聚簇索引中的记录。

    聚簇索引(聚集索引)

    Clustered Index , 聚簇索引并不仅是一种单独的索引类型,而且是一种数据存储方式。 InnoDB 的聚簇索引实际上在同一个结构中保存了 B+Tree 索引和数据行。

    InnoDB 的聚簇索引即主键索引。

    二级索引(辅助索引)

    Secondary Index , 非聚簇索引, InnoDB 的二级索引索引节点存储索引值,叶子节点保存的不是指向行的物理位置指针,而是相应行的主键值,即二级索引存储索引值和主键值。

     
     

    三、规范 

    正向: 

    1.数据库库名、表名、字段名由小写字母、数字组成,以_连接,最长32字符, 

    命名避免使用mysql保留字,mysql保留字见下: 

    https://dev.mysql.com/doc/refman/5.7/en/keywords.html 

    2.默认字符集 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci。 

    3.mysql 数据库存储引擎强制使用InnoDB。 

    4.单个表的字段数控制在 20个以下,最好不超过50个。单个表不超过20个char 或varchar 字段

       单表不超过50个纯int字段 

    5.非唯一索引必须按照“idx_字段名称_字段名称[_字段名]”进行命名, 

    唯一索引必须按照“uniq_字段名称_字段名称[_字段名]”进行命名。 

    6.表中字段一律not null,用default值。 

    7.一般情况使用自增列或者全局递增的 ID (无分库分表则用自增列,否则用全局递增 ID ) 作为主键。 

    8.记录系统事件发生时间,如gmt_create,gmt_modify,使用TIMESTAMP类型, 

    高并发如支付的事件记录到毫秒,可采用 timestamp(3)。

     
     

    反向: 

    9.一般禁止使用自定义函数、触发器以及外键, 

    有特别需要通过DBA、架构师评审通过后在设计文档说明。 

    10.禁止在数据库中使用存储图片、文件,视频等,文件存储在文件服务里, 

    数据库只存对应url. 

    11.禁止使用三表以及三表以上 JOIN 连接查询。 

    12.为发挥索引的价值,禁止在索引列上进行数学运算、函数运算(会使索引失效),禁止在

    索引列上进行类型转换。

     
     

    分布式: 

    13.分表 预计未来一年内,单表数据量 >1000 万行或单表存储容量 >10G ,考虑分表; 

    分表的字段上必须有索引,或者是组合索引的首列; 

    分表方式有取模分表,时间分表等。

  • 相关阅读:
    use other gpio pins as i2c
    systemd详解详解
    Python ctype sizeof incorrect!
    libvirt 安装篇
    Django Restful Framework (二): ModelSerializer
    Django Restful Framework (一): Serializer
    libvirt 网络手册(二):桥接网络
    KVM 虚拟机联网方式:NAT 和 Bridge
    libvirt 网络手册(一)
    CentOS 7 环境配置
  • 原文地址:https://www.cnblogs.com/beilong/p/14665813.html
Copyright © 2011-2022 走看看