Oracle数据库设计策略及规范.docx

上传人:jian****018 文档编号:8519910 上传时间:2020-03-29 格式:DOCX 页数:2 大小:36.22KB
返回 下载 相关 举报
Oracle数据库设计策略及规范.docx_第1页
第1页 / 共2页
Oracle数据库设计策略及规范.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
Oracle数据库设计策略及规范设计策略及规范1.目的定义Oracle数据库设计规范,作为数据库规划、设计、开发以及维护人员的技术参考资料。用以规范和指导相关人员的设计行为。2.概述本文档根据Oracle数据库性能特点,描述对表、视图、存储过程、对象命名等方面的设计规范。3.基本策略3.1设计策略u分类拆分数据量大的表。对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。u分区策略在拥有数500行以上的表时,采用分区策略。u索引设计。对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个万多条记录的流水表以日期和流水号为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。u有时候为了提高性能。减少表的关联,恰当的数据冗余是允许的。u索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡u为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象,确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。u对于经常发生同时查询或频繁查询的表,最好把他放到不同的磁盘空间上4.逻辑设计规范4.1范式u如果没有性能上的原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余。u如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF。4.2表设计u对于数据量比较大的表,根据表数据的属性进行分区,以得到较好的性能。如果表按某些字段进行增长,则采用按字段值范围进行范围分区;如果表按某个字段的几个关键值进行分布,则采用列表分区;对于静态表,则采用Hash分区或列表分区;在范围分区中,如果数据按某关键字段均衡分布,则采用子分区的复合分区方法。u每个表均创建类型为Sequence的主键字段。u每个表中需含有如下几个基本字段:一个表的SEQ号,4个创建信息字段,5-8个备用字段,一个删除标记字段,最好还有一个行版本字段字段名类型备注业务SEQ号整数型作为表主键OBLIGATE1字符型备用字段OBLIGATE2OBLIGATE3OBLIGATE4OBLIGATE5CREATE_USER_IDVARCHAR创建用户IDCREATE_DATETIMEDATE创建时间LAST_UPDATE_USER_IDVARCHAR更新用户IDLAST_UPDATE_DATETIMETIMESTAMP更新时间u不要用Identify字段作为表的主键与其它表关联。4.3索引设计u常规OLTP应用,创建B-TREE索引,不创建位图索引。u不需要为小型数据表(5000)创建索引。u给单个表创建的索引不超过5个,特别是海量交易类表。u索引条件查询结果记录,不超总记录的20%。u不要给固定选项的字段创建独立索引。如只有男,女的性别字段;是,否的状态字段等,不要创建独立索引,位可以建立复合索引。u对于复合索引,索引字段顺序比较关键,把查询频率比较高的字段排在索引组合的最前面。u索引放到独立的表空间,该表空间不需要REDOLOG。u含有外键约束的表的字段,必须有单独索引。如订单明细的表头外键。5.对象命名规范5.1一般规范5.1.1语言u命名使用英文单词,不使用复数。u英文单词使用同对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名。u当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。u当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区别。u禁止使用中文或拼音缩写进行命名5.1.2大小写u名称一律大写,以方便不同数据库移植,以及避免程序调用问题5.1.3单词分隔u命名的各单词之间使用下划线进行分隔。u命名的各单词之间不允许有空格存在5.1.4保留字u命名不允许使用SQL保留字。5.1.5命名长度u表名、字段名、视图名长度应限制在29个字符内(含前缀)。5.1.6字段名称u同一个字段名在一个数据库中只能代表一个意思。u不同的表用于相同内容的字段应该采用同样的名称,字段类型定义。5.2对象命名规范5.2.1表命名u必须为表名加入分类。命名:分类名_表友好名(省略前缀:数据库名简写_TBL_分类名)范例:PM_ROLE_FUNCTION(权限管理_角色功能表)PM:权限管理ROLE_FUNCTION:角色功能表(表友好名)5.2.2固定表分类名uSYS_:系统信息类,如SYS_LOG日志uCFG_:配置类,CFG_COMPANY公司配置uHIS_:历史信息类,如数据量大则可按时间进行分区配置,如:HIS_01_SI_HEAD一月份的补料历史信息uBUS_:业务类,注意策略中的要求,如果表达到100W以上要用分区uMAP_:映射类,MAP_PACK_LIST包装方式映射表5.2.3字段命名5.2.3.1字段命名常用字头u布林(BOOL)类字段用IS打头u英名、中文名称用EN和CN结尾区分中英文如:NAME_ENu统一专用类别字段船公司:OWNER堆场:DEPOT5.2.3.2主键列u命名:表友好名_SEQ(省略前缀:数据库名简写_TBL_分类名)u范例:ROLE_FUNCTION_SEQ(表PUB_TBL_PM_ROLE_FUNCTION的主键)5.2.3.3外键列u命名:相关表主键名(省略前缀:数据库名简写_TBL_分类名)u范例:表ROLE_FUNCTION中的外键列ROLE_SEQ是表PUB_TBL_PM_ROLE的主键列名5.2.3.4一般字段u命名:字段友好名u范例:COMPANY_NAME_EN(公司英文名称)5.2.4索引u命名:IX_表名_构成的字段名;其中IX、PK、UK、FK分别表示为索引、主键、唯一、外键u范例:IX_PUB_PM_USER_TYPE(为表PUB_PM_USER的USER_TYPE字段创建的索引)5.2.5视图u命名:数据库名简写_VIEW_表A名_表B名u范例:5.2.6存储过程u命名:数据库名简写_PRC_存取过程特性名5.2.7序列u命名:表名_SEQ(省略前缀:数据库名简写_TBL_分类名)u范例:ROLE_FUNCTION_SEQ(表ROLE_FUNCTION的主键Sequence)5.2.8公用表空间u命名:TBS_存储的特性命名。u范例:5.2.9专用表空间u命名:TBS_表名_NN(NN=1,2,3,4)。u范例:5.2.10数据文件u命名:表空间名_NN.DBF(NN=1,2,3,4)。uu范例:6.设计工具u统一使用SybasePowerDesigner作为数据库设计工具,在该工具上完成数据库物理模型的设计,并且由该工具产生数据库脚本。u所有的数据对象的变更以数据库物理模型为基准。7.公共常用字段预定义u在SAMPLE.PDM中已经把一些公共常用的字段进行预定义,以后如果有新的公用字段可进行迭代
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!