2015-10-06 38 views
1

不确定哪个是最适合此的Stack Exchange站点,因此将在此尝试我的手。跨不同系统的人的通用标识符

我有一个Web应用程序,用于存储组织的用户纪律数据。而不是客户将他们的员工输入多个系统,有些员工希望从其来源(例如HR/ERP)数据库将基本人事数据推送到我们的公司(名字,姓氏,出生日期,职位等数据)。

我们的客户正在使用一系列现有系统来存储数据,如Oracle,SAP,JD Edwards的,等

我熟悉的技术方法来得到这个数据(例如Web服务,网络API),但不适用于某人的姓氏改变的情况(例如珍妮特史密斯结婚并成为珍妮特多)。除非在两个系统中都有唯一的标识符,否则我无法看到如何可靠地管理变更。

这个过程如何最好地管理?添加到包含源数据的UID的目标数据库的附加字段?或者,双方是否就共同领域达成一致,例如员工号码,这永远不会改变?

回答

1

这个问题在许多情况下出现。其中一个案例是德克萨斯州的学校系统,通过众多教育子系统纵向跟踪学生。在某些情况下(尽管不是全部)提供一个唯一标识符的社会安全号码被认为对使用过于敏感。因此,为每个学生和工作人员生成了一个唯一的标识符。这是与每个人相关的永久信息的一部分,无论就业变化,地点变化或名称变更。

这个link描述了唯一id的基本原理。

link是Texas学生数据系统(TSDS)唯一标识符的文档。您可能会在最感兴趣的文档末尾找到XML示例。大部分信息都涉及提交需要消歧的人口统计信息的ID。

基本上,类似于Java UUID作为数据库中的额外字段应该足以实现您的目标。

希望这会有所帮助。

1

是的,UID是唯一的解决方案。例如,这个问题也出现在医疗系统中。另一张是照片,我不确定哪个会导致更多问题!

+0

您是否对这两点有任何引用? – EvilDr

1

我知道使用“external_id”字段的方法。在许多系统的情况下,可以利用几个外部ID。

+0

你在工作中使用什么数据类型? – EvilDr

+0

其实,只要你可以在两者之间进行转换就没有关系。如果您不想将使用类型的原始ID转换为外部ID。 –