安邦集团数据一体化项目数据平台子项目数据库设计规范文档编号:数据库设计规范-001安邦保险集团股份有限公司本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第2页共9页文档描述文档名称数据库设计规范文档编号数据库设计规范-001当前版本V1.0内容简介文档变更日期版本说明作者审核2014-11-7V1.0新建本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第3页共9页数据库设计规范1.1命名规范1)数据库对象命名:是指数据库、数据库对象如TABLE、SEQUENCE、PROCEDURE、COLUMN等的命名约定;命名用富有意义英文词汇,除个别通用的,要避免使用缩写,多个单词组成的,中间以下划线分割;除数据库名称长度为1-8个字符,其余数据库对象为1-30个字符,Databaselink名称也不要超过30个字符;命名只能使用英文字母,数字和下划线;避免使用Oracle的保留字如LEVEL、关键字如TYPE(见列表);表命名以前缀_表名的方式实现,维表“D_”开头,事实表“F_”开头,信息表“I_”开头,临时表用“T_”开头。存储过程以PR_开头、视图以VIEW_开头、触发器以TRIG_开头前/后缀说明D_维表F_事实表I_信息表PR_存储过程VIEW_视图TRIG_触发器PK_主键FK_外键IXU_唯一索引CK_检查约束IX_索引IXBMP_位图索引SEQ_序列MVIEW_物化视图FUN_函数本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第4页共9页临时表使用后缀名“xxx_TMP”。2)字段名尽量不用缩写,字段命名:缓冲区字段与源系统一致;整合层字段按用业务含义英文词汇命名3)字段名长度在10个字符左右4)所有名称的字符范围为:A-Z,a-z,0-9和_(下划线),不允许使用其它字符作为名称5)采用英文单词或英文短语(包括缩写)作为名称,不能使用无意义的字符或汉语拼音6)所有数据库对象标识符不要用双引号扩起来1.2表命名规范:1.2.1缓冲层源系统序号类别表名开头1易保理赔(CAR_CLAIM_USER)CCU_源系统表名2产险佣金(COMMISION_USER)CU_源系统表名3客服(CUST_SERVICE_USER)CSU_源系统表名4人力(EHR)HER_源系统表名5健康险核心(HEALTH_INSUR_USER)HIU_源系统表名6健康险销管(HEALTH_SALE_USER)HSU_源系统表名7寿险核心(LIFE_INSUR_USER)LIU_源系统表名8寿险销管(LIFE_SALE_USER)LSU_源系统表名9V5(PROP_INSUR_V5_USER)V5_源系统表名10V6(PROP_INSUR_V6_USER)V6_源系统表名11电销(TELE_SALES_USER)TSU_源系统表名12银行CRM集市库(crm_dm_test)CDT_源系统表名13银行CRM应用库(crm_test)CT_源系统表名本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第5页共9页14养老险核心(YANGLAO_INSUR_USER)YIU_源系统表名15养老险销管(YANGLAO_SALE_USER)YSU_源系统表名16信用险(XINYONG_USER)XYU_源系统表名17反洗钱(DATAFXQ)FXQ_源系统表名1.2.2整合层,指标层,宽表,汇总层序号类别表名开头1.增量区IC_2.缓冲区DS_3.整合区DF_4.指标区ID_5.客户款表区IF_6.应用区TF_序号派生表名表名结尾1.xxx表(明细表)detailxxxDTL2.xxx表(存档表)archivexxxARC3.xxx表(错误表)errorxxxERR4.xxx表(缺少)lackxxxLACK5.xxx表(对照)mapxxxMAP6.xxx表(变更)movexxxMOVE7.xxx表(撤销)cancelxxxCANCEL8.xxx表(参数)paramxxxPARA9.xxx表(报表)reportxxxREP10.xxx表(日志)logxxxLOG本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第6页共9页1.3常用字段规范(一)、字段不使用任何前缀。(二)、字段名也避免采用过于简单的名称:例如,用户表中,用户名的字段名为user_name而不是定义为name。(三)、布尔型的字段,以一些助动词开头,更加直接生动:如,用户是否留言has_message,用户是否通过检查is_checked等(四)、如果接口文件某字段是日期时间类型,数据库也采用相应的数据类型,不要使用字符或数字数据类型。我们要把脏数据拒绝在系统之外,同时也可以发现脏数据,作为数据质量的一部分反馈出来。1.3.1常用字段的命名及数据类型规范序号常用字段名称代码数据类型11.xxx金额xxxAMTDECIMAL(24,2)12.xxx日期xxxDATEDATE\TIMESTAMP13.xxx起始日期xxxBEGINDATEDATE14.xxx截至日期xxxENDDATEDATE15.xxx时间xxxTIMETIMESTAMP16.xxx名称xxxNAMEVARCHAR(128)17.xxx简称xxxNAMEABVARCHAR(128)18.xxx国别xxxCOUNTRYCHAR(3)19.xxx币种xxxCCYCHAR(3)20.xxx地址xxxADDRVARCHAR(256)21.xxx编号、标识xxxID22.xxx序号xxxNOSMALLINT23.xxx数量xxxNUMSMALLINT24.xxx代码xxxCODE本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第7页共9页25.xxx类型xxxTYPE26.xxx属性xxxATTR27.xxx状态xxxStat28.xxx描述、说明xxxDESCVARCHAR(256)29.xxx原因xxxREASONVARCHAR(256)30.变更前xxxxxxOLD31.变更后xxxxxxNEW32.xxx指标xxxIndex33.xxx参数xxxPARA34.xxx值xxxVAL35.xxx比率xxxRATE36.xxx余额xxxBAL37.xxx额度xxxLMT38.xxx次数xxxNUMSMALLINT序号常用字段名称代码数据类型1.银行的xxxBANKxxx2.企业的xxxCORPxxx3.xxx金额折美元USDxxx4.错误xxxERRxxx5.业务xxxBUSxxx6.是否xxxISxxx7.总量xxxTxxx8.账户xxxACCxxx1.4编码命名约定PACKAGE命名:本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第8页共9页PKG_名词。如:PKG_COMMON,PKG_ACCOUNT,PKG_BALANCE。FUNCTION及PROCEDUR命名:动词_名词。动词为大写开头的单词;如:Get_Xxx,Set_Xxx,Add_Xxx,Inc_Xxx,Adjust_XXX。变量命名:c_常量,p_参数,g_全局变量,v_内部变量,cur_游标,row_记录。循环变量不作要求。TYPE类型命名:T_类型;类型为大写单词,单词之间用下划线“_”分割开;指标命名:前缀+【6位编码】1.5ORACLE关键字列表ACCESSDECIMALINITIALONSTARTADDNOTINSERTONLINESUCCESSFULALLDEFAULTINTEGEROPTIONSYNONYMALTERDELETEINTERSECTORSYSDATEANDDESCINTOORDERTABLEANYDISTINCTISPCTFREETHENASDROPLEVELPRIORTOASCELSELIKEPRIVILEGESTRIGGERAUDITEXCLUSIVELOCKPUBLICUIDBETWEENEXISTSLONGRAWUNIONBYFILEMAXEXTENTSRENAMEUNIQUEFROMFLOATMINUSRESOURCEUPDATECHARFORMLSLABELREVOKEUSERCHECKSHAREMODEROWVALIDATECLUSTERGRANTMODIFYROWIDVALUESCOLUMNGROUPNOAUDITROWNUMVARCHARCOMMENTHAVINGNOCOMPRESSROWSVARCHAR2COMPRESSIDENTIFIEDNOWAITSELECTVIEWCONNECTIMMEDIATENULLSESSIONWHENEVERCREATEINNUMBERSETWHERECURRENTINCREMENTOFSIZEWITHDATEINDEXOFFLINESMALLINTCHARVARHCARVARCHAR2NUMBERDATELONGCLOBBLOBBFILEINTEGERDECIMAL本文档内容涉及安邦保险集团商业秘密,不得以任何形式披露、传播或扩散。第9页共9页SUMCOUNTGROUPINGAVERAGETYPE