관계형 데이터베이스의 단짝, '롤업(Rollup)' 속성 활용법


이전에 ‘관계형’ 속성을 배우면서 우리는 ‘도서 목록’과 ‘작가 목록’이라는 두 개의 분리된 데이터베이스를 멋지게 연결하는 데 성공했어요. 이제 ‘작가 목록’에서 헤르만 헤세를 보면, 그가 쓴 책들(데미안, 수레바퀴 아래서 등)이 무엇인지 한눈에 볼 수 있게 되었죠.


하지만 여기서 한 걸음만 더 나아가 볼까요?


단순히 ‘어떤 책들’이 연결되어 있는지 보는 것을 넘어, ‘그래서 헤르만 헤세가 쓴 책이 총 몇 권이지?’, ‘그가 쓴 책들의 평균 페이지 수는 얼마일까?’ 같은 ‘계산된 정보’가 궁금해진다면 어떻게 해야 할까요?


이 질문에 대한 완벽한 해답이 바로 오늘 배울 ‘롤업(Rollup)’ 속성입니다. 롤업은 관계형 속성과는 떼려야 뗄 수 없는 단짝으로, 연결된 데이터베이스의 정보를 가져와서 합계를 내거나, 평균을 구하는 등 다양한 계산을 수행해주는 정말 강력한 기능이에요!



1. 롤업(Rollup)이란? 연결된 데이터의 계산기


롤업을 가장 쉽게 설명하면, ‘관계형 속성’이라는 다리를 건너가서, 연결된 페이지들의 특정 속성값을 가져온 뒤, 그걸로 ‘계산’을 해주는 똑똑한 속성이에요.


  • 관계형(Relation): 두 데이터베이스를 ‘연결’해주는 다리 역할.
  • 롤업(Rollup): 그 다리를 건너가서 데이터를 ‘계산’해오는 역할.


이 때문에 롤업 속성을 만들려면, 반드시 그전에 ‘관계형’ 속성이 먼저 설정되어 있어야만 해요. 롤업은 혼자서는 작동할 수 없고, 항상 관계형 속성에 의존해서 작동합니다.


롤1



2. 실전! ‘롤업’으로 작가의 총 페이지 수 계산하기


말로만 들으면 복잡해 보일 수 있으니, 우리가 이전에 만들었던 ‘도서 목록’과 ‘작가 목록’ 예시를 이어서 바로 실습해 볼게요.


  • 1단계: 계산할 재료 준비하기 (도서 목록 DB 수정) - 롤업으로 무언가를 계산하려면, 원본 데이터베이스(도서 목록)에 계산할 ‘숫자’ 속성이 필요해요.


  1. ‘도서 목록’ 데이터베이스로 가주세요.
  2. ‘+’ 버튼을 눌러 새 속성을 추가합니다.
  3. 속성 유형에서 ‘숫자(Number)’를 선택하고, 속성 이름은 ‘페이지 수’라고 지어주세요.
  4. 이제 우리가 입력했던 ‘데미안’의 페이지 수 칸에 ‘250’, ‘수레바퀴 아래서’의 페이지 수 칸에 ‘300’이라고 숫자를 입력해 주세요.


  • 2단계: 롤업 속성 추가하기 (작가 목록 DB 수정) - 이제 계산 결과를 보여줄 ‘작가 목록’ 데이터베이스로 이동할 차례예요.


  1. ‘작가 목록’ 데이터베이스에서 ‘+’ 버튼을 눌러 새 속성을 추가합니다.
  2. 속성 유형 중에서 스크롤을 내려 ‘롤업(Rollup)’을 선택하세요.
  3. 속성 이름을 ‘총 페이지 수’라고 지어줄게요.


  • 3단계: 롤업 설정하기 (가장 중요해요!) - 롤업 속성을 만들면, 칸에 ‘설정(Configure)’ 버튼이 나타날 거예요. 이걸 클릭하면 롤업을 어떻게 작동시킬지 정하는 설정창이 나타납니다. 여기서 딱 3가지만 정해주면 돼요.


  1. 관계형: 어떤 다리를 건너갈지 선택하는 거예요. 우리는 ‘도서 목록’과 연결된 ‘저술한 책들’이라는 관계형 속성을 선택하면 됩니다.
  2. 속성: 다리를 건너간 뒤, ‘도서 목록’에서 어떤 속성값을 가져올지 선택하는 거예요. 우리는 페이지 수를 계산할 거니까, ‘페이지 수’ 속성을 선택합니다.
  3. 계산: 가져온 ‘페이지 수’들을 어떻게 처리할지 정하는 거예요. ‘원본 표시’를 누르면 여러 계산 방식이 나오는데, 우리는 총합이 궁금하니 ‘합계(Sum)’를 선택합니다.


  • 4단계: 결과 확인하기 - 설정창을 닫고 ‘작가 목록’ 데이터베이스를 확인해 보세요. ‘헤르만 헤세’ 항목의 ‘총 페이지 수’ 칸에, ‘데미안(250)’과 ‘수레바퀴 아래서(300)’의 페이지 수가 합쳐진 ‘550’이라는 숫자가 자동으로 계산되어 표시되는 것을 볼 수 있습니다.


이제 ‘도서 목록’에 헤르만 헤세의 새 책을 추가하고 페이지 수를 입력하기만 하면, ‘작가 목록’의 ‘총 페이지 수’는 알아서 척척 업데이트될 거예요.


롤2



3. 롤업의 무궁무진한 계산 능력 살펴보기


롤업은 단순히 합계만 낼 수 있는 게 아니에요. ‘계산’ 옵션에서 정말 다양하고 강력한 기능들을 제공합니다.


  • 숫자 속성에 대한 계산
    • 합계(Sum): 모든 숫자를 더해요. (예: 총매출액, 총 페이지 수)
    • 평균(Average): 숫자들의 평균값을 구해요. (예: 평균 구매 단가, 평균 독서 평점)
    • 최소/최대(Min/Max): 연결된 항목 중 가장 작은 값이나 큰 값을 찾아와요. (예: 가장 저렴한 제품 가격, 가장 높은 점수)
    • 범위(Range): 최대값과 최소값의 차이를 보여줘요.


  • 모든 속성에 대한 계산
    • 모두 세기(Count all): 연결된 항목(페이지)이 총 몇 개인지 개수를 세어줘요. (예: 작가가 쓴 총 도서 수, 프로젝트에 포함된 총 업무 개수)
    • 고유한 값 세기(Count unique values): 중복을 제외한 고유한 값의 개수를 세어줘요.
    • 모든 값 표시(Show all): 연결된 모든 항목의 속성값을 그냥 전부 나열해서 보여줘요.
    • 고유한 값 표시(Show unique values): 이게 정말 유용한데요, 예를 들어 ‘도서 목록’의 ‘장르’ 속성을 롤업하면, 해당 작가가 쓴 책들의 장르가(예: 소설, 시, 에세이) 중복 없이 모두 표시됩니다.


롤3




관계형 속성이 데이터베이스들을 연결하는 ‘구조’를 만드는 작업이었다면, 롤업 속성은 그 구조 위에서 정보가 살아 숨 쉬게 만드는 ‘기능’을 구현하는 작업이에요. 

이 두 가지를 함께 사용할 수 있게 되면, 단순히 정보를 기록하는 것을 넘어, 그 정보들을 분석하고 요약하는 강력한 대시보드를 구축할 수 있습니다. 처음에는 조금 낯설 수 있지만, 이 조합은 여러분의 노션 활용 수준을 완전히 다른 차원으로 끌어올려 줄 거예요 :)







댓글