数据库设计规范之命名规范

原作者: guoyJoe

原文地址: 数据库设计规范之命名规范

命名规范

说明:指数据库对象如表(TABLE)、序列(SEQUENCE)、过程(PROCEDURE)、触发器(TRIGGER)等的命名约定。

1. 基本命名原则

(1) 规则1:1st_place_medal: : 命名使用具有意义的英文词汇,词汇中间以下划线分隔。

(2) 规则2​ :m: : 命名只能使用英文字母,数字,下划线,并以英文字母开头。

(3) 规则3: 避免用ORACLE、MySQL的保留字如desc,关键字如index。

2. 表命名

(1) 规则1: 同一个模块的表尽可能使用相同的前缀,表名称尽可能表达含义。

(2) 规则2:长度不超过25个字符。

3. 字段命名

(1) 规则1: 表达其实际含义的英文单词或简写。

MySQL:布尔意义的字段以“is_”作为前缀,后接动词过去分词。

(2) 规则2:各表之间相同意义的字段应同名。

MySQL:各表之间相同意义的字段,以去掉模块前缀的表名_字段名命名。

(3) 规则3:外键字段用表名_字段名表示其关联关系。

MySQL:禁止使用外键。

示例:log_prepay.id=log_account.prepay_id

示例(MySQL):字段prepay_group.id被prepay_contact引用;prepay_contact表中与之对应的字段命名为:group_id

4. 索引命名

(1) 规则1: 表名称_字段名_IND

MySQL:idx_表名称_字段名

示例:employee表first_name上的index:employee_fid_ind

示例(MySQL):prepay表agtphone_id和stream_id上的index:idx_prepay_aid_sid

5. 约束命名

(1) 规则1: 主键约束:表名称_PK。

(2) 规则2: 唯一约束:表名称_字段名_UK。

MySQL:除主键外,需存在唯一性约束的,可通过创建以“uk_”为前缀的唯一索引实现,但应用中需要同时有唯一性检查逻辑。

6. 触发器命名

(1) 规则1: TRG_表名_操作。

7. 函数过程命名

(1) 规则1: 采用动词+名词的形式表达其含义。

8. 序列命名

(1) 规则1: SEQ_表名

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信