天天看点

Oracle数据库命名规范

1.1约定

u  数据库的schema,数据库对象如表、字段、索引、序列、存储过程等的命名约定;

u  命名使用富有意义的大写英文词汇,尽量避免使用缩写,多个单词组成的,中间以下划线分割;

u  各表之间相关字段列名,字段类型尽量一致;

u  数值类型不使用varchar2,日期类型只用date,不允许使用varchar2;

u  除数据库名称长度为1-8个字符,其余为1-30个字符,Databaselink名称也不要超过30个字符;

u  命名只能使用英文字母,数字和下划线;

u  避免使用Oracle的保留字、关键字(见附录);

1.2表名

u  ORACLE大小写不区分,但一定不能使用’引号’ 。建议大写表名及列名。

u  表名使用英文单词,要有意义,不能使用拼音及中文。

1.3主键

u  建议大写。

u  已PK_ 开头,后边跟表名及字段名,根据长度可以适当缩写。

u  主键不要放在表里建,这样查看时都是SYS_开的,要放在表外单独建立。

1.4外键

u  建议大写,必须保证有索引。

u  以 FK_ 开头,后边跟参考表的表名及列名,根据长度可以适当缩写。

u  最好不要建立外键,从程序上设计约束逻辑。如果非要建立一个表的外键不要超过3个。

1.5索引

u  建议大写。

u  优先使用唯一索引,不能使用才考虑普通的tree索引。

u  单列索引:唯一索引,以UK_ 开头,非唯一索引以 IDX_ 开头,后边跟表名及字段名,根据长度可以适当缩写。

u  组合索引:已IDC_ 开头,后边跟表名及字段名,字段名的顺序应该严格按照建索引时指定列的顺序建立.字段数量不超过4个。

u  分区索引规则如上。

u  不允许使用其他类型索引,如函数索引,位图索引等。

1.6序列

u  建议大写。

u  已 S_ 开头, 后边跟表名,一个表只使用一个序列。

u  避免NOCACHE+ORDER组合,是会导致 队列等待(enq: SQ- contention)。

u  根据业务需求指定CACHE大小, 但需要注意如果系统发生故障,所有缓存的没有被DML语句使用并提交的序列值将丢失。潜在丢失值数量等于cache的数量。

1.7以下为不建议使用类型

u  视图  V_ 开头

u  函数  F_ 开头

u  触发器 T_ 开头

u  存储过程 P_ 开头

u  物化视图 MV_

u  包和包体 PKG_

u  类和类体 TYP_