什么数据结构最适合存储差异

时间:2016-09-19 10:59:50

标签: database data-structures difference

我想要存储一组预先定义的属性。例如:

PersonNr,Gender,Name,Surname, Address, Zip,City.

现在我有这些数据集的不同来源,它们共享PersonNr,但对其他属性有不同的值:

例:
从数据库A我得到

123456,M,Hudson,James,Fakestr 123, 12345, West City

从数据库B我得到

123456,M,Hudson,Jameson,Fakestr123, 12345, East City 

我不想存储两个值,而是将数据库A中的数据存储为参考,而只存储B中与A不同的数据。

在我的示例中,我想存储类似的内容:

Database B, Jameson, East City

我可以针对给定问题使用哪种数据结构?

提前致谢

1 个答案:

答案 0 :(得分:1)

您选择的解决方案在很大程度上取决于您的数据的性质,您将如何存储它以及您想要用它做什么。如果您只想要一个只存储增量的缩写记录,那么您可以编写一个逗号分隔的行,其中包含空字段。那就是:

Database A
123456,M,Hudson,James,Fakestr 123, 12345, West City

Database B
123456,M,Hudson,Jameson,Fakestr123, 12345, East City

你可以写一个显示增量的单独记录:

123456,,,Jameson,,,East City

如果要将增量存储在数据库中,那么您可能需要提供记录标识符,字段名称和更改值的记录。该表示将是:

123456,Surname,Jameson
123456,City,East City

这也许就是我在内存中代表它的方式:由记录标识符(即123456)键入的哈希映射,以及每个ID的字段名称/值对列表。