Oracle数据库设计规范建议
1目的
本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦;同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好的保证。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
2适用范围
本规范的适用人员范围包括我司的所有应用开发人员以及在我司承接数据库应用开发的软件人员。
本规范的适用IT范围包括数据库对象的命名规范、设计原则、SQL语句的设计和使用、SQL语句的性能优化建议、其他与性能有关的设计原则以及设计工具的选择。
3数据对象的命名规范
31通用规范311使用英文:要用简单明了的英文单词,不要用拼音,特别是拼音缩写。主要目的很明确,让人容易明白这个对象是做什么用的;312一律大写,特别是表名:有些数据库,表的命名乃至其他数据对象的命名是大小写敏感的,为了避免不必要的麻烦,并且尊重通常的习惯,最好一律用大写;
32数据库对象命名规范
321表的命名
3211表名的前缀:前缀_表名_T。为表的名称增加一个或者多个前缀,前缀名不要太长,可以用缩写,最好用下划线与后面的单词分开;其目的有这样几个:32111为了不与其他项目或者其他系统、子系统的表重名;32112表示某种从属关系,比如表明是属于某个子系统、某个模块或者某个项目等等。表示这种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员。比如以子系统为前缀的,当看到这个表的时候,就知道有问题可以去找该子系统的开发和使用人员;
322视图命名:相关表名_V(或者根据需要另取名字);
323程序包命名:程序包名_PKG(用英文表达程序包意义);
324存储过程命名:存储过程名_PRO(用英文表达存储过程意义);
f325函数命名:函数名称_FUN(用英文表达函数作用);
326触发器命名:触发器名称_TRI(用英文表达触发器作用);
327索引命名:表名_字段名_IDX如果存在多字段索引,取每字段前三个字符加下划线组合,如在customcutti
gcurtail上建立联合索引,命名为表名_cus_cut_cur_IDX如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在custidcustomcust
ame上建立联合索引,就命名为表_tid_tom_t
a_IDX
328唯一索引命名:表名_字段名_UNI如果存在多字段唯一索引,取每字段前三个字符加下划线组合,如在customcutti
gcurtail上建立唯一索引,命名为表名_cr