如何用XML或其他简单文件格式表示多对多关系?

Cod*_*ile 5 java xml database android database-design

我有一个列表管理应用程序,它将数据存储在多对多关系数据库中.

IE注释可以是任意数量的列表,列表可以包含任意数量的注释.

我也可以将此数据导出到XML文件,然后将其导入我的应用程序的另一个实例,以便在用户之间共享列表.但是,这是基于遗留系统,其中要注释的列表关系是一对多(XML的理想选择).

现在,多个列表中的注释在数据库中基本上被分成两个相同的行,并且它们之间的所有关系都将丢失.

问题:如何以简单的标准文件格式表示这种多对多关系?(最好使用XML来保持向后兼容性)

Eya*_*der 6

我认为你的XML格式必须使用某种"引用".如果您希望列表到注释的关系可见,那么类似下面的内容可能是合适的:

<notes>
    <note id="Note1"> ... </note>
    <note id="Note2"> ... </note>
    ...
</notes>

<lists>
    <list id="List1">
        <note_refs>
            <note_ref id="Note1"/>
            <note_ref id="Note4"/>
        </note_refs>
    </list>
    ...
</lists>
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您希望轻松查看与给定音符关联的列表,则可以在我的示例中简单地反转列表和音符的角色.

或者,您可以更对称地表示多对多关系作为数学关系:定义所有注释,定义所有列表,然后定义由[列表引用,注释引用]对组成的映射.