阿里巴巴MySQL建表规约与开发规范
本文档是《阿里巴巴Java开发手册》的一部分,主要涵盖了MySQL的规约,旨在提高数据库设计和使用的规范性和效率。规约分为强制、推荐和参考三大类,旨在提升软件质量和开发效率。 ### 一、建表规约 1. **强制**:表达是与否的字段,使用 `is_xxx` 命名,数据类型为 `unsigned tinyint`,1代表是,0代表否。所有非负数字段必须使用 `unsigned`。 2. **强制**:表名和字段名应全为小写字母或数字,禁止数字开头,禁止两个下划线中间仅出现数字。字段名需谨慎选择,避免后期修改代价大。 3. **强制**:表名不使用复数形式,表名应反映实体内容而非数量,与DO类名保持一致。 4. **强制**:禁止使用MySQL保留字作为字段名。 5. **强制**:主键索引名为 `pk_字段名`,唯一索引名为 `uk_字段名`,普通索引名为 `idx_字段名`。 6. **强制**:禁止使用 `float` 和 `double` 存储精确数值,推荐使用 `decimal` 类型以避免精度问题。 7. **强制**:若字符串长度基本相等,使用 `char` 定长字符串类型。 8. **强制**:`varchar` 类型长度不超过 5000,超出此范围的应使用 `text` 类型,并独立为一张表,通过主键关联,以优化索引效率。 9. **强制**:每张表必须包含三个字段:`id`(主键,`unsigned bigint`,单表自增,步长1)、`gmt_create`(创建时间,`datetime` 类型)、`gmt_modified`(修改时间,`datetime` 类型)。 10. **推荐**:表名应包含业务名称和表的作用,如 `tiger_task`、`tiger_reader`、`mpp_config`。 11. **推荐**:数据库名应尽量与应用名称一致。 12. **推荐**:字段含义变更或状态追加时,应及时更新字段注释。 ### 二、索引规约 (未提供具体内容,但通常涉及索引的设计原则,如避免全表扫描,合理设计复合索引,考虑查询语句的WHERE子句中的字段等) ### 三、SQL规约 (未提供具体内容,可能包括避免SQL注入,合理使用JOIN操作,减少子查询,优化GROUP BY和ORDER BY等) ### 四、ORM规约 (未提供具体内容,可能涉及对象关系映射的配置和使用规范,如避免N+1查询,正确处理关联关系等) ### 以上规约适用于MySQL数据库,但开发过程中还应遵循其他编程、异常处理、日志、工程和安全规约,以确保整体代码质量和安全性。这些规约对于团队协作和项目维护至关重要,遵循它们可以有效减少错误,提高代码可读性和可维护性。
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/bb475ab8259f4d6895be1713f96206c6_weixin_26717737.jpg!1)
- 粉丝: 37
- 资源: 3954
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)