版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1.围12.总体要求12.1数据库设计总体要求12.2数据库对象命名的总体要求12.3数据库程序编码的总体要求23.数据库设计规23.1数据库设计要求23.2数据库概念逻辑设计2需求调研2概念设计3局部设计3整体设汁3逻辑设计33.3数据库物理设计34.Oracle数据库命名规则44.1Oracle数据库对象命名规则4数据库名(Databases)5实例名〔Instances〕5表空间(Tablespaces)5数据文件〔Datafiles〕5日志文件〔Redologfiles〕5参数文件〔Parameterfiles和StoredParameterfiles〕6控制文件〔Controlfiles〕6回滚段〔Rollbacksegments〕6表〔Tables〕6字段〔Fields〕6索引〔Inde*es〕7约束〔Constraints〕7视图〔Views〕7同义词〔Synonyms〕7序列号〔Sequences〕8存储过程〔StoredProcedures〕8函数〔Functions〕8程序包〔Packages〕和程序包体〔PackagesBodies〕8触发器〔Triggers〕8角色〔Roles〕8用户〔Users〕84.2SQL、PL/SQL源代码编写约定8变量命名规则8代码排版规则9代码注释规则9其他要求105.数据字典文档编写格式105.1数据库表汇总表格式105.2数据库表详述表格式105.3编码数据表格式11围本规规定了市交通局数据库建立的规则,是检验评定软件开发者为市交通局开发的应用系统质量的标准尺度。本规适用于各软件开发者和有关单位为市交通局开发的应用系统所使用的数据库,数据库的设计、数据库的对象命名、数据字典文档的编写必须遵守本规。总体要求数据库建立规主要包括数据库设计规、数据库对象命名规则和数据库程序编码规则、数据字典文档编写格式等容。数据库设计总体要求数据库是交通信息化建立的重要根底。数据库设计通常是作为应用系统开发的一局部进展的,但在应用系统开发中数据库设计具有特殊的重要性和相对独立性,因此在本规中专门进展规定。关于交通局应用系统的开发要求,请参见"市交通局信息化软件开发实施指南"。开发者在系统设计阶段,应采用合理的设计方法进展数据库设计,建立数据库的逻辑模型和物理模型,最终设计出高性能、易扩展、易维护、少冗余、高平安性、高可靠性、一致性和完整性好的数据库。在数据库设计完成后,开发者应向交通局提交"数据库设计报告"。在软件鉴定验收时,开发者应向交通局提交完整的"数据库设计报告"、"数据字典"和在开发过程中发生的变更记录。数据库对象命名的总体要求数据库对象如表、存储过程等的名称一般根据对象的类别、所在的系统代号和自定义代号来确定,但对各类对象的命名有其特定要求,具体的各种对象的命名要求请见本规第四局部。自定义代号根据中文名称来确定,采用中文名称首字的全拼,后接其它字的中文拼音首字母,如果有两个对象根据此方法命名出现重复则对两个对象都用中文拼音的完整拼音来表示。数据库对象不得使用数据库的关键字作为名字。在本规则的第四局部对Oracle数据库的对象命名要求和程序编码要求做了具体规定,如果需要使用具它数据库如SQLServer等,其命名规则参照Oracle数据库的命名规则来进展。本局部的要求具有强制性,开发者应严格遵守此要求。数据库程序编码的总体要求通过对数据库程序编码制定规则,来提高程序的可读性。这其中主要包括变量命名规则、代码排版规则、代码注释规则等。本局部相对要求较宽,但开发者应参照这局部的要求制定自己的编码规,并严格遵守。本局部的代码注释规则是对开发者编写注释的根本要求,开发者自己可以提出对代码注释的更高要求,但不得低于本规则的要求。数据库设计规数据库设计要求为了保证数据库设计的质量,提高数据库的完整性、一致型、平安性、易扩展性、性能、减少数据的冗余,开发者应在需求分析阶段对已有业务系统、本期开发的业务系统和以后开发的业务系统的数据作全面的调研,在此根底上采用合理的设计方法,分析业务系统所涉及的数据及数据之间的在关系,利用如RationalRose、Together、ER-Win等软件作为数据库辅助设计工具,进展反映数据库中对象联系和依赖的概念逻辑设计和物理设计。在进展数据库设计时,除了本规以外,还应遵守"市交通局信息化软件开发实施指南"的要求。在数据库逻辑设计完成后,开发者应向交通局提交"数据库设计报告",在"数据库设计报告"中必须包括完整的实体关系图(E-R图),在得到交通局的评审认可前方可进展数据库的物理设计。在软件鉴定验收时,开发者应向交通局提交最终完稿的"数据库设计报告"及其变更记录,同时提交所交付软件完整的"数据字典"。数据库概念逻辑设计整个概念逻辑设计包括需求调研、概念设计和逻辑设计三个局部,需要与业务系统的调研、分析、设计和开发结合起来进展。需求调研在应用系统开发的需求调研阶段,应对本期开发的业务系统的功能数据和以后开发的业务系统的数据进展调研。对于本期要求开发实现的应用系统,应调研系统功能和所要处理的数据,同时要对交通局所有已有相关应用系统进展调研,分析这些系统是否已有新系统所需要的数据,该数据能否满足新系统的所有需求,以决定是否可以直接访问已有应用系统的数据库中的数据,或采用复制等方法定期将已有系统的数据复制到本期开发的应用系统后台数据库,或直接用新系统来维护这些数据。概念设计概念设计应采用E-R模型进展,针对各个业务系统进展局部数据视图设计,然后进展局部数据视图集成,进展整体数据视图的设计。在整体设计中找到最大的共享数据集,同时对这些共享数据进展语义上的描述(数据产生的业务系统、数据使用的业务系统等)。面向信息效劳的数据建模采用E-R模型描述,但所有的数据模式按照中心主题建立。E-R图设计、画法不是唯一的,但在绘E-R图时应注意:构造要清晰、关联要简洁、实体个数要适中、属性分配要合理、没有低级冗余。局部设计根据各个业务系统的需求调研,设计出业务系统中的所有实体和关系,形成—个局部的业务数据视图。整体设汁将交通局的各个业务系统对应的局部业务视图进展两两集成,删除冗余的实体和关系,记录业务系统的共享数据模式,最终实现一个没有冗余、一致的全局视图模式。标记所有共享数据模式的相关业务系统,以及数据的来源和数据的使用状况。逻辑设计根据得到的全局概念模式进展关系逻辑设计,并作规化分解,建立一系列的规化分解,对于概念模式中的数据集进展数据表的设计。所有的公共共享数据集,业务数据要保证数据源唯一。同时对本期开发的业务系统中不能维护但需要使用的共享数据集,建立与老业务系统之间数据抽取的映射关系。面向信息效劳的数据模式根据概念模式的来源和用途分别建立数据表或者跨数据库视图。能从业务数据平台中直接获取的数据应设计跨数据库视图,需要从业务数据平台层捕获的历史数据应设计成数据表。在逻辑设计阶段,应考虑:为提高程序的执行效率适当进展逆规化,减少连接运算合理的属性类型及长度创立视图可以建立面向用户的外模式,提供一定的逻辑数据独立性。数据库物理设计将设计好的关系逻辑模式按照数据产生的来源建立不同的业务数据集(库),然后建立一个公共共享数据集(库),在这个数据库中建立共享视图,同时为各个数据集(库)进展用户设置和权限分配。物理数据库的分布也存在多种模式:所有的物理数据库存在于一台数据库效劳器上,而且都由一个DBMS实例管理;所有的物理数据库存在于一台数据库效劳器上,由多个DBMS实例进展管理;所有的物理数据库分布在不同的数据库效劳器上,但所有的DBMS采用一种类型;因选择的数据库不同,在具体的物理设计上也会有所不同,但要保证数据库的设计和管理符合规,并保证制定的规是可行的、可扩的,同时必须符合本规的要求。在物理设计阶段,应根据数据的访问需求、频度、性能要求等设计索引和簇集,包括单属性索引、多属性索引、簇集索引等。Oracle数据库命名规则Oracle数据库对象命名规则为防止混乱,不得使用Oracle的关键字作为数据库对象的名字,Oracle数据库的关键字参见下表。除非在定义对象名称时在该对象前后加双引号,Oracle各类对象都以大写的形式保存,且在使用时不区分大小写。表4-1Oracle数据库关键字表ACCESSAUDITPRESSDESCADOBETWEENCONNECTDISTINCTALLBYCREATEDROPALTERCHARCURRENTELSEANDCHECKDATEE*LUSIVEANYCLUSTERDECIMALE*ISTSASCOLUMNDEFAULTFILEASCMENTDELETEFLOATFORLONGFCTFREESUCCESSFULFROMMA*E*TENTSPRIORSYNONYMGRANTMUNUSPRIVILEGESSYSDATEGROUPMODEPUBLICTABLEHAVINGMODIFYRAWTHENIDENTIFIEDNETWORKRENANETOIMMEDIATENOAUDITRESOURCETRIGGERINNOPRESSREVOKEUIDINCREMENTNOTROWUNIONINDE*NOWALTROWIDUNIQUEINITIALNULLROWNUMUPDATEINSERTNUMBERROWSUSERINTEGEROFSELECTVALIDATEINTERSECTOFFLINESESSIONVALUESINTOONSETVARCHARISONLINESHAREVARCHAR2LEVELOPTIONSIZEVIEWLIKEORSMALLINTWHENEVERLOCKORDERSTARTWHEREWITH各类Oracle数据库对象的具体命名应遵守下面的规则。数据库名(Databases)数据库名称由数据库系统的首字母拼音缩写加数据库编号组成,在只有一个数据库的情况下可不加数据库编号。数据库编号从1开场,并以增量1递增。实例名〔Instances〕如果一个数据库只有一个实例,则此实例与数据库名称一样,如使用Oracle和ParallelServer或OracleRealApplicationClusters产品,一个数据库可能有多个实例,则采用数据库名加下划线加实例首字母拼音来命名。在数据库建立过程中,各单位应认真填写数据库、数据库实例名及对应用途关系表,并交数据库管理员妥善保存,此表格如此下。表4-2数据库实例表地点数据库数据库实例名用途备注单位名数据库1实例1实例2数据库2实例1实例2表空间(Tablespaces)表空间分为两种,用来存储系统生成的临时数据的临时表空间(TemporaryTablespaces)和储存用户数据的永久表空间(PermanentTablespace)。临时表空间命名为TEMP_**,**表示编号〔下同〕,如一个数据库只有一个临时表空间,则直接用TEMP命名即可。永久表空间命名分为三段:TBS_SSSS_ZZZZ;TBS表示这是一个表空间,SSSS为系统代号,ZZZZ为表空间类型,可以为DATA和ID*,DATA表示该表空间用来存储表对象,ID*表示该表空间用来存储索引对象。系统代号应能反映该表空间中存储对象在系统中的总体功能,用功能名的首字母拼音表示。应用系统中的表和索引应该分别储存在两个表空间中,以到达提高性能的目的。数据文件〔Datafiles〕数据库文件的命名根据该文件所属表空间的名字进展,通过在表空间的名字后加下划线加编号实现,如<TABLESPACENAME>_**.dbf所示,数据库文件的名字用.dbf作为后缀。日志文件〔Redologfiles〕采用<DATABASENAME>_REDO_**.log来命名数据库的日志文件。参数文件〔Parameterfiles和StoredParameterfiles〕一个数据库对应一个参数文件,其命名用init_<DATABASENAME>.ora表示。Oracle9i推出了存储参数文件的功能,如使用,其命名用sp_<DATABASENAME>.ora表示。控制文件〔Controlfiles〕采用<DATABASENAME>_CRTL_**.ctl来命名数据库的控制文件;<DATABASENAME>为数据库名称,**为控制文件序号,控制文件以.ctl作为后缀。回滚段〔Rollbacksegments〕回滚段用RBS_**表示,如一个数据库的回滚段为RBS_01,RBS_02,…在Oracle9i版本数据库中推出了AutomaticUndoManagement功能,来实现对回滚信息的自动管理,此功能具有简化管理、提高效率的优点,因此如果使Oracle9i以上版本数据库,则应使用此功能。表〔Tables〕表名为三段:Z_SSSS_****,Z为性质代号,SSSS为系统代号〔下同〕。****为自定义代号〔下同〕,表的所有字母统一用大写表示。〔1〕、性质代号包括B、C、T、A,其含义如下:B指原始数据表C编码数据表T工具数据表A统计数据表、临时数据表或中间数据表〔2〕、系统代号应能反映该表所在系统的功能。开发者应该在系统设计阶段根据软件功能模块的划分来确定系统代号,系统代号用能表达模块功能的关键词的首字母来表示,应控制在2到4个字母之,为便于理解和记忆,一个系统不宜有过多的系统代号。〔3〕、自定义代号根据中文名称来确定,采用中文名称首字的全拼,后接其他字的中文拼音首字母,如果有两个表根据此方法命名出现重复则对两个表都用中文拼音的完整拼音来表示:自定义代号的长度应保持在12位以。字段〔Fields〕字段名称字段名分为三段:F_ZZ_****;F表示这是一个字段,ZZ表示字段的数据类型代号,数据类型对应的数据类型代号如下表:表4-3数据类型代号表代号数据类型CRCHAR,NCHARDTDATELGLONGRARAWLRLONGRAWNBNUMBERVCVARCHAR2,NVARCHAR2FLFLOATLBBLOG,CLOG,NCLOGBFBFILE另外,主表中的主键字段和附表中的外部键字段的类型和名称要完全一样。对于日期类型的数据,如果只保存日期数据,采用yyyy/mm/dd的格式,如果只保存时间数据,采用hh24:mi:ss的格式,如果同时保存日期和时间格式,采用yyyy/mm/ddhh24:mi:ss的格式。索引〔Inde*es〕表主键〔PrimaryKey〕对应的索引命名为ID*_<表名>_PK。如果表的唯一性索引〔UniqueInde*〕只有一个,则命名为ID*_<表名>_UK,如果表有多个唯一性索引,则在最后再加上一个编号,命名为ID*_<表名>_UK**,此处的**为一个数。如果一个表有多个其他的非唯一性索引,则按顺序为每一个索引加一个编号ID*_<表名>_**,此处的**为一个数。约束〔Constraints〕应对主键〔PrimaryKey〕、唯一性约束〔Unique〕和引用约束〔ReferentialKey〕等约束进展命名,而不是使用系统自动生成的名字。主键约束命名为PK_<表名>。如果一个表只有唯一性约束,则命名为UK_<表名>。如果一个表有多个外键,则在名称的最后再加一个编号,命名为UK_<表名>_**。如果一个表只有一个外键约束,则命名为FK_<表名>。如果一个表有多个外键,则在名称的最后再加一个编号,命名为FK_<表名>_**。视图〔Views〕视图名分为三段:V_SSSS_****。V表示此对象为视图。同义词〔Synonyms〕同义词名分为三段:SYN_SSSS_****。SYN表示此对象为同义词。序列号〔Sequences〕序列号名分为三段:SQ_SSSS_****。SQ表示此对象为序列号。存储过程〔StoredProcedures〕存储过程名分为三段:PRO_SSSS_****。PRO表示此对象为存储过程。函数〔Functions〕函数分为三段:FUN_SSSS_****。FUN表示此对象为函数。程序包〔Packages〕和程序包体〔PackagesBodies〕程序包和相应程序包体的名字一样,分为三段:PAK_SSSS_****。PAK表示此对象为函数。包过程和函数的命名规则与独立的存储过程和函数的命名一样,具体过程参见和4.1.17。触发器〔Triggers〕触发器分为三段:TR_[A|B][I|U|D]_<表名>。TR表示这是一个触发器,后面跟着表示触发器操作条件的英文字母,[A|B][I|U|D]〔A|B表示after|before,I|U|D表示insert|update|delete无该项操作则去掉相应的字母〕,后面再跟使用它的表名或视图名。角色〔Roles〕数据库角色分为两段:ROL_****。ROL表示这是一个数据库角色。用户〔Users〕数据库用户分为两段:USR_****。USR表示这是一个数据库用户。SQL、PL/SQL源代码编写约定变量命名规则为了提高PL/SQL程序的可读性,需要对PL/SQL程序的变量制定适当的命名规则。变量应该用中文拼音首字母来表示,应防止变量名与Oracle表的字段重名,因为如果重名,Oracle会将此名字解释为字段名。为了能够快速区分变量的作用域和类型,应对变量加上统一的前缀和后缀。在根本类型局部变量名家前缀v_在全局变量名前加前缀g_在常量名前加前缀c_在过程和函数的参数函数变量前加p_,对INOUT类型和OUT类型的参数变量要分别加后缀io和o。缺省没有前缀的参数变量都为IN类型。在recordcollection类型变量前加前缀r_在%rowtype类型变量前加前缀rt_在PL/SQL类型变量前加前缀t_在tabletype类型变量前加前缀tt_在游标cursor类型变量前加前缀cur_在例外e*ception类型变量前加前缀e_代码排版规则制定代码排版规则的目的是使用户更方便地理解程序的逻辑构造。缩进缩进设置为4个空格,Tab设置为4个空格。通过缩进要把程序的条件、循环的逻辑构造显示出来。使用大小写所有的SQL和PL/SQL关键字用大小写,而所有的数据库表、字段、变量用小写。代码注释规则在PL/SQL程序段中的注释需要能说明问题,应该比代码易读;注释的长度不能太长,60字符以为宜;当代码发生改变时,注释应该及时更新。每个数据对象包括表、存储过程、函数和字段都必须作相关的注释说明。如果数据对象是函数或存储过程,还必须说明作者、功能和创立时间〔修改时间〕等信息。格式如下:注释位置对Oracle数据库对象的整体注释应置于对象定义语法的下一行,AS关键字之后〔置于头部时,经Oracle编译后会丧失,不能保存到数据库中〕;同理,其他注释也要置于代码部。PL/SQL程序文件头部注释文件头部注释用于说明该文件的信息及格式,其格式如下://Copyright/////////////////////////////////////////////////////////////////////////////////////////////////////////文件名://功能描述://改版履历://时间描述///////////////////////////////////////////////////////////////////////////////////////////////////////过程、函数、包注释对过程、函数、包必须加注释描述其主要功能,注释长度不超过60字符为宜,超过则作换行处理。其他需要加注释的地方:每一个分支出,如:ifelse处;曾经出现Bug的地方〔加注Bug号〕;声明变量时;定义常量时,解释常量的意义;其他比拟难以理解的地方。其他要求Oracle8i以上版本是对象关系型数据库管理系统〔RDBMS〕,和传统的关系型数据库相比,增加了面向对象的功能。但为了提高数据库的兼容性,在进展数据库设计时应防止使用这些面向对象的功能。能够使用SQL语句实现功能时,不使用PL/SQL。删除所有无用的变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《凡客发展现状》课件
- 2024年江沙区域产品购销协议版B版
- 房屋装修工程承包合同(2篇)
- 2024年版铁路客运服务协议范本一
- 2024实木家俱定制与家具维护保养服务合同2篇
- 2025年泸州道路运输从业资格证考哪些项目
- 2025年凉山州驾驶员货运从业资格证模拟考试题
- 2025年河北道路运输从业人员从业资格考试
- 《改善提案》课件
- 2024年建筑土建主体工程分包劳务协议样本版B版
- 四川省公需科目(数字经济与驱动发展)考试题库及答案
- 智慧医疗信息化建设项目技术标准建设方案
- 工程建设监理收费标准(发改价格【2007】670号)
- 摩托车品牌文化营销与品牌故事的构建
- 2024江苏南京大数据集团有限公司招聘笔试参考题库附带答案详解
- FZT 73032-2017 针织牛仔服装
- 企业并购与资产重组智慧树知到期末考试答案2024年
- 货物包装承诺函
- 治疗用碘131I化钠胶囊-临床用药解读
- 2024人教版五年级上册数学期末口算题训练
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
评论
0/150
提交评论