"MYSQL数据库开发设计规范"
MySQL数据库开发设计规范是确保数据库一致性、可读性和维护性的重要指导原则。规范涵盖了命名规范、设计规范等多个方面,旨在提高数据库的效率和可维护性。
**命名规范**
1. **总规范**:
- 命名应使用有意义的英文词汇,避免缩写,除非是通用缩写。
- 避免使用拼音和简写,除非英文无法准确表达。
- 只能使用英文字母、数字和下划线。
- 不得使用MySQL的保留字。
- 对象名之间不得有空格,并且不加后缀。
2. **数据库名**:
- 应使用小写字母。
- 以所属系统命名,使用名词或名词短语。
- 不使用复数形式,长度不超过30个字符。
3. **表名**:
- 同样使用小写字母。
- 开头通常为`t_`或模块名的1-2个字符缩写,如`f_`、`w_`。
- 使用名词和名词短语,不使用复数。
- 最大长度不超过30个字符。
4. **字段名**:
- 主键名固定为`pkid`。
- 候选外键名以关联表名加上`_id`,如`customer_id`。
5. **索引**:
- 普通索引前缀为`idx_`。
- 唯一索引前缀为`uni_`。
- 索引名由表名、下划线和列名组成,超长时先缩写表名,再缩写列名。
6. **键名**:
- 外键名以`fk_`开头,加上表名、源表名和主键标识,如`fk_salesorder_customer_id`。
**设计规范**
1. **表规范**:
- 每个表必须有一个主键,且主键不应与业务逻辑相关联。
- 主键`pkid`通常为INT或BIGINT类型,由表自增长属性生成。
- 每个表应包含以下四个字段:
- `pkid`:主键,INT或BIGINT类型。
- `lastmodified_by`:INT类型,表示最后修改人ID。
- `lastmodified_time`:DATETIME类型,记录最后修改时间。
- `valid`:INT类型,表示记录有效性,值为0或1,分别代表无效和有效。
这些规范旨在促进代码的一致性和可读性,降低理解数据库结构的难度,同时也为数据库性能优化提供了基础。遵循这些规范,可以更有效地管理数据库,减少潜在的冲突和错误,提高团队协作效率。在实际开发中,应当严格遵守这些规则,以确保数据库设计的质量和持久性。