본문 바로가기
AI,IT모든것

노션 릴레이션과 롤업 완벽 가이드 | 데이터베이스 연결의 모든 것

by taeyimoney 2025. 12. 30.

노션 데이터베이스를 사용하다 보면 이런 생각이 들어요.

"프로젝트와 작업을 연결할 수 없을까?", "고객 정보와 거래 내역을 함께 보고 싶은데", "여러 데이터를 자동으로 합쳐서 계산할 수 없을까?"

 

바로 이럴 때 필요한 게 릴레이션(Relation)과 롤업(Rollup)이에요.

 

이 두 기능은 노션을 단순한 메모 앱에서 강력한 데이터베이스 시스템으로 바꿔줍니다.

엑셀의 VLOOKUP이나 관계형 데이터베이스의 JOIN과 비슷한 개념이지만, 훨씬 직관적이고 쉬워요.

 

오늘은 릴레이션과 롤업의 기초부터 고급 활용까지 완벽하게 정리해드릴게요.

복잡해 보이지만 천천히 따라오면 누구나 마스터할 수 있습니다!

릴레이션이란 무엇인가요?

릴레이션은 두 개 이상의 데이터베이스를 연결하는 기능이에요.

마치 선으로 연결한다고 생각하면 쉽습니다.

예를 들어볼게요.

"프로젝트" 데이터베이스와 "작업" 데이터베이스가 있다고 해봅시다.

 

각 작업은 특정 프로젝트에 속하죠.

릴레이션을 사용하면 작업에서 "어느 프로젝트인지" 연결할 수 있어요.

연결하면 양방향으로 정보를 볼 수 있어요.

작업 페이지를 열면 연결된 프로젝트가 보이고, 프로젝트 페이지를 열면 관련된 모든 작업이 자동으로 나타납니다.

일일이 찾아다닐 필요가 없는 거죠.

 

노션의 릴레이션은 여러 관계 유형을 지원해요.

일대일(1:1), 일대다(1:N), 다대다(N:N) 모두 가능합니다.

"한 프로젝트에 여러 작업"은 일대다, "한 작업이 여러 프로젝트에 속함"은 다대다 관계예요.

릴레이션 자체는 연결만 해줘요.

연결된 데이터의 값을 가져와서 계산하려면 롤업을 사용해야 합니다.

 

롤업은 나중에 자세히 알아볼게요.

기본 릴레이션 만들기

실제로 릴레이션을 만들어봅시다.

예제로 "프로젝트"와 "작업" 데이터베이스를 연결해볼게요.

먼저 두 개의 데이터베이스가 필요해요.

"프로젝트" 데이터베이스를 하나 만들고, "작업" 데이터베이스를 또 하나 만드세요.

같은 페이지에 있어도 되고, 다른 페이지에 있어도 됩니다.

 

"작업" 데이터베이스에 새 속성을 추가하세요.

속성 타입에서 "릴레이션"을 선택합니다.

어느 데이터베이스와 연결할지 물어보면 "프로젝트" 데이터베이스를 선택하세요.

 

이제 각 작업 행에서 프로젝트를 선택할 수 있어요.

릴레이션 속성을 클릭하면 프로젝트 목록이 나타나고, 연결할 프로젝트를 골라 클릭하면 됩니다.

 

자동으로 양방향 연결이 생성돼요.

"프로젝트" 데이터베이스를 확인해보면 "작업" 속성이 자동으로 추가되어 있을 거예요.

각 프로젝트에 연결된 작업들이 자동으로 표시됩니다.

 

여러 개를 연결할 수도 있어요.

한 작업이 여러 프로젝트에 속한다면 릴레이션 속성에서 여러 프로젝트를 선택하면 됩니다. 쉼표로 구분되어 표시돼요.

롤업이란 무엇인가요?

롤업은 릴레이션으로 연결된 데이터의 값을 가져와서 계산하는 기능이에요.

예를 들어 프로젝트에 연결된 모든 작업의 개수를 세거나, 작업들의 소요 시간을 모두 합치거나, 평균을 구할 수 있습니다. 수동으로 계산할 필요 없이 자동으로 업데이트돼요.

롤업은 세 가지 요소로 구성돼요.

첫째, 어떤 릴레이션에서 가져올지(Relation).

둘째, 그 데이터베이스의 어떤 속성을 볼지(Property).

셋째, 어떻게 계산할지(Calculate)입니다.

 

계산 방식은 다양해요.

개수 세기(Count), 합계(Sum), 평균(Average), 중앙값(Median), 최댓값(Max), 최솟값(Min), 범위(Range) 등을 선택할 수 있어요.

롤업은 실시간으로 업데이트돼요.

연결된 데이터가 바뀌면 롤업 값도 자동으로 변합니다. 프로젝트에 작업을 추가하면 작업 개수가 자동으로 증가하는 식이죠.

기본 롤업 만들기

롤업을 실제로 만들어봅시다. 프로젝트별로 작업이 몇 개인지 세는 롤업을 만들어볼게요.

"프로젝트" 데이터베이스에 새 속성을 추가하세요. 속성 타입에서 "롤업"을 선택합니다.

 

첫 번째 설정은 Relation이에요.

어떤 릴레이션 속성을 사용할지 선택하는 거죠. 아까 만든 "작업" 릴레이션을 선택하세요.

 

두 번째 설정은 Property예요.

작업 데이터베이스의 어떤 속성을 볼지 선택합니다. 개수만 세려면 아무 속성이나 선택해도 되지만, 보통 제목(Name)을 선택해요.

 

세 번째 설정은 Calculate입니다.

어떻게 계산할지 정하는 거예요.

작업 개수를 세려면 "Count all"을 선택하세요.

"Count values"는 비어있지 않은 것만 세고, "Count unique values"는 중복 제거하고 셉니다.

 

이제 각 프로젝트 행에 작업 개수가 자동으로 표시돼요.

작업을 추가하거나 삭제하면 숫자가 실시간으로 변합니다. 수동으로 셀 필요가 없어요.

숫자 롤업 활용하기

숫자를 다루는 롤업은 정말 유용해요. 합계, 평균, 최댓값, 최솟값 등을 자동 계산할 수 있습니다.

각 작업에 "소요 시간" 속성(숫자 타입)을 추가했다고 해봅시다.

프로젝트별로 총 소요 시간을 계산하려면 롤업을 만들면 돼요.

새 롤업 속성을 추가하고, Relation은 "작업", Property는 "소요 시간", Calculate는 "Sum"을 선택하세요.

그러면 해당 프로젝트의 모든 작업 소요 시간이 자동으로 합산됩니다.

 

평균을 구하려면 Calculate를 "Average"로 선택하면 돼요.

"이 프로젝트의 작업은 평균 3.5시간 걸려"같은 정보를 자동으로 얻을 수 있어요.

 

최댓값과 최솟값도 유용해요.

"가장 오래 걸린 작업", "가장 빨리 끝난 작업"을 자동으로 찾아줍니다. Range를 선택하면 최댓값과 최솟값의 차이를 계산해요.

 

여러 개의 롤업을 동시에 만들 수 있어요.

"작업 개수", "총 소요 시간", "평균 소요 시간"을 각각 별도 롤업으로 만들어서 다양한 각도로 프로젝트를 분석하세요.

날짜 롤업 활용하기

날짜를 다루는 롤업도 강력해요.

가장 빠른 마감일이나 가장 늦은 마감일을 자동으로 찾을 수 있습니다.

작업에 "마감일" 속성(날짜 타입)이 있다면, 프로젝트의 "첫 번째 마감일"을 찾는 롤업을 만들 수 있어요.

Calculate를 "Earliest date"로 선택하면 됩니다.

 

"마지막 마감일"을 찾으려면 "Latest date"를 선택하세요.

프로젝트 전체가 언제 완료되는지 자동으로 알 수 있어요.

 

날짜 범위도 계산할 수 있어요.

"Date range"를 선택하면 첫 마감일부터 마지막 마감일까지 며칠인지 계산해줍니다.

프로젝트 기간을 파악하는 데 유용해요.

 

수식과 결합하면 더 강력해요.

롤업으로 가져온 마지막 마감일과 현재 날짜를 비교해서

"프로젝트가 언제 끝나는지", "마감까지 며칠 남았는지" 자동으로 계산할 수 있습니다.

텍스트 롤업 활용하기

텍스트를 다루는 롤업은 여러 값을 모아서 보여줘요.

작업의 제목들을 모두 모아서 리스트로 보고 싶다면 Calculate를 "Show original"로 선택하세요.

연결된 모든 작업의 제목이 쉼표로 구분되어 표시됩니다.

 

중복 없이 보려면 "Show unique"를 사용하세요.

같은 값이 여러 번 나와도 한 번만 표시해요.

 

개수를 세는 것도 가능해요.

"Count all"은 모든 항목을 세고, "Count unique values"는 중복 제거하고 셉니다.

 

텍스트를 합치는 것도 되요.

"Join with comma"를 선택하면 쉼표로 연결된 텍스트가 나오고, "Join with space"는 공백으로 연결해요.

체크박스 롤업 활용하기

체크박스 속성도 롤업으로 집계할 수 있어요.

작업에 "완료" 체크박스가 있다면, 프로젝트에서 "몇 개 작업이 완료됐는지" 세는 롤업을 만들 수 있어요.

Calculate를 "Count values" 중 "Checked"를 선택하면 체크된 항목만 셉니다.

 

완료율을 계산하는 것도 가능해요.

체크된 개수를 세는 롤업과 전체 개수를 세는 롤업을 각각 만든 뒤, 수식으로 나눠서 백분율을 계산하면 됩니다.

 

예를 들어 "완료된 작업"(체크된 것만 세기)과 "전체 작업"(모두 세기) 롤업을 만들고, 수식으로 (prop("완료된 작업") / prop("전체 작업")) * 100을 계산하면 "프로젝트 진행률 75%"같은 결과를 얻을 수 있어요.

실전 활용 예시 1: 프로젝트 관리

프로젝트 관리 시스템에서 릴레이션과 롤업을 어떻게 활용하는지 구체적인 예시를 들어볼게요.

세 개의 데이터베이스를 만드세요. "프로젝트", "작업", "팀원"입니다.

프로젝트는 여러 작업으로 구성되고, 각 작업은 팀원에게 할당됩니다.

 

작업 데이터베이스에 두 개의 릴레이션을 만드세요.

하나는 프로젝트에 연결하고, 다른 하나는 팀원에 연결합니다.

이렇게 하면 각 작업이 어느 프로젝트의 어느 팀원 담당인지 명확해져요.

프로젝트 데이터베이스에 여러 롤업을 추가하세요:

  • "작업 개수": 총 몇 개 작업인지
  • "완료된 작업": 체크박스가 체크된 작업 개수
  • "진행률": 완료/전체 비율
  • "총 예상 시간": 모든 작업의 소요 시간 합계
  • "마지막 마감일": 가장 늦은 작업 마감일

팀원 데이터베이스에도 롤업을 추가하세요:

  • "담당 작업 수": 각 팀원이 맡은 작업 개수
  • "워크로드": 담당 작업의 총 소요 시간
  • "완료한 작업": 체크된 작업 개수

이렇게 하면 프로젝트 전체 현황, 개인별 업무량, 진행 상황을 자동으로 파악할 수 있어요. 수동으로 집계할 필요가 없습니다.

실전 활용 예시 2: 고객 관리 (CRM)

영업이나 고객 관리에도 릴레이션과 롤업이 정말 유용해요.

"고객"과 "거래" 두 개의 데이터베이스를 만드세요. 각 거래는 특정 고객과 연결됩니다.

거래 데이터베이스에 "고객" 릴레이션을 추가하고, "거래액", "거래일", "상태"(진행중/완료) 속성을 만드세요.

고객 데이터베이스에 여러 롤업을 추가하세요:

  • "총 거래 횟수": 해당 고객과의 전체 거래 수
  • "총 거래액": 모든 거래액의 합계
  • "평균 거래액": 거래액의 평균
  • "최근 거래일": 가장 최근 거래 날짜
  • "진행중인 거래": 상태가 "진행중"인 거래 개수

이렇게 하면 각 고객의 중요도, 최근 활동, 거래 패턴을 자동으로 파악할 수 있어요.

VIP 고객을 식별하거나, 오랫동안 거래가 없는 고객을 찾아내는 게 쉬워집니다.

 

수식과 결합하면 더 강력해요.

"마지막 거래 이후 일수"를 계산해서 "90일 이상 거래 없음" 같은 경고를 자동으로 표시할 수 있습니다.

실전 활용 예시 3: 콘텐츠 제작 관리

블로그나 유튜브 같은 콘텐츠를 만든다면 이렇게 활용할 수 있어요.

"콘텐츠"와 "카테고리" 두 데이터베이스를 만드세요. 각 콘텐츠는 카테고리에 속합니다.

콘텐츠 데이터베이스에 "카테고리" 릴레이션과 "조회수", "좋아요", "작성일" 속성을 추가하세요.

카테고리 데이터베이스에 롤업을 추가하세요:

  • "콘텐츠 수": 해당 카테고리의 글 개수
  • "총 조회수": 모든 글의 조회수 합계
  • "평균 조회수": 조회수 평균
  • "최고 조회수": 가장 많이 본 글의 조회수
  • "최근 발행일": 가장 최근에 올린 글 날짜

이렇게 하면 어떤 카테고리가 인기 있는지, 어떤 카테고리에 글을 더 써야 하는지, 방치된 카테고리는 없는지 자동으로 파악할 수 있어요.

실전 활용 예시 4: 학습 관리

공부나 강의를 관리할 때도 릴레이션과 롤업이 유용해요.

"과목"과 "학습 세션" 데이터베이스를 만드세요. 각 학습 세션은 특정 과목에 속합니다.

학습 세션에 "과목" 릴레이션, "학습 시간", "날짜", "이해도"(1-5점) 속성을 추가하세요.

과목 데이터베이스에 롤업을 추가하세요:

  • "학습 횟수": 해당 과목을 공부한 총 횟수
  • "총 학습 시간": 모든 세션의 시간 합계
  • "평균 이해도": 이해도 점수의 평균
  • "최근 학습일": 가장 최근에 공부한 날짜

이렇게 하면 어떤 과목에 시간을 많이/적게 쓰는지, 어떤 과목이 어려운지, 오랫동안 안 본 과목은 무엇인지 자동으로 파악할 수 있어요.

다중 릴레이션 활용하기

하나의 항목이 여러 다른 데이터베이스와 연결될 수 있어요.

예를 들어 "작업"이 "프로젝트", "팀원", "태그"에 동시에 연결될 수 있습니다. 각각 별도의 릴레이션 속성으로 만들면 돼요.

이렇게 하면 다양한 각도로 데이터를 볼 수 있어요.

프로젝트별로 작업을 보거나, 팀원별로 작업을 보거나, 태그별로 작업을 필터링할 수 있습니다.

 

롤업도 여러 개 만들 수 있어요.

프로젝트에서 "참여 팀원 수"를 세는 롤업, 팀원에서 "참여 프로젝트 수"를 세는 롤업을 각각 만들면 인사이트가 풍부해집니다.

셀프 릴레이션 활용하기

같은 데이터베이스 내에서 항목끼리 연결하는 것도 가능해요.

"작업" 데이터베이스에서 "의존 작업" 릴레이션을 만들어봅시다.

자기 자신인 "작업" 데이터베이스를 선택하면 셀프 릴레이션이 만들어져요.

 

이렇게 하면 "A 작업이 끝나야 B 작업을 시작할 수 있음" 같은 의존 관계를 표현할 수 있어요.

프로젝트 관리에서 선행 작업을 추적하는 데 유용합니다.

 

팀원 데이터베이스에서도 활용할 수 있어요.

"멘토" 릴레이션을 만들어서 누가 누구의 멘토인지 연결하면, 조직 구조나 멘토링 관계를 시각화할 수 있습니다.

릴레이션과 롤업 최적화 팁

더 효율적으로 사용하는 방법을 알아볼게요.

 

릴레이션 이름을 명확하게 지으세요.

자동 생성된 이름("Related to 프로젝트")보다 "소속 프로젝트", "담당 작업" 같은 구체적인 이름이 이해하기 쉬워요.

 

양방향 이름을 다르게 설정하세요.

릴레이션을 만들 때 양쪽 데이터베이스에서 어떤 이름으로 보일지 각각 정할 수 있어요.

"작업 → 프로젝트"는 "소속 프로젝트", "프로젝트 → 작업"은 "포함 작업"처럼 다르게 명명하면 헷갈리지 않아요.

 

필요한 롤업만 만드세요.

너무 많은 롤업은 페이지를 복잡하게 만들고 로딩 속도를 느리게 해요.

정말 자주 보는 지표만 롤업으로 만들고, 가끔 필요한 건 필터나 정렬로 확인하세요.

 

롤업 결과를 수식에서 재활용하세요.

롤업으로 계산한 값을 다른 수식 속성에서 참조해서 더 복잡한 계산을 할 수 있어요.

예를 들어 "총 작업"과 "완료 작업" 롤업을 만들고, 수식으로 진행률을 계산하는 식이죠.

릴레이션과 롤업으로 할 수 없는 것

만능은 아니에요.

한계도 알아야 현실적으로 사용할 수 있습니다.

3단계 이상 연결은 직접적으로 안 돼요.

A → B → C 식의 간접 연결은 노션에서 바로 롤업할 수 없습니다. 중간에 수식이나 추가 릴레이션을 만들어서 우회해야 해요.

 

복잡한 조건부 집계는 제한적이에요.

"완료된 작업 중 중요도가 높은 것만 세기" 같은 복합 조건은 직접 롤업으로 안 되고, 필터를 활용하거나 별도 뷰를 만들어야 합니다.

 

실시간 계산이 느릴 수 있어요.

데이터가 많아지면 롤업 계산이 지연될 수 있습니다.

수천 개 행을 다루는 대규모 데이터베이스에서는 성능 문제가 생길 수 있어요.

 

차트나 그래프는 만들 수 없어요.

롤업으로 숫자를 계산할 수는 있지만, 시각화는 노션의 기본 기능이 아닙니다.

구글 시트로 내보내서 그래프를 만들거나, 외부 도구를 활용해야 해요.

자주하는 실수와 해결법

릴레이션과 롤업을 사용할 때 흔히 하는 실수들이 있어요.

릴레이션 방향을 헷갈리는 경우가 많아요.

"작업에서 프로젝트로" 연결할지, "프로젝트에서 작업으로" 연결할지 고민되죠. 답은 양쪽 다 자동으로 생성된다는 거예요.

어느 쪽에서 만들든 양방향으로 보입니다.

 

롤업 계산 방식을 잘못 선택하는 경우도 있어요.

"Count all"과 "Count values"의 차이, "Sum"과 "Show original"의 차이를 정확히 이해하고 선택하세요.

 

빈 값 처리를 고려하지 않는 실수도 흔해요.

연결된 항목이 없거나 속성이 비어있으면 롤업 결과가 0이나 빈 칸으로 나올 수 있어요.

수식에서 이런 경우를 처리하는 로직을 추가하세요.

 

너무 복잡하게 만드는 것도 문제예요.

릴레이션을 너무 많이 만들면 데이터 구조가 복잡해져서 나중에 관리하기 어려워요. 정말 필요한 연결만 만드세요.

릴레이션과 롤업 디버깅하기

제대로 작동하지 않을 때 확인할 점들이 있어요.

롤업이 0이나 빈 칸으로 나온다면:

  • 릴레이션이 제대로 연결되어 있나요?
  • 연결된 항목에 해당 속성의 값이 있나요?
  • 계산 방식이 올바른가요?
  • 속성 타입이 맞나요? (숫자 롤업인데 텍스트 속성을 선택하지 않았나요?)

예상과 다른 숫자가 나온다면:

  • "Count all"과 "Count values"를 혼동하지 않았나요?
  • 중복이 포함되어 있지 않나요?
  • 필터가 걸려있지 않나요?

양방향 릴레이션이 안 보인다면:

  • 다른 페이지에 있는 데이터베이스인가요? 해당 페이지를 열어서 확인하세요
  • 속성이 숨겨져 있을 수 있어요. 속성 설정에서 모두 표시해보세요

마치며

릴레이션과 롤업은 처음엔 어렵게 느껴지지만, 한번 익숙해지면 노션의 가장 강력한 도구가 됩니다.

단순한 메모 앱이 전문적인 데이터베이스 시스템으로 변신하는 마법 같은 기능이에요.

 

처음에는 간단한 연결부터 시작하세요.

"프로젝트와 작업 연결하기", "작업 개수 세기" 정도의 기본적인 활용으로 충분해요.

익숙해지면 점차 복잡한 시스템을 만들어가면 됩니다.

 

중요한 건 본인의 업무 흐름에 맞게 설계하는 거예요.

다른 사람의 템플릿을 그대로 복사하기보다는, 본인이 어떤 정보를 연결하고 어떤 지표를 추적하고 싶은지 고민하세요.

릴레이션과 롤업은 그걸 구현하는 도구일 뿐입니다.

 

완벽한 시스템을 만들려고 너무 시간을 쓰지 마세요.

일단 만들어서 사용하면서 개선하는 게 훨씬 효율적이에요.

실제로 써보면 "이 연결은 필요 없네", "이 롤업은 정말 유용하네" 같은 걸 알게 됩니다.

 

릴레이션과 롤업을 마스터하면 노션으로 할 수 있는 게 정말 많아져요.

프로젝트 관리, 고객 관리, 콘텐츠 제작, 학습 추적, 재무 관리...

거의 모든 업무를 체계적으로 관리할 수 있습니다. 

 

노션-롤업-관계형-사용법-화면