CBF Studio业务建模示例(2)-数据模型设计

业务数据分析


  简单分析下客户信息的构成要素,不论个人客户还是对公客户,都应该包含一个唯一标识号——客户号,以及客户信息开立的时间和是否有效的状态;然后才划分出个人客户信息和对公客户信息,两者间的业务属性是完全不一致的。因此我们将创建一个名为“基本客户信息”的内核实体数据模型,并且用客户号作为主键,客户号是必须满足某种格式的唯一标识号,因此定义为域数据;客户信息状态可选枚举值为“正常”、“睡眠”和“冻结”三个状态,因此设计为实例组数据。
  利用同样的数据分析方法,分析下个人客户信息应该包含哪些要素。比如说“法定名称”、“英文名称”等,这些属性需要定义为基本的字符串类型,“性别”、“客户类型”、“证件类型”等都应该设计为实例组数据,“证件生效时间”、“出生日期”等需要定义为日期类型。对公客户信息的业务数据分析交给读者。
  最后需要将业务数据进行归纳整理,按类别进行划分,并在适当的数据架构中定义。

域/实例组模型定义


  按业务分析结论,预先定义好域/实例组,下面以客户编号、客户状态为例。
客户编号
客户状态
  其中客户编号需要进行值校验,我们对其加锁,右键选择“设计ADML”。
值校验

  为化简示例,校验逻辑暂定为校验值长度,不满足13位长度的字符串则抛出错误信息。
校验值长度

实体数据模型定义


  按前文分析结论,需要为个人客户基本信息和对公客户基本信息创建一个衍生基类——客户基本信息,仅设置“客户编号”、“客户状态”和“创建时间”三个基本属性,并且设置客户编号为主键。
客户基本信息

  接下来分别定义个人客户信息和对公客户信息,两者均衍生自基本客户信息。为化简示例,仅以个人客户信息为例(暂列部分属性)。
个人客户基本信息(示意)

关联数据模型定义


  显然个人客户基本信息是不充分的,尚需要对其补充关联数据,如客户的联系方式信息,关系人信息等。以个人客户的联系信息为例。创建个人客户联系信息,并与个人客户基本信息进行数据关联,数据关系为“N:1”。
个人客户联系信息

  按同样的步骤创建关系人信息、非居民纳税信息、财务信息等,那么从个人客户基本信息的角度来看,完整的个人客户基本信息模型定义应该如下图所示。
个人客户基本信息

行业标准和落地方法


  先简单介绍下行业标准中对数据模型的定义:

  • A:可以用九大数据概念来描述所有金融服务信息;给B级的结构和内容定义了约束。
  • B:用层次化的概念术语来组织业务信息;不关心信息之间在具体应用中进行交互的业务规则;采用业务人员熟悉的语言。
  • C:用ER图描述业务信息;不考虑实施层面的约束,只维护逻辑视图;对各方面利益相关者的特有视图进行统筹整合。
  • C’:用ER图描述应用数据;考虑具体实施层面的约束,引入派生数据或去范式化的数据;允许可控的数据冗余
  • D:描述物理数据结构;考虑系统部署层面的约束。

  将标准翻译一下并结合CBF Studio工具上的使用可以描述为:

  • A级模型可以简单解释为即数据的基本概念,这些基本概念来自业务需求的描述,如“客户信息包含对私客户信息和对公客户信息,客户信息包含客户号,开立时间……”,那么从这段描述中我们可以整理出至少三个基本概念“对私客户信息”、“对公客户信息”以及“客户号”,其中“客户号”作为不可细分的数据定义,且必须要遵守既定的格式标准,那么它就应当被定义为数据标准,而“对私客户信息”和“对公客户信息”的数据应当持久化到数据库中,因此它们需要被定义为实体数据模型。
  • B级模型可以解释为对数据模型进行属性补充,补充的属性服务于业务设计。以上面的客户信息为例,“对私客户信息”和“对公客户信息”中均需要包含“客户号”属性,并且“对私客户信息”需要包含“客户姓名”属性,“对公客户信息”需要包含“企业名称”属性。其中“客户号”作为数据标准是可以被复用的,这也是行业标准中提倡的数据沉淀。
  • C级模型可以简单解释为除业务属性之外,还需要补充实体数据间的关系,如个人客户基本信息和个人客户联系人信息之间就存在着“1:N”的关系。
  • C’级模型简单解释为除业务设计必须的属性外,还允许补充应用设计所需的属性,这些属性仅为应用设计提供支撑,并且需要对数据模型进行模式化处理,将共有属性进行泛化处理,形成具有衍生关系的模型结构。回到“对私客户信息”和“对公客户信息”案例,两者均属于“客户信息”范畴,且均具有“客户号”作为唯一识别码,因此需要抽象出“客户信息”数据模型作为“对私客户信息”和“对公客户信息”的公共抽象层,也即两者均衍生自“客户信息”。
  • D级模型可以简单解释为将实体数据模型转换为可执行的数据库操作脚本,将模型设计落实到数据库设计中。这个过程CBF Studio已经自动实现了,无需用户关注。

  总结起来业务数据模型的设计基本上达到C’即可满足设计需求,并且数据模型的设计过程可大致划分为下述几个步骤:

  • 1.根据业务需求描述提取出基本模型(数据标准、实体数据模型);
  • 2.根据业务需求补充基本模型的业务属性;
  • 3.根据业务需求补充实体数据关系;
  • 4.使用数据范式以及模型泛化方法对数据模型进行衍生设计;
  • 5.根据应用设计需求补充应用属性。

  (更多关于可视化建模开发工具的介绍可以关注领驭框架(北京)软件有限公司的微信公众号和我自己的订阅号,或者到公司主页(www.eframesoft.com)查询。)
领驭框架软件
Java基友圈

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬睡客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值