2012-07-11 46 views
0

我有两种形式,公司和客户端。一家公司可以有任意数量的客户,而客户可以是任何公司的客户。我希望能够做一些事情,如列出给定公司的客户,或列出给定客户所雇用的公司。使用Domino数据库结构处理此问题的最佳方法是什么?处理XPages/Lotus中的多对多关系

+0

什么意思与*东西*?皮肤猫有很多种方法,每种方法都有其优点和局限性...性能?灵活性?易于实施? – 2012-07-11 19:27:59

回答

3

这没问题。

为公司和客户创建分类视图。然后,将公司名称存储在每个公司文档上的每个客户文档和客户名称上。使用单个类别的嵌入式视图在每个表单上列出它们。点击嵌入视图中的名称打开文档。

或者,为公司 - 客户关系创建第三种表单类型并使用它填充嵌入的视图。

+1

第三种“形式”选项是如果Josh提出的有很多很多的选项的话。这不需要是表单,只是文档和用户界面的视图。我们为特殊需求服务组织构建了类似的东西。如果感兴趣,请联系我进行演示。 - 现代文件 – Newbs 2012-07-12 17:48:18

+0

@Newbs如果没有单独的表单,那么它与第一个表单相同(将公司名称放在客户端文档中,反之亦然)。拥有单独文档的原因是为了在不编辑任何一端的文档的情况下管理连接。 – 2012-07-13 01:02:06

+1

对于太多的关系+1是避免文档中字段64k限制的最简单的解决方案。主文档不必要的保存也是不错的一点。 – 2012-07-13 10:43:26

0

首先一个问题:客户和公司之间有什么区别?一个关系可以简单地由存储一个或多个其他公司的密钥的多值字段ClientOf表示。如果您想查找公司X的所有客户端,则需要使用第一列中ClientOf字段的分类视图。

我想你的问题不是(关系到)关系的创造以及维护。您必须自己维护所有内容,即当公司被移除时,您必须从ClientOf字段中删除对公司的所有引用。当您使用使用@Unique创建的密钥时,您不必担心公司的名称更改。另一方面,你总是需要做额外的查找才能找到它的真名。

+0

我怀疑与企业更名有关系的关系会变得更加频繁。 – 2012-07-13 01:06:15

+0

的确如此,但你的意思是什么? – 2012-07-13 08:48:28