将当前的 Excel 解决方案转换成新的数据模型
用户在将流程从 Excel 电子表格转换到画布应用时,会遇到的一个主要障碍是数据模型。 人们已经习惯了通过特定方式来考虑数据,而这种方式可能不适用于较新的技术。 例如,在本模块场景中,您将跟踪支出数据,其中包含每份差旅费用报表和每项单独费用的信息。 您可能会希望将所有信息放到一张表中,因为该报表存在于单个电子表格中。 但是,本方法不能优化本特定解决方案。
要在单个表中构建本报表,可使用的一种方法是:
表名:支出报表
列:
差旅人员名字
差旅人员姓氏
差旅人员电子邮件地址
出差目的地
出发日期
到达日期
支出
类别
会计科目表
交易日期
金额
总计
这种方法可行;但是,您需要一直重复同样的信息,比如差旅人员姓名、电子邮件地址和差旅详情。 不过,您也可以将这些保持不变的信息放在行的焦点处,如下所示:
表名:支出报表
列:
差旅人员名字
差旅人员姓氏
差旅人员电子邮件地址
出差目的地
出发日期
到达日期
支出 1
类别 1
会计科目表 1
交易日期 1
金额 1
支出 2
类别 2
会计科目表 2
交易日期 2
金额 2
支出 3
类别 3
会计科目表 3
交易日期 3
金额 3
总计
这种数据设置不需要重复信息,但依然有问题。 问题在于,单张报表中可列出的支出项目数比较有限。 尽管您添加了很多列来涵盖支出项目,但依然比较有限,这样创建出的表会让人很迷惑,难以使用。
不过,可以考虑一下设置:
表名:支出报表
列:
支出报表 ID
差旅人员名字
差旅人员姓氏
差旅人员电子邮件地址
出差目的地
出发日期
到达日期
总计
表名:支出报表详情
列:
支出报表 ID
支出
类别
会计科目表
交易日期
金额
通过将支出报表分为两个表,您创建了整洁的数据设置,该项设置既不存在信息重复,也不会限制可添加的支出项目数。 您可使用主表的 ID 字段将各个表关联到一起,可以存储在“详细信息”表中。 这种表关系也称父表/字表关系。 支出报表为父表,其中包含每个报表的一条记录或项目,支出报表详细信息表为子表,其中包含每个报表的多条记录。
称其为父表/子表关系有助于显示出这些表的关联方式,不过您可能已经熟悉了其他一些关系分类术语,比如一对多 (1:N)、一对一 (1:1) 或多对多 (M:N)。 本例对应的是一对多关系,也就是说支出报表中的一条记录可以关联支出报表详细信息表中的多条记录。 您在创建较大规模数据模型时,这样称呼关系可以帮助您快速理清各个表之间的关联方式。
随着解决方案的扩展,您还可以添加更多具有不同关系的表,以扩展您的应用功能。 此外,所有表都要有一个标识列,有时称为主键。 以下屏幕截图通过举例,显示了完整数据模型的样子。
前面的图像显示添加了一个用户的表。 添加本表后,用户便无需输入系统已经知道的信息了。 此外,每当用户有新的支出报表时,也都不再需要输入自己的信息了。 另外还添加了状态字段,方便差旅人员了解自己的支出报表处于哪个审批阶段。 您还可以进一步扩展,将审批表也添加进来,以跟踪各个审批者的时间和日期,或添加更多支出类型,不过这些内容不在本学习路径的讨论范围内。