肖锰:浪潮GS开发平台学习札记(三)——规范介绍

1、元数据命名规范

为了在不同的应用环境下更好的识别和管理元数据,我们制定了元数据开头命名规范,所有的元数据,应该以“开头+模块名称_实际含义”相结合的方式。

在填写编号和名称时,其开头应遵守以下规则。

元数据

编号开头

名称开头

举例

数据对象

 

DO_

编号:与表名一致!

名称:DO_网上报销_部门字典

数据模型

DM_

DM_

编号:DM_WSBX_LSBMZD

名称:DM_网上报销_部门字典

帮助

Help_

Help_

编号:Help_WSBX_BMZD

名称:Help_网上报销_部门帮助

表单定义

FRM_

FRM_

编号:FRM_WSBX_CLFBXD

名称:FRM_网上报销_差旅费报销单

状态机

SM_

SM_

编号:SM_WSBX_CLF

名称:SM_网上报销_差旅费

构件

CMP_

CMP_

编号:CMP_WSBX_CLFBXD

名称:CMP_网上报销_差旅费报销单

报表定义

PRT_

PRT_

编号:PRT_WSBX_CLFBXD

名称:PRT_网上报销_差旅费报销单

工作流定义

WF_

WF_

编号:WF_WSBX_BXLC

名称:WF_网上报销_报销流程

数据映射

Maping_

Maping_

 

值映射

VM_

VM_

 

数据交换

DX_

DX_

 

解决方案

Solution_

Solution_

编号:Solution_WSBX

名称:Solution_网上报销

 

       对于模块名称的命名规范,其编号和名称的命名规范应遵守前置规范中的大小写规范和缩写规范。对于公司级别的产品开发,模块名称应符合公司研发管理部们的命名管理规范,并在申请和审核后确定。

    对于元数据命名中的实际含义部分,顾名思义,应该体现出对应元数据的实际意义,通过名称即可看出此元数据的用途描述和简要服务内容。实际含义部分应该以英文为主,符合Pascal命名规范,对于带有复杂业务的元数据名称,也可以在统一规范后,采用拼音简写的方式。



2、数据库设计规范

         使用平台开发时对数据库结构设计有一些强制的约定或规范,如下:

1、每个实体表都必须要定义主键,类型为varchar(36)

         (1)ADP平台开发过程中,每张具体的数据表的内码系统默认采用Guid的生成方式,因此要求在数据库表结构设计时,每张表都必须定义一个主键,类型定义为varchar(36);从数据库设计本身角度而言,也要求每个实体表要有一个主键。

         (2)对于既有系统里已有的表,如果用的是复合主键或者复合唯一索引,也要求必须增加主键字段。

         (3)外键关联的字段,也需要定义为varchar(36)。

         (4)对于一些表示关联关系的表,如果只是在写构件时用sql或者存储过程直接操作,不会被用来创建数据对象、数据模型或帮助,则可以不用加GUID形式的主键。

 

2、支持分级树的表结构设计

         (1)对于分级树状结构的功能,ADP实现时,强制约定由分级码(每一级长度4位字符)、级数(整型)、是否明细(char(1))来存储和构建树的层次结构,因此数据库设计时分级树结构的表必须要包含这三个字段。

         (2)分级码默认9级,类型为varchar(36),如果有更多的级数,设计时可以根据实际情况增加字段类型的长度。

         (3)GSP5.5版本后,也支持根据ParentID(varchar(36))来构建树,建议即使使用ParentID,也冗余设计上分级码、级数、是否明细字段,在写sql进行查找时用分级码比较方便。

 

3、支持数据增量的表结构设计

(1)单据和主要的字典,最好都要加上创建人(varchar(36))、最后修改人(varchar(36))、创建时间戳(datetime)、最后修改时间戳字段(datetime)。

 

4、支持审批流程的表结构设计

(1)需要挂流程的表单,数据库中该表单对应的表应增加两个字段:审批状态(字符类型,长度自定,可以char(1),也可以char(2))和流程实例(varchar(36))。

 

5、枚举值和布尔型相关的表结构设计

(1)表单上使用checkbox呈现的字段,数据库设计时应设置成char(1)类型,定义模型时将该字段定义成Boolean类型,而不能定义为int类型。

(2)表单上使用枚举值呈现的字段,数据库设计时应设置成char型或者varchar型,而不能定义成decimal或numeric类型。

 

6、其他约定

         (1)数据库设计时,表名和字段名不允许为数据库中的关键字。

(2)表名不允许使用后面带List的关键字结尾(如表名DepartList是不允许的)。

(3)数据库表中,字段名不能使用“表名_ID”。例如:部门表表名为Department,其表中字段不能命名为Department_ID。也不允许仅大小写不同(即类似于Department_id的也是不允许的)。(注意:改规则不只适用于主键命名,所有字段命名都应该遵循)

(4)ADP数据对象元数据提供基于表和视图的结构描述,其中表分为普通表和带年度表两种实表策略,对于视图和带年度表的数据对象,在数据对象设计器中不允许直接与数据库同步。

 

7、关于建表sql的建议

         建议开发过程中,对于数据表的创建与传统开发方式一致,采用手工整理建表SQL和升级sql的方式,而不是直接用数据对象同步数据库的方式。原因是:

(1)ADP平台提供的数据对象仅是对数据表、视图结构的描述,并且数据对象的描述字段可以与数据库实际表的个数、类型(不违反数据库自身的规则)等不一致,另外对索引、触发器等属性数据对象均不提供。

(2)用数据对象同步数据库方式,不方便形成升级sql,支持升级。

 

 

 

 



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浪潮GS7.0科目字典无数据可能是因为以下几个原因: 首先,浪潮GS7.0科目字典可能还没有完整的数据更新。科目字典是一个记录各种科目信息的数据库,包括科目代码、科目名称、科目类型等。如果浪潮GS7.0的科目字典没有最新的数据,那么可能会显示无数据。 其次,使用浪潮GS7.0的用户可能没有正确的更新科目字典。科目字典通常需要定期更新以保持最新的科目信息。如果用户没有及时更新科目字典,那么就可能导致出现无数据的情况。 另外,浪潮GS7.0科目字典无数据也可能是由于系统故障或错误导致的。在系统运行过程中,如果出现了故障或错误,可能会导致数据无法正常显示或加载。 如果遇到浪潮GS7.0科目字典无数据的问题,可以尝试以下解决方法: 首先,检查网络连接是否正常。如果网络连接不稳定或中断,可能会导致无法获取科目字典数据。 其次,确认是否更新了最新的科目字典。可以通过查看浪潮GS7.0的官方网站或与浪潮GS7.0的相关技术支持人员联系,获取最新的科目字典更新信息。 此外,如果以上方法都无效,可以尝试重新安装或升级浪潮GS7.0软件,以确保系统和相关组件的完整性。 总之,浪潮GS7.0科目字典无数据可能是由于数据更新、用户更新不及时或系统故障等原因引起的。通过检查网络连接、更新科目字典和升级软件等方法,可以解决该问题。如果问题仍然存在,建议联系浪潮GS7.0的技术支持人员寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值