1 / 17
文档名称:

oracle,数据库设计规范.docx

格式:docx   大小:24KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

oracle,数据库设计规范.docx

上传人:qiang19840906 2018/11/10 文件大小:24 KB

下载得到文件列表

oracle,数据库设计规范.docx

文档介绍

文档介绍:oracle,数据库设计规范
篇一:Oracle数据库设计规范建议
Oracle数据库设计规范建议
1 目的
本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦;同时好的规范,在执行的时候可以培养出好的****惯,好的****惯是软件质量的很好的保证。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
2 适用范围
本规范的适用人员范围包括我司的所有应用开发人员以及在我司承接数据库应用开发的软件人员。
本规范的适用IT范围包括数据库对象的命名规范、设计原则、SQL语句的设计和使用、SQL语句的性能优化建议、其他与性能有关的设计原则以及设计工具的选择。
3 数据对象的命名规范
通用规范
使用英文:要用简单明了的英文单词,不要用拼音,特别是拼音缩写。主要目的很明确,让人容易明白这个对象是做什么用的;
数据库对象命名规范
表的命名
表名的前缀:前缀_表名。为表的名称增加一个或者多个前缀,前缀名不要太长,可以用缩写,最好用下划线与后面的单词分开;其目的有这样几个:
为了不与其他项目或者其他系统、子系统的表重名;
表示某种从属关系,比如表明是属于某个子系统、某个模块或者某个项目等等。表示这种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员。比如以子系统为前缀的,当看到这个表的时候,就知道有问题可以去找该子系统的开发和使用人员;
视图命名:V_相关表名(或者根据需要另取名字);
程序包命名:PKG_程序包名(用英文表达程序包意义);
存储过程命名:PROC_存储过程名(用英文表达存储过程意义);
函数命名:FUN_函数名称(用英文表达函数作用);
触发器命名:TRG_触发器名称(用英文表达触发器作用);
索引命名:(如果存在多字段索引,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail 上建立联合索引,命名为表名_cus_cut_cur_IDX,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在 custid, custom,custname上建立联合索引,就命名为表
_tid_tom_tna_IDX;
唯一索引命名:UNI_表名_字段名(如果存在多字段唯一索引,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail上建立唯一索引,命名为 UNI_表名_ cus_cut_cur,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在 custid, custom,custname上建立唯一索引,命名:UNI_表_tid_tom_tna;
主键命名:PK_表名_字段名(如果存在多字段主键,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail上建立主键,命名为 PK_表名
_cus_cut_cur,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在 custid, custom,custname上建立主键,命名:PK_表_tid_tom_tna;
外键命名:FK_表名_主表名_字段名;
Sequence 命名:SEQ_表名_列名(或者根据需要另取名字);
Synonym 命名:与对应的数据库对象同名;
JAVA 命名:遵守公司相应的JAVA命名规范;
4 数据库对象设计原则
表的设计
主、外键
每个表,都必须要有主键。主键是每行数据的唯一标识,保证主键不可随意更新修改,在不知道是否需要主键的时候,请加上主键,它会为你的程序以及将来查找数据中的错误等等,提供一定的帮助;
一个表的某列与另一表有关联关系的时候,如果加得上的话,请加上外键约束。外键是很重要的,所以要特别强调:
适量建外键。为了保证外键的一致性,数据库会增加一些开销,如果有确凿的并且是对性能影响到无法满足用户需求的证据,可以考虑不建外键。否则,还是应该建外键;
不要以数据操作不方便为理由而不建外键。是的,加上外键以后,一些数据操作变得有些麻烦,但是这正是对数据一致性的保护。正是因为这种保护很有效,所以最好不要拒绝它;
以缺省的方式建立外键(即用delete restrict方式),以达到保护数据一致性的目的;外键在保护数据一致方面非常有效。如果不建外键,数据库中容易出现垃圾数据,并且无人知晓。当数据量很大的时候,查找这些垃圾数据也是相当困难的。而应用程序在设计时,往往没有考虑或者也无法照顾到垃圾数据。