8程序员开发手册.doc
文本预览下载声明
黔江区基层医疗卫生机构管理信息系统
程序员开发手册
承建单位:重庆竞达医药技术发展有限公司(章)
二〇一五年一月
概述
本文档从脚本的命名规范,PL/SQL编程规范几方面讨论Oracle脚本编写的规范及规则。编写时,尽量兼容旧文档的内容。
本规范适用于新开发的系统,以及原有系统的改造。已经正式发布的系统,在修改,维护时仍然采用原来的规范。
本规范适用对象为所有开发人员,包含对所有正式产品系统的脚本编写。本规范正式执行过程中,可根据实际情况随时进行调整。
对象命名规范
PL/SQL相关对象命名
存储过程
命名规则:p_数据名称_操作类型[补充说明]
说明:为了实现多个系统的过程可以共享使用、共享安装,过程名只以p开头,而不加上系统编号。
数据名称:按主要操作数据命名数据名称,对数据表的内容较为单一的内容,直接使用数据表作为数据名称,如p_部门表;对记录包含多种不同数据的信息,可选择根据相关性质选择更合适的名称,如p_挂号记录、p_收费记录;数据名称一般取中文命名。
操作类型:按通常操作分为Insert、Update、Delete,如p_部门表_Insert,根据我们程序编制的情况,可增加特殊的操作类型Stop(停用)、ReUse(启用)、Verify(审核),Strike(销帐)等,如p_部门表_Stop、p_药品购入_Verify。如果操作内容在功能还有明确分离的情况,可以再增加简明的补充说明。操作类型一般取英文名。
函数
命名规则:f_函数名和JD_FUN_函数名
说明:一般的公共函数,采用f_函数名的命名规则,函数名一般采用能示其作用的英文,如f_Identity,f_User_Name。函数工具中进行管理的函数,程序中约定必须采用JD_FUN_函数名的命名规则,函数名一般采用能示其作用的英文,如JD_FUN_Account。
触发器
命名规则:表或视图名_T+前后标志[B/A]+ 触发类型[A/I/U/D]
说明:下面说明命名规则中各部分的含义。
前后标志:“A”表示after;“B”表示before。
触发类型:“A”表示包括增删改的复合触发;“I”表示Insert;“U”表示Update;“D”表示Delete。
比如:床位状况记录_TAA,停止医嘱_TAU,病人结帐记录_TBD
包
命名规则:jc_包名
说明:包是组织PL/SQL程序的逻辑单位,所以可以按访问的业务或数据对象的不同进行划分,这样划分后对应的命名规则为jc_业务对象描述或jc_数据对象描述,描述信息尽量简洁,以能表明包的主要用途或访问的主要数据对象为宜。由于包只能整体授权,因此如何划分包很重要,我们在划分包的时候,需要遵循以下原则:
不要将可能单独调用执行的过程和函数放入包中;
包内原则上只保存返回游标变量的存储过程或函数,存储过程或函数中只包含查询语句,不包含对数据的更改,增加,删除语句;
包的逻辑划分,第一层可推荐按JDHIS+.MDB中对数据表的分组来划分,如下:
分组 包名开头部分 基础数据表 jc_Base_ 医保相关部分 jc_Insure_ 病人病案部分 jc_MedRec_ 费用相关部分 jc_Expense_ 药品相关部分 jc_Leechdom_ 卫生材料部分 jc_Stuff_ 医嘱相关部分 jc_Order_ 病历相关部分 jc_Case_ LIS部分 jc_LIS_ PACS部分 jc_PACS_ 手术麻醉部分 jc_Ops_ 成本核算系统 jc_Cost_ 人事管理系统 jc_Human_ 物资供应系统 jc_Material_ 设备管理系统 jc_Device_ 导诊系统 jc_Query_ 帐务系统 jc_Account_ 体检系统 jc_Medical_ 包名需用英文单词命名,单词之间用下划线分隔。例如:jc_Def_Rowset、jc_Public、jc_Basic_Info、jc_Inpatient_Info。
类型对象
命名规则为:t__类型名
说明:类型名一般为“形容词(定语)+名词”进行命名组合,形容词和名词通常采用含义明确的英文单词缩写(缩写尽量符合常规,避免使用含义混淆的词汇),如:t_dic_Record,t_dic_Rowset。
其他数据库对象命名
约束命名
主键(Primary Key):表名_PK,如:病案主页从表_PK(病人ID,主页ID,信息名)。
唯一约束(Unique):表名_UQ_字段名,对于多个字段组成的唯一约束,字段名可以填写为主要字段名,如:病人费用记录_UQ_NO (NO,记录性质,记录状态,序号,执行状态,结帐id)。
外键约束(Foreign Key):表名_FK_字段名,对于多个字段组成的外键,字段名可以填写为主要字段名。如:
显示全部