홈/샘플 갤러리/노션 DB와 진짜 DB
SAMPLE

노션 DB를 진짜 DB로 옮기면

레벨 5에서 만든 프로젝트와 업무를 실제 데이터베이스에 옮겼습니다. 관계형과 롤업이 속에서는 어떻게 생겼는지 나란히 놓고 봅니다.

따라 만들기 10분관계형 · 롤업 · 데이터베이스 구조레벨 5를 마친 분
01 · 라이브 데모

같은 데이터, 두 가지 모습

왼쪽은 노션에서 보이는 모습, 오른쪽은 데이터베이스에 실제로 저장된 모습입니다. 오른쪽 표는 Supabase에서 바로 읽어 온 값입니다.

데이터베이스에 연결하지 못했습니다

Supabase 연결 정보가 없거나 잠시 응답하지 않습니다. 설정 방법은 README 의 “Supabase” 항목을 참고하세요.

02 · 말 바꿔 읽기

노션 말을 DB 말로

이름만 다를 뿐 같은 일을 합니다. 개발자와 이야기할 때 이 표 한 장이면 대부분 통합니다.

노션데이터베이스이 샘플에서
데이터베이스테이블프로젝트 → projects, 업무 → tasks
속성열(컬럼)담당자 → owner, 마감일 → due
관계형연결 번호 열 (외래 키)업무의 "프로젝트" → tasks.project_id
롤업집계 보기 (뷰)개수 · 완료 비율 → project_summary
롤업이 비어 있음연결 번호가 빈 행성과 리뷰 미팅 → project_id 비어 있음

롤업 설정은 이 몇 줄입니다

노션에서 롤업 속성을 만들며 고르는 세 가지(어느 관계형으로, 무엇을, 어떻게 계산할지)가 오른쪽 글에 그대로 들어 있습니다. 읽을 줄 몰라도 괜찮습니다. 노션이 이 일을 대신 해 준다는 것만 보면 됩니다. 완료 비율 줄은 읽기 쉽게 줄여 쓴 것이고, 실제로 실행하는 글은 저장소의 supabase/schema.sql 에 있습니다.

select
  p.name as 프로젝트,
  count(t.id) as 업무_개수,
  완료인_업무 / 전체_업무 * 100 as 완료_비율,
  max(t.due) as 가장_늦은_마감일
from projects p
-- 관계형: 번호가 같은 것끼리 잇기
left join tasks t on t.project_id = p.id
-- 롤업: 프로젝트마다 묶어서 세기
group by p.name
03 · 내 노션에서 확인해 보기

레벨 5에서 만든 것을 다시 열어봅니다

STEP 1

관계형이 양쪽에 보이는지 확인합니다

업무 데이터베이스에서 프로젝트 속성을 열고, 프로젝트 데이터베이스에도 같은 관계가 보이는지 봅니다. DB로 치면 tasks 쪽에만 번호가 저장되고, 프로젝트 쪽 목록은 그 번호를 거꾸로 찾아 보여주는 것입니다.

STEP 2

연결 안 된 업무를 하나 찾습니다

업무 표에 필터를 추가해 프로젝트가 비어 있는 줄만 봅니다. 이 줄들은 어느 롤업에도 세어지지 않습니다. 위 데모의 성과 리뷰 미팅과 같은 상태입니다.

필터→프로젝트→비어 있음
STEP 3

연결하고 롤업 숫자가 바뀌는지 봅니다

찾은 업무에 프로젝트를 지정하면, 프로젝트 쪽 개수와 완료 비율이 바로 바뀝니다. 롤업은 저장된 숫자가 아니라 열 때마다 다시 세는 값이기 때문입니다. 위 SQL도 똑같이 동작합니다.

04 · 언제 무엇을

대부분의 업무는 노션으로 충분합니다

진짜 DB가 더 좋은 도구라는 뜻이 아닙니다. 쓰는 사람과 쓰는 방식이 다를 뿐입니다.

노션으로 충분할 때
  • 사람이 직접 보고 고치는 목록 (업무, 회의록, 콘텐츠 기획)
  • 보기를 자주 바꿔 가며 쓰는 자료 (표 · 보드 · 캘린더)
  • 행이 수천 개 이하이고 팀 안에서만 쓰는 자료
진짜 DB를 고려할 때
  • 다른 프로그램이 자동으로 읽고 써야 할 때 (웹사이트, 앱, 자동화)
  • 행이 수만 개 이상으로 늘어 노션이 느려질 때
  • 같은 표 안에서도 사람마다 볼 수 있는 행을 나눠야 할 때

노션이 느려지는 행 수는 속성 수와 롤업·수식 개수에 따라 달라서 정해진 기준이 없습니다. 위 숫자는 대략적인 감입니다.

이 페이지가 도움이 됐나요?