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

来源:互联网 发布:知我药妆那里来的小样 编辑:程序博客网 时间:2024/05/01 22:29

命名规范

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

1. 基本命名原则

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

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

(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_表名




**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name:    guoyJoe

QQ:        252803295

Email:    oracledba_cn@hotmail.com

Blog:      http://blog.csdn.net/guoyJoe

ITPUB:   http://www.itpub.net/space-uid-28460966.html

OCM:     http://education.oracle.com/education/otn/YGuo.HTM
 _____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!

答案在:http://blog.csdn.net/guoyjoe/article/details/8624392

Oracle@Paradise  总群:127149411

Oracle@Paradise No.1群:177089463(已满)

Oracle@Paradise No.2群:121341761

Oracle@Paradise No.3群:140856036


原创粉丝点击