版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ForDB2DBDevelopment-NamingSpecification/01/01Author(作者):JetLeeDate:Checkedby(审核):Date:
ChangeHistory(变更历史)DateVersionAuthorDescriptionofchange-6-121.0JetLee新起草-6-151.1JetLee文档拆提成两个
Content1 Introduction(引言) 61.1 Purpose(规范目) 61.2 Readers(阅读人员) 61.3 Glossary(术语) 61.4 Reference(参照资料) 62 UnifiedcriterionforNaming(统一命名规范) 62.1 OverallPrinciple(整体性原则) 62.2 Databasealias(数据别名) 72.3 ObjectSchema(对象概述) 72.4 Table(表) 72.4.1 TableName(表名称) 72.4.2 TableIndex(表索引) 72.4.3 TableField(表字段) 72.5 View(视图) 82.6 Storedprocedure(存储过程) 82.7 Function(函数) 82.8 VariantorParameter(变量&参数) 83 UnifiedcriterionforDevelopment(统一开发规范) 93.1 Statement(语句) 93.1.1 OverallPrinciple(整体性原则) 93.1.2 Nesting(语句嵌套) 93.2 Comments(备注) 93.2.1 Field(字段) 93.2.2 Parameter(参数) 93.2.3 Function(函数) 103.2.4 Procedure(过程) 103.2.5 View(视图) 103.2.6 KeyArithmetic(核心算法) 113.3 CreateTable(表创立) 113.3.1 TableIndex(索引) 113.3.2 [删除]ParadigmRequirement(范式规定,原则上属于设计规定) 113.4 View(视图) 113.5 Function(函数) 113.6 Procedure(过程) 123.7 Trigger(触发器) 133.8 IsolationLevel(隔离集使用) 134 Attachment(附件) 134.1 [删除,系统设计范畴]TableNormalForm 134.2 IsolationLevel 13
Introduction(引言)Purpose(规范目)GuidethedeveloperhowtonametheDBobjects(Tables,views,storedprocedure,etc)(指引开发人员如何去规范对DB中对象进行命名);Readers(阅读人员)Developer,themembersofthereviewboard,DevelopmentManager;(开发人员;Reviewboard成员;开发经理);Glossary(术语)TableNormalform:Refertheattachment;表范式:参照附件;IsolationLevel:Refertheattachment;隔离级:参照附件;Reference(参照资料)NoneUnifiedcriterionforNaming(统一命名规范)OverallPrinciple(整体性原则)Thecharactersrangeforallnames:A-Z,a-z,0-9,_(Underscore).Notallowedtouseothercharactersasthename.(所有名称字符范畴为:A-Z,a-z,0-9和_(下划线)。不容许使用其她字符作为名称).PleaseuseEnglishwordsorEnglishphrases(includingabbreviations)asname,butcannotbeusedasthenameofmeaninglesscharactersorChinesePinyin.(采用英文单词或英文短语(涉及缩写)作为名称,不能使用无意义字符或汉语拼音。)Nameshouldbeclarity,theabilitytoaccuratelyexpressthemeaningofthings,andreadable.Pleasefollowtheprincipleof"seetoknowthemeaning".(名称应当清晰明了,可以精确表达事物含义,最佳可读,遵循“见名知意”原则。)Databaseobjectsneedtoaddthenecessarycomments,suchasTables,procedures,functions,etc.Expressthecontentsofthecommentsinyourmotherlanguage.(数据库对象需要添加必要注释,如表、存储过程、函数等,注释使用母语;)AccordingtothecharacteroftheDB2namingmanagement,weallusetheuppercaseoftheletterincreatethefollowingobjects:Procedure,table,fields,vieworfunctions.(依照DB2系统自身对对象名称管理特点,咱们在创立表、视图,函数,过程,字段过程中所有使用大写。)Sample:CREATEFUNCTIONSFC.F_SHOW_FIELD_NAME()RETURNSINTASBEGINRETURN(DBO.F_SHOW_FILED_QUANTITY())ENDDatabasealias(数据别名)Justfollowtheprincipleof"seetoknowthemeaning".(只要遵循“见名知意”原则。)Sample:PROM,MASII;ObjectSchema(对象概述)Keeptheschemashortasyoucanaspossible.3to6lettersareavailable.Allthelettersshouldbecapitalized.(请尽量简短(3至6个字母),建议使用涉及意义缩写,需要全大写。)Sample:SFC(该schema下所有表或对象是与SFC有关)LPCTable(表)TableName(表名称)Usenotmorethanthreewordstoconstructthetablename.Whenthelengthofasinglewordismorethaneight,notmorethan4letterscanbechosentorepresentthewholeword’smeaning.Inthecombinationname,allthelettersofeverywordshouldbecapitalized.Usethe“_”tospaceeverywordinthewholename.Exceptthesinglewordforthetablename,allthewordscannotbepluralinthecombinationname.(请使用不多于三个单词组合构建一种表名称。当某个单词字母较多(超过8个字母时),请选取其中四个核心字作为它代表含义;每个单词之间使用“-”分隔开;组合单词不使用复数,但单个单词则可以。)Sample:DELIVER_CSTM_ORDER(递交客户订单)ORDERS(订单表)TableIndex(表索引)Usethesystemdefaultnamingruleforthetableindex.Don’tchangeit.(在定义表索引时(PrimaryKey,Unique,etc),请使用系统默认命名,不必去改动它。)TableField(表字段)Usenotmorethanthreewordstoconstructthetablename.Whenthelengthofasinglewordismorethaneight,notmorethan4letterscanbechosentorepresentthewholeword’smeaning.Usethe“_”tospaceeverywordinthewholename.(请使用不多于三个单词组合构建一种字段名称。当某个单词字母较多时(超过8个字母),请选取其中不多于四个核心字作为它代表含义;组合单词中,每个单词之间如下划线间隔开);Sample:SCAN_DATE:扫描日期CSTM_ORDER_ID:客户订单IDView(视图)Referthenamingruleofthetable.Weshouldaddthecapitalized“V_”todifferentiatethetablename.(命名规则请参照“TableName”,为了与之相区别,在此前面加大写V_进行区别)Sample:V_ORDERS(订单)V_SHOP_SCAN(车间扫描)Storedprocedure(存储过程)Referthenamingruleofthetable.Weshouldaddthecapitalized“P_”todifferentiatethetablename.(命名规则请参照“TableName”,为了与之相区别,在此前面加大写P_进行区别。)Sample:P_GET_SHOP_SCAN(获取车间扫描数据)P_SEND_MAIL()(发送邮件告知)Function(函数)Referthenamingruleofthetable.Weshouldaddthecapitalized“F_”todifferentiatethetablename.(命名规则请参照“TableName”,为了与之相区别,在此前面加大写F_进行区别。)Sample:F_CHECK_COA(COA检查)F_VIEW_FIELD_NAME(显示字段名)VariantorParameter(变量&参数)Followthefieldnamingrule:(遵循字段命名方式)Sample:ORDER_NUMBER订单编号;Job(作业任务)Meettheprincipleof"seetoknowthemeaning".Notmorethan8wordsinthecombination.Theshortennameisnotavailable.Allthelettersshouldbecapitalized.Thejobexecutingfrequencyshouldbeaddedtothename.(符合见名知意原则,不多于8个单词组合名称,不使用缩写;所有字母需要大写;在名称背面加入该JOB执行频率);Sample:IMPORT_CUSTOMER_ORDER[5Min]Userdefineddatatype(顾客自定义数据类型)Followthetablenamingrule.Addtheprefix“UDT_”tothename.(Follow表命名规则,前面加“UDT_”);Sample:UDT_PHONE_NUMBER(自定义一种电话号码数据类型);UnifiedcriterionforDevelopment(统一开发规范)Statement(语句)OverallPrinciple(整体性原则)Intheprogramming,forreducingtheinputworkloadreason,allstatementwhichinvolvesthefollowingobjects:Table,view,function,procedure,schema,etc,shouldbeuppercase.(在编程过程中,为减少录入切换工作量起见,对于语句中手工录入核心字、语句以及涉及到数据库对象(Table,View,Procedure,Function,Schema)等等,所有使用大写。)Sample:SELECTFIELD_NAME,FIELD_TYPEFROMTABLE_LISTWHERE…UPDATETABLE_LISTSETFIELD_NAME=’XXX’WHERE…EXECP_LOAD_MACHINE_LIST(…)Nesting(语句嵌套)InDB2,weencourageusethenestingstatement.Butfortheeasetounderstand,thedepthofthenestingshouldnotbemorethantwotiers.Allthealiasusedinthestatementshouldbevariestoeachother.(在DB2中,勉励使用查询嵌套语句,但是为了可读性起见,嵌套深度不要过两层以上。同步嵌套语句中使用别名都应当各不相似。)SELECT*FROM(SELECTFILED_NAME,FIELD_TYPEFROM(SELECT…FROMTABLE_LIST)T)A,ALL_OBJECTSBWHERE…上面绿字某些为第一层;桔黄色某些为第二层;Butinthepermittedtiers,wedon’tcarehowmanytimesyouusethenesting.(但在容许层级上,使用多少次嵌套,不进行限制。)Comments(备注)Field(字段)Makecommentsforthefieldaspossibleasyoucan.Astothesimplifiedwordsincludedinthefieldname,youmustthegiveclearexplanationforit.(请尽量对表中所有字段进行备注;对于使用了简化单词组合成字段,请必要阐明。)Sample:FILE_NAME:文献名(这个简朴明了,不一定要备注上去).CSTM_NAME_CONVERT:客户名称转换(这个必要要备注,其中有CSTM是使用了简化单词,请解释明白。Parameter(参数)Tothefunctionorprocedure,weshouldaddthecommentsfortheentryparameters.(对于函数或存储过程,在它们过程体前面添加对各个入口参数解释.)Sample:P_LOADMACHINESCAN(INORDER_NUMBERVARCHAR(20),ININPUT_DATETIMETIMESTEMP)/*FUNCTIONNAME:P_LOADMACHINESCAN.此过程用于载入某个批次所有主机扫描记录;PARAMETERLIST:ORDER_NUMBER顾客输入工单号;(输入)INPUT_DATETIME顾客选取扫描时间范畴; (输入)*/Function(函数)Associatewiththeparameters;addthecommentsintheheadofthefunction.(请连同参数一起,在过程体前面添加对该函数作用进行解释).Sample:F_SHOW_FIELD_NAME(TABLENAMEVARCHAR(50))/*FUNCTIONNAME:F_SHOW_FIELD_NAME.此函数用于显示指定表所有字段名称;PARAMETERLIST:TABLENAME顾客输入表名字;(输入)*/Procedure(过程)Referthefunction.(请参照”函数”);Sample:P_LOAD_MACHINE_SCAN(INORDER_NUMBERVARCHAR(20),ININPUT_DATETIMETIMESTEMPT)/*PROCEDURENAME:P_LOAD_MACHINE_SCAN.此过程用于载入某个批次所有主机扫描记录;PARAMETERLIST:ORDER_NUMBER顾客输入工单号;(输入)INPUT_DATETIME顾客选取扫描时间范畴;(输入)*/View(视图)Addthenecessaryexplanationtotheview:Therelatedthetableandotherviewname,andfunctionname.(请在语句体前面加入对该视图必要阐明:该视图所涉及表,或其他视图名称,所引用函数名称等等); Sample: CREATEVIEWSFC.V_ORDERSAS/*VIEWNAME:V_ORDERS此视图重要用于计算内部客户订购公司产品联合价格;该视图引用:ORDERS(订单表)INNER_CSTM(内部客户表)F_COMBINE_OUTPUT(计算联合价格函数)*/ SELECTA.ORDER_NUMBER,B.CSTM_ID,DBO.F_COMBINE_OUTPUT(A.PRICE,B.QUANTITY)ASCOMBINE_OUTPUTFROMORDERSA,INNER_CSTMBWHEREA.ORDER_NUMBER=B.ORDER_NUMERKeyArithmetic(核心算法)(Nomattertheprocedureorfunction,addthecommentstothepositionwhereyouwantthinkitisdifficulttounderstand.(不论是存储过程,还是函数,在某些语句表达上,如果以为较复杂,或作必要阐明,请在该语句上面添加备注。)……/*依照订单表与内部客户表联合,通过函数F_COMBINE_OUTPUT计算得到联合价格更新到订单表价格*/UPDATEASETA.PRICE=DBO.F_COMBINE_OUTPUT(A.PRICE,B.QUANTITY)FROMORDERSA,INNER_CSTMBWHEREA.ORDER_NUMBER=B.ORDER_NUMER.……CreateTable(表创立)TableIndex(索引)Notmorethan3fieldscanbecombinedtotheprimarykey.Astothefieldwhosewidthislongerthan20characters,itcannotbesetastheprimarykey.(PrimaryKey索引组合不要超过三个字段;字段长度超过20字符,不能应用于PrimaryKey组合);Theindexshouldbecreatedforthefiledthatisusedfrequently.(对于频繁使用某个字段进行检索该表,应当在该字段上创立索引);Notmorethan3indexesexistinasingletable(Inadditiontotheprimarykey).(一种表(除了Primarykey)索引数量不应当超过三个);ParadigmRequirement(范式规定,原则上属于设计规定)(Exceptforthedatawarehousebuilding,allthetablecreatingshouldmeettheDB1NFrequirement.)除非进行数据仓库建设,否则所有任何表至少需要符合第一范式;View(视图)Forsavingtheworkload,nestingviewsisavailable.But,fortheeasetounderstand,thenestingstatementshouldnotbemorethanthreetiers.(为了节约代码编写,容许使用嵌套视图,但不应当超过三层。)Sample:CREATEVIEWV_ORDERS_DELIVERAS/*第一层*/ SELECT*FROMV_ORDERSWHERE…V_ORDERS:CREATEVIEWV_ORDERSAS SELECT*FROMV_INNER_ORDERV_INNER_ORDER:/*最后一层*/CREATEVIEWV_INNER_ORDERAS SELECT*FROMORDERSFunction(函数)Forsavingtheworkload,nestingfunctionsisavailable.But,fortheeasetounderstand,thenestingstatementshouldnotbemorethantwotiers.(为了节约代码编写,容许使用嵌套函数,但不应当超过两层。)Sample:CREATEFUNCTIONSFC.F_SHOW_FIELD_NAME()RETURNSINTASBEGINRETURN(DBO.F_SHOW_FILED_QUANTITY())ENDF_SHOW_FIELD_QUANTITY:CREATEFUNCTIONSFC.F_SHOW_FIELD_QUANTITY()RETURNSINTASBEGINRETURN5ENDForeasingtounderstandthecode,notmorethan200rowsintotaland120charactersinasinglerow(Includethe“Tab”character)areavailable.(为代码可读性起见,对函数开发行数限制在200行以内,列宽不超120个字符(涉及前面自动缩进占位符));Thefunctioncannotbeusedtotheoutputcolumninthequerythatreturnrowsaremorethan10,000.(函数应用到查询输出列时,仅能应用输出行数不多于1万行输出);Procedure(过程)Forsavingtheworkload,nestingprocedureisavailable.But,fortheeasetounderstand,thenestingprocedureshouldnotbemorethanthreetiers.(为了节约代码编写,容许使用嵌套过程,但从近来一次调用起,到最后一层不应当超过三层。)Sample:CREATEPROCEDUREP_LOAD_MACHINE(INORDER_NUMBERVARCHAR(20))/*第一层*/LANGUAGESQLBEGIN…CALLP_GET_SCAN(…)…END;P_GET_SCAN:CREATEPROCEDUREP_GET_SCAN(INMACHINE_SEQUENCEVARCHAR(20))LANGUAGESQLBEGIN……CALLP_LOAD_FROM_MASII(…)END;P_LOAD_FROM_MASII:/*最后一层*/CREATEPROCEDUREP_LOAD_FROM_MASII(INMACHINE_SEQUENCEVARCHAR(20))LANGUAGESQLBEGIN……END;OnlyusetheSQLServerdevelopmentstudiotodevelopthestoredprocedure.Othertoolsarenotavailable.(存储过程开发只使用SQLServer自身管理工具进行,不能使用C#,VB.NET等等开发工具);Foreasingtounderstandthecode,notmorethan600rowsintotaland120charactersinasinglerow(Includethe“Tab”character)areavailable.(为代码可读性起见,对存储过程开发行数限制在600行以内,列宽不超120个字符(涉及前面自动缩进占位符));Trigger(触发器)“Trigger”mustbeforbiddentouseinanytime.Itcanworsenthelogicstructureandmakethedeveloperhardtounderstand.Mostimportant,asinglepartchangewill
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁学院《科技文献检索与论文写作》2021-2022学年第一学期期末试卷
- 汽车改装技术 课件 4.2加装迎宾踏板和休闲踏板
- 2024年度旅游业务合作与运营合同协议2篇
- 手术室专科护士培训演讲
- xxx智慧停车场建设项目可行性研究报告
- 2024年办公室内勤年终工作总结范文
- 电工培训课件
- 肝病合并糖尿病的诊治
- 管理软件推广活动方案
- 银行培训公开课
- (初级)管工职业鉴定考试题库(含答案)
- 人教部编版四年级语文上册第26课《西门豹治邺》精美课件
- 《环境规划与管理》测试题题集
- GA/T 2133.2-2024便携式微型计算机移动警务终端第2部分:安全监控组件技术规范
- 《陆上风力发电建设工程质量监督检查大纲》
- 委托家里人办房产证的委托书范本
- 中央2024年中国民航大学博士专职辅导员及心理健康教育人员招聘笔试历年典型考题及考点剖析附带答案详解
- 2024年冶金工业技能鉴定考试-氧化铝制取工笔试考试历年高频考点试题摘选含答案
- 初中生学生心理健康教育(3篇模板)
- JT-T-914-2014危险货物道路运输企业安全生产档案管理技术要求
- 2024年社区工作者考试必背1000题题库带答案(基础题)
评论
0/150
提交评论