더북(TheBook)

관계형 데이터베이스에서는 표 5-2에 나온 모든 속성이 있는 테이블 한 개를 생성하거나, 그림 5-6에 나온 것처럼 공통 속성이 있는 테이블 한 개와 서브타입 테이블을 생성할 수 있다. 단일 테이블을 만드는 경우에는 잘 사용되지 않는 컬럼이 있을 수 있고 서브타입과 속성 수가 증가하면 점점 다루기 어려울 수도 있다. 공통 속성을 가진 테이블과 서브타입 테이블을 만드는 경우 콘서트 티켓에 관한 모든 정보를 가져오려면 조인이 필요하다. 키-값 데이터베이스에서 집계 패턴은 다른 접근법을 취한다.

▲ 그림 5-6 관계형 데이터베이스에서는 엔터티 서브타입을 모델링할 수 있는데, 공통 속성을 가진 테이블과 각 서브타입의 속성이 있는 테이블로 모델링할 수 있다


단일 엔터티 타입 concert는 모든 엔터티 타입에서 공통으로 사용될 수 있다. 엔터티 타입별로 특화된 속성값 리스트가 키-값 데이터베이스의 값이 될 수 있다. 게다가 콘서트 유형을 구분하려고 유형 식별자를 이 리스트에서 사용한다. 예를 들어 경기장 티켓(Stadium Tickets)의 값은 다음과 같다.


{‘type’:‘stadium’, ‘conDate’:15-Mar-2015, ‘locDescr’: ‘Springfield Civic Center’,
  ‘assgnSeat’: ‘J38’, ‘startTime’:‘17:30’, ‘price’:’$50.00’, ‘perfName’: ‘The National’ }

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