더북(TheBook)

문서 데이터베이스에서 일대다 관계

세 가지 관계 중 일대다 관계가 가장 간단하다. 이 관계는 하나의 엔터티 인스턴스가 하나 이상의 다른 엔터티 인스턴스와 관계를 맺을 때 생긴다. 몇 가지 예를 들면 다음과 같다.

많은 주문 항목이 있는 주문 한 건

많은 호수가 있는 아파트 건물 한 채

여러 부서가 있는 조직 하나

많은 부품으로 구성된 제품 한 개

이들은 관계형 데이터베이스와 문서 데이터베이스의 전형적인 모델의 차이점에 대한 한 가지 예를 든 것이다. 일대다 관계의 경우 엔터티 두 개는 문서 하나에 또 다른 문서를 중첩하여 표현할 수 있다. 예를 들면 다음과 같다.


{
  customer_id: 76123,
  name: 'Acme Data Modeling Services',
  person_or_business: 'business',
  address : [
                      { street: '276 North Amber St',
                          city: 'Vancouver',
                          state: 'WA',
                          zip: 99076} ,
                      { street: '89 Morton St',
                          city: 'Salem',
                          state: 'NH',
                          zip: 01097}
                   ]
}

일대다 관계에서는 일(一)에 해당하는 엔터티가 주요 문서고 다(多)에 해당하는 엔터티를 중첩된 문서 배열로 표현하는 것이 기본 패턴이다. 주요 문서에는 일에 해당하는 엔터티에 관한 필드가 있고 중첩된 문서에는 다에 해당하는 엔터티에 관한 필드가 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.