Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
gm-sql-rules
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
gm-sql-rules
Commits
f99ae86e
Commit
f99ae86e
authored
Aug 07, 2020
by
王鹏鸿
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update gm-sql-rules.md
parent
a517838d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
13 deletions
+7
-13
gm-sql-rules.md
gm-sql-rules.md
+7
-13
No files found.
gm-sql-rules.md
View file @
f99ae86e
...
@@ -16,20 +16,19 @@
...
@@ -16,20 +16,19 @@
3.
命名避免使用 Mysql 的保留字(详见附录 A)和系统关键字。
3.
命名避免使用 Mysql 的保留字(详见附录 A)和系统关键字。
5.
命名全部采用小写,并且名称前后不能加引号。
5.
命名全部采用小写,并且名称前后不能加引号。
### 数据库对象设计规范
### 数据库对象设计规范
#### 1. 表
#### 1. 表
##### 表设计
##### 表设计
1.
在设计时尽量包含两个日期字段:gmt_created(创建日期),gmt_modified(修改日期)且非空, 对表的记录进行更新的时候,必须包含对 gmt_modified 字段的更新。datetime, timestamp?
1.
在设计时尽量包含两个日期字段:gmt_created(创建日期),gmt_modified(修改日期)且非空, 对表的记录进行更新的时候,必须包含对 gmt_modified 字段的更新。
datetime, timestamp??? 业务方同学确认下。
2.
必须要有主键,主键尽量用自增字段类型,推荐类型为 INT 或者 BIGINT 类型。
2.
必须要有主键,主键尽量用自增字段类型,推荐类型为 INT 或者 BIGINT 类型。
3.
需要多表 join 的字段,数据类型保持绝对一致。
3.
需要多表 join 的字段,数据类型保持绝对一致。
4.
当表的字段数非常多时,可以将表分成两张表,一张作为条件查询表,一张作为详细内容表(主要是为了性能考虑)。case by case
4.
当表的字段数非常多时,可以将表分成两张表,一张作为条件查询表,一张作为详细内容表(主要是为了性能考虑)。case by case
5.
当字段的类型为枚举型或布尔型时,建议使用 char(1)类型。??
5.
同一表中,所有 varchar 字段的长度加起来,不能大于 65535.如果有这样的需求,请使用 TEXT/LONGTEXT 类型。
6.
同一表中,所有 varchar 字段的长度加起来,不能大于 65535.如果有这样的需求,请使用 TEXT/LONGTEXT 类型。
##### 表命名
##### 表命名
> 业务
团队同学共同参与
制定
> 业务
开发团队
制定
参考:
参考:
1.
同一个模块的表尽可能使用相同的前缀,表名尽可能表达含义,例如:CRM_SAL_FUND_ITEM。
1.
同一个模块的表尽可能使用相同的前缀,表名尽可能表达含义,例如:CRM_SAL_FUND_ITEM。
...
@@ -44,14 +43,12 @@
...
@@ -44,14 +43,12 @@
##### 字段注释
##### 字段注释
-
新增列、新建表,务必增加字段注释
1.
新增列、新建表,务必增加字段注释
![](
https://tva1.sinaimg.cn/large/007S8ZIlly1ggsonreafij30hd0u2751.jpg
)
#### 2. 索引
#### 2. 索引
##### 设计
##### 设计
1.
联合索引的第一个字段上不再建立普通索引
##### 命名
##### 命名
1.
普通索引使用idx_
1.
普通索引使用idx_
...
@@ -59,9 +56,7 @@
...
@@ -59,9 +56,7 @@
### SQL开发规范(建议)
### SQL开发规范
#### 1. 编码&格式规范
#### 1. 编码&格式规范
1.
表与表的关联只使用左连接和全连接,避免使用右连接,保证主表在前,从表在后的顺序,按照从左向右的思维逻辑,方便SQL业务逻辑的阅读
1.
表与表的关联只使用左连接和全连接,避免使用右连接,保证主表在前,从表在后的顺序,按照从左向右的思维逻辑,方便SQL业务逻辑的阅读
...
@@ -74,7 +69,6 @@
...
@@ -74,7 +69,6 @@
## 规范收集箱
## 规范收集箱
1 不允许drop table / column
1 不允许drop table / column
2 禁止在create table语句中指定字符集为utf8。我们所有环境mysql指定字符集为utf8mb4 存储引擎为innodb
2 禁止在create table语句中指定字符集为utf8。我们所有环境mysql指定字符集为utf8mb4 存储引擎为innodb
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment