Database 一对桌子?

Database 一对桌子?,database,data-structures,Database,Data Structures,我的想法是处理两组重要性相当的数据。在我正在处理的项目中,有一些文件带有关联的标记。最初,我只是将数据保存在一个哈希表中,文件作为键,每个文件的标记作为值。但有时我想看看所有的标签,然后谈谈文件 我决定可以跟踪两个哈希表,一个是正向的(file0->(tag1 tag2):file1->(tag2 tag3)),另一个是反向的(tag1->(file0):tag2->(file0 file1):tag3->(file1))。我还没有试过,因为我不确定它是否像我想的那样有用,或者我只是疯了。这有什

我的想法是处理两组重要性相当的数据。在我正在处理的项目中,有一些文件带有关联的标记。最初,我只是将数据保存在一个哈希表中,文件作为键,每个文件的标记作为值。但有时我想看看所有的标签,然后谈谈文件


我决定可以跟踪两个哈希表,一个是正向的
(file0->(tag1 tag2):file1->(tag2 tag3))
,另一个是反向的
(tag1->(file0):tag2->(file0 file1):tag3->(file1))
。我还没有试过,因为我不确定它是否像我想的那样有用,或者我只是疯了。这有什么好处吗?以前的用法?

如果键和值都是唯一的,则可以使用。如果没有,您将需要一个“”来处理每个键的多个条目。

我想我还不清楚。我现在所做的应该更加明显,因为我还不能回答我自己的问题:我的问题是关于多对多映射的。在数据库中,这通常使用三个表,每组数据一个表和一个关联它们的交叉引用表。我的方法基本上将第三个表嵌入到其他两个表中。我不能说这是否有什么好处,但我会参考这方面的文献。