2012-07-11 1 views
0

두 가지 형식, Company 및 Client가 있습니다. 회사는 원하는 수의 클라이언트를 가질 수 있으며 클라이언트는 여러 회사의 클라이언트가 될 수 있습니다. 주어진 회사의 고객 목록을 나열하거나 주어진 고객이 사용하는 회사를 나열 할 수 있기를 원합니다. Domino 데이터베이스 구조를 사용하여이를 처리하는 가장 좋은 방법은 무엇입니까?XPages/Lotus에서 다 대다 관계 처리

+0

* 물건 *의 의미는 무엇입니까? 고양이를 피하는 방법에는 여러 가지가 있으며, 각각의 장점과 한계가 있습니다 ... 성능? 적응성? 쉽게 구현할 수 있습니까? –

답변

3

아무 문제 없습니다.

회사 및 고객을위한 분류 된보기를 만듭니다. 그런 다음 각 클라이언트 문서에 회사 이름을 저장하고 각 회사 문서에 클라이언트 이름을 저장하십시오. 단일 카테고리 임베디드 뷰를 사용하여 각 카테고리에 나열하십시오. 포함 된보기에서 이름을 클릭하면 문서가 열립니다.

또는 회사 - 클라이언트 관계에 대한 세 번째 양식 유형을 만들고이를 사용하여 포함 된보기를 채 웁니다.

+1

세 번째 "양식"옵션은 조쉬가 제안한대로 제비가 많으면 갈 방법입니다. 양식이 필요하지 않으며 UI에 대한 문서 및보기 만있을 필요가 없습니다. 우리는 특별 지원 서비스 조직을 위해 이와 같은 것을 구축했습니다. 관심이 있으시면 데모를 위해 저에게 연락하십시오. -New – Newbs

+0

@Newbs 별도의 양식이 없으면 첫 번째 양식과 동일한 해결책입니다 (클라이언트 문서에 회사 이름을 입력하거나 그 반대의 경우도 마찬가지 임). 별도의 문서가 필요한 이유는 양쪽 끝에있는 문서를 편집하지 않고 연결을 관리 할 수 ​​있기 때문입니다. –

+1

+1 너무 많은 관계에 대해 문서에서 필드의 64k 제한을 피하는 가장 간단한 솔루션입니다. 마스터 문서의 불필요한 저장도 좋은 지적입니다. –

0

첫 번째 질문 : 클라이언트와 회사의 차이점은 무엇입니까? 관계는 하나 이상의 다른 회사의 키를 저장하는 다중 값 필드 ClientOf로 간단하게 나타낼 수 있습니다. 회사 X의 모든 클라이언트를 찾으려면 첫 번째 열에 ClientOf 필드가있는 분류 된보기가 필요합니다.

나는 당신의 문제가 관계의 창출과 유지 보수가 될 수 없다고 생각한다. 모든 항목을 직접 관리해야합니다. 즉, 회사를 제거 할 때 ClientOf 필드에서 회사에 대한 모든 참조를 직접 제거해야합니다. @Unique를 사용하여 생성 된 키를 사용하면 회사의 이름 변경에 대해 걱정할 필요가 없습니다. 반면에 실제 이름을 찾으려면 항상 추가 조회를 수행해야합니다.

+0

나는 회사가 이름을 바꿀 때보 다 훨씬 자주 관계가 형성 될 것이라고 생각한다. –

+0

사실, 그렇지만 정확히 무엇이 당신의 요점입니까? –