mysql设计 阅读数_【MySQL】MySQL数据库设计规范

命名规范

一. 基本规范

原则:清晰明了,简洁准确,见名知意。

组成:英文字母, 下划线,阿拉伯数字。

长度:最长64个字符,建议不超过32,以免对后序的操作带来不便。

命名方式。

名称中除下划线、数字的部分,要使用英文单词或英文短语或相应缩写,不推荐使用汉语拼音。

禁止使用MySQL关键字和保留字,见附录-关键字和保留字。

禁止出现数字开头。

英文字母使用小写形式,避免因操作系统或mysql服务配置的不同引起的问题。

名词使用单数。

多个单词用下划线分隔。

禁止两个下划线中间只出现数字。

二. 具体规范

1. 数据库库命名

1)使用项目名缩写作为前缀,如游戏项目: game_xxx。

2)库名长度控制在10个字符内,超出10个字符时,尽量使用单词缩写。

3)备份库必须以bak_为前缀,以日期为后缀 例:bak_video_20180307。

4)临时库必须以tmp_为前缀,以日期为后缀 例:tmp_video_20180307;

2. 表命名

1)用系统或模块的英文名的缩写作为前缀,优先使用模块名。

2)表名长度控制在15个字符内,超出15个字符时,尽量使用单词缩写。

3)备份表必须以bak_为前缀,以日期为后缀 例:bak_video_user_20180307。

4)临时表必须以tmp_为前缀,以日期为后缀 例:tmp_video_user_20180307。

3. 字段命名

1)避免出现数字。

2)除其它表的主键外,不需要添加前缀。

3)字段名长度控制在20个字符内,超出20个字符时,使用单词缩写。

4. 索引命名

1)主键索引名为pk_字段名,pk_即primary key。

2)非唯一索引 按照idx_字段名称_字段名称[_字段名]进行命名, idx_ 即index。

3)唯一索引 按照uk_字段名称_字段名称[_字段名] 进行命名, uk_即unique key。

4)如索引名过长,使用缩写。

三. 注释

1. 表注释

1)每个表必须要有注释。

2)描述数据表用途。

3)注释不超过30个字符。

2. 字段注释

1)每个字段必须要有注释。

2)描述该字段的用途及可能存储的内容,字段的取值含义或者范围。

3)如果是枚举类型,将该字段中使用的内容都定义出来。

4)注释不超过30个字符。

这个就是一个比较规范的创建表语句及注释

f3ef1c5acf4eb0b4a2997b04a64328b4.png

三.MySQL字符集

1. 字符集推荐

1) 非特殊需求,所有字符存储与表示,均使用utf8编码。

2)解读:通用,无乱码风险,汉字3字节,英文1字节。

3)如果需要存储表情符号,字段选择utf8mb4(utf8的超集)来进行存储,有些特殊字符串可以保存,比如IOS的表情。

2. 创建对象的字符集

2.1 字符集和校对规则的4个级别 (从上到下,级别递减)

1)服务器级别。

2)数据库级别。

3)表级别、列级别。

4)连接级别。

2.2. 更低级别的设置会继承高级别的设置。

2.3. 通用规则

1)先为服务器或者数据库选择一个合理的字符集,然后根据不同的实际情况,让某个列选择自己的字符集。

2)字符集能表达的字符范围 utf8 > gbk > gb2312 > latin1。

3)字符集中的ci 为Case Insensitive (大小写不敏感)的缩写,cs为Case Sensitive (大小写敏感)的缩写。

4)字符集中 bin 表示用二进制存储数据,用编码值进行比较,区分大小写。

3. 控制server和client端交互通信的字符集

1)character_set_server:mysql server默认字符集。

2)character_set_database:数据库默认字符集。

3)character_set_client:MySQL server假定客户端发送的查询使用的字符集。

4)character_set_connection:MySQL Server接收客户端发布的查询请求后,将其转换为character_set_connection变量指定的字符集。

5)character_set_results:mysql server把结果集和错误信息转换为character_set_results指定的字符集,并发送给客户端。

6)character_set_system:系统元数据(字段名等)字符集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值