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_