title | summary |
---|---|
Object Naming Convention |
Learn the object naming convention in TiDB. |
This document introduces the rules to name database objects, such as database, table, index, and user.
- It is recommended to use meaningful English words separated by underscores.
- Use only letters, numbers, and underscores in a name.
- Avoid using TiDB reserved words, such as
group
andorder
, as column names. - It is recommended to use lowercase letters for all database objects.
It is recommended to differentiate database names by business, product, or other metrics and use no more than 20 characters in a database name. For example, you can name a temporary library as tmp_crm
or a test library as test_crm
.
- Use the same prefix for tables of the same business or module, and make sure that the table name is self-explanatory as much as possible.
- Separate words in a name by underscores. It is recommended to use no more than 32 characters in a table name.
- It is recommended to annotate the purpose of the table for a better understanding. For example:
- Temporary table:
tmp_t_crm_relation_0425
- Backup table:
bak_t_crm_relation_20170425
- Temporary table of business operations:
tmp_st_{business code}_{creator abbreviation}_{date}
- Record table of accounts period:
t_crm_ec_record_YYYY{MM}{dd}
- Temporary table:
- Create separate databases for tables of different business modules and add annotations accordingly.
- The column naming is the actual meaning or abbreviation of the column.
- It is recommended to use the same column name between tables with the same meaning.
- It is recommended to add annotations to columns and specify named values for enumerated types, such as "0: offline, 1: online".
- It is recommended to name the boolean column as
is_{description}
. For example, the column of amember
table that indicates whether the member is enabled, can be named asis_enabled
. - It is not recommended to name a column with more than 30 characters, and the number of columns should be less than 60.
- Avoid using TiDB reserved words as column names, such as
order
,from
, anddesc
. To check whether a keyword is reserved, see TiDB keywords.
- Primary key index:
pk_{table_name_abbreviation}_{field_name_abbreviation}
- Unique index:
uk_{table_name_abbreviation}_{field_name_abbreviation}
- Common index:
idx_{table_name_abbreviation}_{field_name_abbreviation}
- Column name with multiple words: use meaningful abbreviations