建模:标识字段 - Dan


本文的目标是研究一种特定类型的字段 —记录业务标识符。其目的是唯一标识一个记录的实例。信息系统的用户应该了解或访问该值。该值用于启动或停留在处理它标识的特定记录实例的任何业务流程的“快乐路径”上。

注意:记录业务标识符的概念与概念主键类似,但并不完全相同。关系数据库中的每个表都应该有一个主键。但是,主键可以涉及组合多个列以实现唯一性。此外,关系数据库中的每个表都应该有一个主键,但只有一些表表示保存作为业务流程起点的数据。

识别码和数字
记录商业标识符就在我们身边。我们的钱包和手机里装满了它们--那些被我们打交道的组织所暴露出来的值。如果你看到一个以 "ID "或 "Number "结尾的字段名,很有可能它的值是用来识别该记录的一个特定实例,或者是某个地方的实例。我们的假设是,在与产生该值的组织进行互动时,我们会有该值可用。这些价值压印在我们的信用卡和借记卡上。它们印在我们的会员卡上,我们的折扣卡上,我们的驾驶执照上。我们记录的每一个电话号码、电子邮件地址和应用程序的具体联系人都是一个记录的商业标识值。当我们想 "接触 "一个特定的人或与发卡机构互动时,我们就会使用这些值。

从信息系统的角度来看,毫无疑问,给定足够的字段,如姓名、地址、电话等,我们可以唯一地识别代表一个人或组织的记录实例。同样地,有一些关于产品、销售或地点的字段,结合起来就能引导我们找到我们要找的实例。记录业务标识符的意义在于它是一个 "一站式服务"--一个单一的值,如果知道的话,将使用户在特定的时间点上找到他们正在寻找的具体实例。

多因素识别器
记录业务标识符的最简单形式是基于数字序列的标识符(例如,最后分配的数字加1)。这种形式经常被用于只需要在组织内的值是唯一的,而且不需要标识符有任何意义的地方。对许多组织来说,诸如采购订单、商店和资产等记录就属于这种类型。

一个至少包含一个事实的标识符的例子是CREDIT CARD号码。在持卡人看来,它只是一个数字。但是,由于这个数字在所有发行类似卡片的组织中需要是唯一的,每个数值的前六位都是识别发卡组织的。这六个数字之后的数字可以由某一组织选择的任何方式产生。通常情况下,这些数字中的六位或更多的数字是根据 "最后分配的值加一 "的算法来填充的。

字段Stock Keeping Unit Number (SKU)是一个标识符的例子,它利用多个事实来构成INVENTORY ITEM记录的唯一值。一个零售服装企业可能会根据商品的品牌、服装类型、样式、尺寸和颜色的组合来创建其独特的SKU。例如,SKU号码'LEV-JN-ST-34-BL'代表库存商品Levi牛仔裤,直筒裤,腰围34号,蓝色。

当一条记录的业务标识符包含一个或多个事实时,这些事实也应该被定义为同一条或其他一些记录中的独立字段。这就消除了业务用户 "拆开 "标识符来寻找某个事实的需要。例如:获得一个腰围为34英寸的所有牛仔裤的列表。

注意:任何包含在记录业务标识符中的事实,最好是涉及不会随时间变化的值。在将标识符 "暴露 "给企业后,处理沟通一个变化对任何人来说都是没有成效的。如果你曾经改变过你的电话号码或电子邮件地址,并需要通知家人和朋友,你会对由此产生的努力和不便有一些体会。

优化访问记录实例的用户体验
当一个业务流程需要涉及一个特定的记录实例时,牢记以下四点将有助于优化用户体验。

  • 最大限度地提高标识符的曝光率
  • 最大限度地减少标识符的手动输入
  • 避免找到一个错误的实例
  • 提供备用的 "查找 "选项

最大化标识符的暴露--当一条记录包括一个记录业务标识符字段时,该值应该被 "暴露 "在最适合处理单一实例的业务流程中。一个EMPLOYEE号码可以显示在员工的ID徽章上,并打印在员工的工资单上。一个资产识别码可以打印在每个实物资产的标签上。一个有制造商注册的产品条码值的零售产品,应该在该产品的每个实例上打印该条码和它的数字字符。

尽量减少识别器的手工输入 - 如今,越来越多的信息系统被数据采集技术、网络门户和应用程序 "前置 "了。输入设备可以读取条形码、磁条、嵌入式芯片,或通过无线电频率(RFID)广播的数值。自助服务也是一种趋势,客户使用网络门户或应用程序连接到信息系统。用户登录标识是一个记录业务标识符的例子--由于网络浏览器或移动设备能够记住特定网站或应用程序的登录标识值,因此需要最小的数据输入工作量。

避免找到一个错误的实例--在技术无法提供所需的数值,而用户需要借助于手动输入数值来访问特定的实例的情况下,最常见的数据输入错误之一是移位一个或多个数字。这可能导致找到一个有效的记录实例,但不是想要的那个。例如,想要识别值为12345的实例,但不小心输入了12354的值。避免这类错误的技术是在生成标识符值时包含一个校验位。信用卡号码就是一个包含校验数字的例子,以避免发现错误的记录实例。

提供后备的 "查找 "选项--对于每个满意的路径,都有任何数量的替代或例外路径。这些路径中至少有一条应该涉及到用户界面的功能,支持用户在 "过滤 "记录列表的帮助下找到所需的记录实例,显示足够的记录字段,提供足够的信息来发现所需的实例。

记录业务标识符中包含的字段
捕获一条记录的业务需求的一个重要部分是确定该记录中的一个或多个字段,它们共同构成了其记录的业务标识符。如果一个单一的非数字字段是用来做这个工作的,那么这个字段需要用业务友好的、有意义的名称值来填充。如果多个 "业务事实 "是为了在 "快乐路径 "的业务流程中组合使用以找到一个实例,那么这些事实中的每一个都应该被定义为一个单独的字段,并被 "标记 "为构成该记录的业务标识符。