본문 바로가기
행복바이러스 행복바이러스

노션 공식 템플릿 제작자를 위한 데이터베이스 아키텍처 설계 패턴 5가지

읽는 시간 약 11분

노션 템플릿은 화면을 보기 좋게 꾸미는 것만으로 완성되지 않습니다. 처음에는 잘 작동하더라도 데이터가 늘어나면서 중복 항목이 생기거나 관계가 꼬이고, 필터가 복잡해지면 사용하기 어려운 템플릿이 됩니다.

특히 여러 사람이 복제해 사용하는 배포용 템플릿이라면 데이터베이스 구조부터 체계적으로 설계해야 합니다. 이번 글에서는 프로젝트 관리, 콘텐츠 캘린더, 고객 관리, 가계부 등 다양한 노션 템플릿에 적용할 수 있는 데이터베이스 아키텍처 설계 패턴 5가지를 살펴보겠습니다.


1. 하나의 마스터 데이터베이스를 중심으로 설계하기

초보 제작자가 가장 자주 하는 실수는 대시보드마다 별도의 데이터베이스를 만드는 것입니다.

예를 들어 ‘오늘 할 일’, ‘이번 주 할 일’, ‘완료한 일’ 데이터베이스를 각각 만들면 같은 업무를 여러 곳에 입력해야 합니다. 상태가 변경될 때마다 데이터를 옮겨야 하므로 누락과 중복도 쉽게 발생합니다.

효율적인 방식은 하나의 마스터 작업 데이터베이스를 만든 다음, 연결된 보기를 이용해 필요한 항목만 보여주는 것입니다.

권장 속성 구성

속성형식용도
업무명제목작업 이름
상태상태예정·진행 중·완료 구분
마감일날짜일정 관리
담당자사람작업 담당자 지정
우선순위선택높음·보통·낮음 분류
프로젝트관계형프로젝트 DB 연결
작업 IDID항목 식별

대시보드에는 마스터 데이터베이스의 연결된 보기를 배치하고 각각 다른 필터를 적용합니다.

  • 오늘 할 일: 마감일이 오늘인 항목
  • 진행 중: 상태가 ‘진행 중’인 항목
  • 지연된 업무: 마감일이 오늘보다 이전이며 완료되지 않은 항목
  • 완료 목록: 상태가 ‘완료’인 항목

노션에서는 동일한 데이터베이스를 표, 보드, 달력, 타임라인 등 여러 보기로 표시할 수 있으며, 보기마다 필터·정렬·속성 표시 여부를 다르게 설정할 수 있습니다. 따라서 데이터를 복제하지 않고도 목적에 맞는 화면을 구성할 수 있습니다.


2. 허브 앤드 스포크 구조로 데이터베이스 연결하기

규모가 큰 템플릿은 하나의 거대한 데이터베이스에 모든 정보를 넣는 방식보다 중심 데이터베이스와 세부 데이터베이스를 분리하는 편이 좋습니다.

프로젝트 관리 템플릿이라면 다음과 같이 구성할 수 있습니다.

프로젝트 DB
├── 작업 DB
├── 회의록 DB
├── 자료 DB
└── 목표 DB

여기에서 프로젝트 데이터베이스는 중심이 되는 허브이고, 작업·회의록·자료 데이터베이스는 프로젝트와 연결된 스포크 역할을 합니다.

실제 연결 예시

데이터베이스주요 정보연결 대상
프로젝트프로젝트명, 기간, 상태작업·회의록·목표
작업담당자, 마감일, 진행 상태프로젝트
회의록회의일, 참석자, 결정 사항프로젝트
자료파일, 참고 링크, 구분프로젝트
목표목표값, 실적, 달성률프로젝트

관계형 속성을 사용하면 서로 다른 데이터베이스의 항목을 연결할 수 있습니다. 롤업을 추가하면 관련 작업 수, 완료된 작업 수, 최근 회의일과 같은 정보를 프로젝트 데이터베이스에 집계할 수 있습니다.

예를 들어 프로젝트별 진행률은 다음과 같이 구성할 수 있습니다.

  1. 작업 DB에 완료 여부 속성을 만듭니다.
  2. 프로젝트 DB와 작업 DB를 관계형으로 연결합니다.
  3. 프로젝트 DB에서 완료 여부를 롤업합니다.
  4. 완료된 작업의 비율을 계산합니다.
  5. 수식 속성으로 진행률을 표시합니다.

단, 노션에서는 롤업한 값을 다시 롤업하는 구조가 지원되지 않습니다. 여러 단계의 집계가 필요하다면 중간 데이터베이스를 무작정 추가하기보다 수식이나 자동화로 구조를 단순화하는 것이 좋습니다.


3. 반복 값은 별도의 기준정보 데이터베이스로 분리하기

고객명, 카테고리, 거래처, 계정과목처럼 반복해서 사용하는 정보를 일반 텍스트나 선택 속성으로 입력하면 표기 방식이 달라질 수 있습니다.

예를 들어 같은 거래처를 다음처럼 입력할 수 있습니다.

  • 노션코리아
  • 노션 코리아
  • Notion Korea
  • notion korea

컴퓨터는 이를 서로 다른 값으로 인식합니다. 거래 금액이나 프로젝트 수를 업체별로 집계할 때 정확한 결과가 나오지 않을 수 있습니다.

이런 반복 데이터는 별도의 기준정보 데이터베이스로 분리하는 것이 좋습니다.

가계부 템플릿의 기준정보 구조

거래내역 DB
├── 계정과목 DB
├── 결제수단 DB
└── 월별예산 DB

거래내역에 ‘식비’라는 글자를 직접 입력하는 대신 계정과목 DB의 ‘식비’ 페이지를 관계형으로 연결합니다. 이후 계정과목의 분류, 예산, 아이콘을 수정하면 연결된 화면에도 동일한 기준을 적용할 수 있습니다.

이 구조는 다음과 같은 템플릿에 유용합니다.

  • 고객 및 영업 관리
  • 재무·예산 관리
  • 콘텐츠 카테고리 관리
  • 운동 종목 및 루틴 관리
  • 강의 및 학습 과목 관리

다만 데이터가 몇 개뿐이고 집계할 필요도 없다면 선택 속성이 더 간단합니다. 모든 값을 관계형으로 만들면 설정 과정이 복잡해질 수 있으므로 재사용 빈도와 확장 가능성을 기준으로 판단해야 합니다.


4. 다대다 관계는 연결용 데이터베이스로 풀어내기

하나의 항목이 여러 항목과 연결되는 다대다 관계는 노션에서도 자주 발생합니다.

예를 들어 여러 명의 팀원이 여러 프로젝트에 참여한다고 가정해 보겠습니다.

팀원 ↔ 프로젝트

팀원 DB와 프로젝트 DB를 직접 연결하면 참여 여부는 확인할 수 있지만, 프로젝트마다 달라지는 역할이나 투입 시간까지 기록하기 어렵습니다.

이때는 프로젝트 참여라는 연결용 데이터베이스를 만듭니다.

팀원 DB
   ↓
프로젝트 참여 DB
   ↓
프로젝트 DB

프로젝트 참여 DB 속성 예시

속성형식
참여 기록제목
팀원관계형
프로젝트관계형
담당 역할선택
시작일날짜
종료일날짜
예상 투입 시간숫자
실제 투입 시간숫자
참여 상태상태

이렇게 설계하면 한 사람이 프로젝트마다 다른 역할을 맡는 상황을 정확하게 기록할 수 있습니다. 강의 수강 관리, 독서 기록, 상품 주문, 운동 루틴처럼 관계 자체에 추가 정보가 필요한 템플릿에도 적용할 수 있습니다.

연결용 데이터베이스가 필요한지는 다음 질문으로 판단하면 쉽습니다.

두 항목의 연결 관계에 날짜, 수량, 역할, 상태 또는 금액을 추가로 기록해야 하는가?

답이 ‘예’라면 별도의 연결용 데이터베이스를 만드는 편이 좋습니다.


5. 고유 ID와 데이터베이스 템플릿으로 입력 규칙 통일하기

배포용 템플릿은 사용자가 어떤 순서로 데이터를 입력하더라도 일정한 구조가 유지되어야 합니다. 이를 위해 고유 ID와 데이터베이스 템플릿을 함께 활용할 수 있습니다.

노션의 ID 속성은 데이터베이스 항목마다 변경할 수 없는 번호를 자동으로 부여합니다. 접두사를 설정하면 TASK-1, CLIENT-12, ORDER-103처럼 용도를 알아보기 쉬운 식별값을 만들 수 있습니다. 삭제된 항목의 번호도 다시 사용하지 않으므로 항목을 구분하거나 외부 자동화와 연결할 때 유용합니다.

추천 ID 접두사

데이터베이스접두사 예시
프로젝트PRJ
작업TASK
고객CLT
주문ORD
콘텐츠CNT
회의록MTG

데이터베이스 템플릿에는 반복되는 페이지 구조와 기본 속성값을 미리 넣을 수 있습니다.

예를 들어 회의록 템플릿에는 다음 항목을 구성할 수 있습니다.

회의 목적

참석자

주요 논의 내용

결정 사항

후속 작업

다음 회의 일정

주간 회의처럼 정기적으로 만들어야 하는 페이지는 반복 데이터베이스 템플릿으로 자동 생성할 수도 있습니다. 다만 템플릿 안의 관계형 속성에 특정 페이지를 미리 지정하면 새로 생성되는 모든 페이지가 같은 항목과 연결될 수 있으므로 주의해야 합니다.


좋은 템플릿을 만드는 데이터베이스 점검표

템플릿을 공개하거나 판매하기 전에는 다음 항목을 확인하는 것이 좋습니다.

  • 동일한 데이터를 여러 데이터베이스에 중복 저장하지 않았는가?
  • 하나의 마스터 DB를 여러 보기로 활용하고 있는가?
  • 관계형 속성의 연결 방향을 사용자가 이해할 수 있는가?
  • 반복되는 기준정보가 통일되어 있는가?
  • 관계 자체에 정보가 필요할 때 연결용 DB를 사용했는가?
  • 데이터가 없어도 빈 화면의 의미를 이해할 수 있는가?
  • 속성 이름이 처음 사용하는 사람에게도 명확한가?
  • 샘플 데이터를 삭제해도 필터와 수식이 정상 작동하는가?
  • 불필요한 속성은 보기에서 숨겼는가?
  • 사용자가 실수로 구조를 변경하지 않도록 데이터베이스를 잠갔는가?

데이터베이스 잠금을 설정하면 사용자는 항목을 입력하면서도 보기나 속성 구조를 함부로 변경하기 어려워집니다. 배포용 템플릿의 기본 구조를 보호하는 데 유용합니다.


자주 묻는 질문

데이터베이스는 많을수록 전문적인가요?

그렇지 않습니다. 데이터베이스가 많아지면 관계형 설정과 유지 관리도 복잡해집니다. 독립적으로 관리해야 할 정보이거나 반복 사용되는 기준정보일 때만 분리하는 것이 좋습니다.

선택 속성과 관계형 속성 중 무엇을 사용해야 하나요?

단순 분류만 필요하면 선택 속성이 편합니다. 해당 분류에 설명, 예산, 담당자, 색상, 목표값 등의 정보를 추가하거나 다른 DB에서 재사용해야 한다면 관계형 속성이 적합합니다.

복제용 템플릿에 샘플 데이터를 넣어도 되나요?

사용자가 구조를 쉽게 이해할 수 있도록 소량의 샘플 데이터를 넣는 것이 좋습니다. 다만 샘플 삭제 방법과 새 데이터 입력 순서를 안내 페이지에 함께 작성해야 합니다.

데이터베이스 하나에 속성을 많이 넣어도 괜찮나요?

필요한 속성이라면 추가할 수 있지만 모든 보기에서 노출할 필요는 없습니다. 입력용 보기, 관리용 보기, 요약용 보기를 나눈 뒤 각 화면에 필요한 속성만 표시하면 사용성이 좋아집니다.


마무리

완성도 높은 노션 템플릿은 화려한 대시보드보다 일관된 데이터 구조에서 시작합니다. 하나의 마스터 데이터베이스를 중심으로 연결된 보기를 만들고, 프로젝트·작업·고객처럼 독립적으로 관리해야 할 정보만 분리해야 합니다.

여기에 관계형과 롤업, 연결용 데이터베이스, 고유 ID, 반복 템플릿을 적절히 적용하면 데이터가 늘어나도 구조가 쉽게 무너지지 않습니다. 템플릿을 만들 때는 먼저 화면 디자인을 시작하기보다 어떤 정보를 저장하고 서로 어떻게 연결할 것인지부터 종이에 그려보는 것이 가장 효율적입니다.

youngji
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.