[실전] 독서 기록장 데이터베이스 만들기 (관계형, 롤업 활용)


많은 분들이 노션으로 독서 기록을 시작할 때, 그저 읽은 날짜와 책 제목만 나열하는 ‘단순한 목록’에서 그치는 경우가 많아요. 그렇게 쌓인 목록은 나중에 다시 들여다보지도 않는, 그저 '죽은 데이터'가 되기 십상입니다.


진짜 독서 기록의 목적은 ‘내가 어떤 작가를 편애하는지’, ‘어떤 장르에 내 평점이 유독 후한지’ 같은 나만의 독서 패턴을 발견하는 데 있어야 해요.


오늘은 단순한 목록을 넘어, 여러분의 독서 성향을 자동으로 분석해주는 ‘살아있는 독서 시스템’을 만드는 방법을 알려드릴게요. 노션의 핵심 기능인 ‘관계형’과 ‘롤업’을 왜, 그리고 어떻게 사용해야 하는지 그 본질에 집중해서 설명해 드리겠습니다.

서1



1. 가장 흔한 실수: 왜 하나의 표로 만들면 안되나요?

대부분의 사람들이 저지르는 첫 번째 실수는, ‘도서 목록’이라는 거대한 표 하나에 모든 정보를 다 담으려고 하는 거예요.


  • 1행: 데미안 / 헤르만 헤세 / 소설 / 별 5개
  • 2행: 수레바퀴 아래서 / 헤르만 헤세 / 소설 / 별 4개
  • 3행: 1984 / 조지 오웰 / 소설 / 별 5개


이 방식은 당장은 편해 보이지만, 아주 치명적인 문제들을 안고 있어요.


  • 데이터의 부정확성: ‘헤르만 헤세’를 입력하다가 실수로 ‘헤르만 헷세’라고 오타를 내면, 노션은 이 둘을 완전히 다른 작가로 인식합니다. 나중에 ‘헤르만 헤세’의 책만 모아보려고 필터를 걸면, 오타가 난 책은 목록에서 빠져버리죠.
  • 정보의 비효율성: ‘헤르만 헤세’라는 작가의 ‘국적’이나 ‘생몰연대’ 같은 정보를 어디에 적어야 할까요? 모든 책마다 ‘독일’이라고 반복해서 적는 건 너무나 비효율적이에요.
  • 분석의 불가능: 그래서 ‘내가 헤르만 헤세의 책을 총 몇 권 읽었지?’를 알려면, 일일이 눈으로 세어보거나 매번 검색을 새로 해야 합니다.

서2



2. 전문가의 해결책: '정보의 성격'에 따라 DB 분리하기

이 모든 문제의 해결책은 의외로 간단해요. 정보의 성격에 따라 ‘표를 2개로 나누는 것’입니다.


  • ‘도서 목록’ 데이터베이스: ‘데미안’, ‘1984’처럼 계속해서 쌓이는 ‘변동성 데이터’를 담는 창고입니다.
  • ‘저자 목록’ 데이터베이스: ‘헤르만 헤세’, ‘조지 오웰’처럼 한 번 입력해두면 잘 변하지 않는 ‘기준 정보(마스터)’를 담는 창고입니다.


‘헤르만 헤세’라는 정보는 오직 ‘저자 목록’ DB 한곳에서만 관리하고, ‘도서 목록’에서는 이 정보를 그냥 ‘불러와서 연결’만 해주는 거예요. 이렇게 하면 오타가 날 일도 없고, 정보가 중복될 일도 사라집니다.




3. 2단계: 2개의 데이터베이스 재료 준비하기

이제 이 개념을 바탕으로, 필요한 속성들을 설계해 볼게요. 빈 페이지에 ‘데이터베이스 - 인라인’으로 2개를 만들어주세요.


1. ‘저자 목록’ (기준 정보 DB)


  • 이름: (기본 속성. 여기에 ‘헤르만 헤세’를 입력합니다)
  • 국적: (선택 속성 / 옵션: 한국, 독일, 미국, 일본 등)
  • 분야: (다중 선택 속성 / 옵션: 소설가, 시인, 철학자 등)


2. ‘도서 목록’ (변동성 데이터 DB)


  • 이름: (기본 속성. 여기에 ‘데미안’을 입력합니다)
  • 상태: (선택 속성 / 옵션: 읽을 예정, 읽는 중, 완독)
  • 별점 (숫자): (숫자 속성 / 1~5점의 점수를 숫자로 입력)
  • 장르: (선택 속성 / 옵션: 소설, 에세이, 인문 등)




4. 3단계: '관계형' 속성으로 두 DB 다리 놓기


이제 이 두 개의 독립된 표를 연결할 차례입니다. ‘도서 목록’에서 ‘저자 목록’을 연결하는 다리를 놓을 거예요.


1. ‘도서 목록’ DB에서 ‘+’ 버튼을 눌러 새 속성을 추가합니다.

2. 속성 유형은 ‘관계형(Relation)’을 선택합니다.

3. 연결할 데이터베이스로 우리가 만든 ‘저자 목록’을 선택해 주세요.

4. 이때, ‘저자 목록에 표시’ 스위치를 꼭 켜주세요. (이게 양방향 연결입니다)

5. ‘저자 목록’에 표시될 속성 이름은 ‘저술한 책들’이라고 정해볼게요.

6. ‘관계형 추가’를 누릅니다.


이제 ‘도서 목록’ 표에는 ‘저자 목록’(이름을 ‘저자’로 바꿔주세요)이라는 속성이 생겼고, ‘저자 목록’ 표에는 ‘저술한 책들’이라는 속성이 자동으로 생겼을 거예요.

서3


5. 4단계: '롤업'으로 단순 연결을 '진짜 분석'으로 바꾸기


자, 이제 ‘도서 목록’에 ‘데미안’을 쓰고, ‘저자’ 속성에서 ‘헤르만 헤세’를 연결할 수 있게 되었어요. ‘저자 목록’에 가보면 ‘헤르만 헤세’ 옆에 ‘데미안’이 연결된 게 보일 겁니다.


하지만 이걸로 끝이라면, 그냥 ‘연결된 목록’일 뿐, ‘분석’이라고 할 수는 없겠죠.


많은 분들이 여기서 멈추기 때문에 관계형 기능의 절반밖에 활용하지 못해요. 우리는 ‘롤업(Rollup)’을 사용해서 이 연결된 데이터를 ‘계산’하고 ‘분석’할 겁니다.


  • 기본 롤업: 총 몇 권 읽었나?


1. ‘저자 목록’ DB에 ‘롤업’ 속성을 새로 추가합니다.

2. 이름은 ‘총 읽은 권수’라고 지어주세요.

3. 롤업 설정을 엽니다.

4. 관계형 선택: ‘저술한 책들 (도서 목록)’을 선택합니다.

5. 속성 선택: ‘이름’(책 제목)을 선택합니다.

6. 계산 선택: ‘모두 세기(Count all)’를 선택합니다.

  • 결과: ‘헤르만 헤세’ 항목의 ‘총 읽은 권수’ 칸에 내가 ‘도서 목록’에서 연결한 책의 총개수가 자동으로 계산됩니다.


  • 심화 롤업: 이 작가의 내 평균 별점은? (이게 진짜 독창성!) 이것이야말로 이 시스템의 핵심입니다. 내가 유독 이 작가에게 평점을 후하게 주는지 알 수 있죠.


1. ‘저자 목록’ DB에 ‘롤업’ 속성을 하나 더 추가합니다.

2. 이름은 ‘나의 평균 별점’이라고 지어주세요.

3. 롤업 설정을 엽니다.

4. 관계형 선택: ‘저술한 책들 (도서 목록)’을 선택합니다.

5. 속성 선택: ‘도서 목록’에 있던 ‘별점 (숫자)’ 속성을 선택합니다. (이래서 별점을 숫자로 입력해야 합니다)

6. 계산 선택: ‘평균(Average)’을 선택합니다.

  • 결과: ‘헤르만 헤세’의 책들에 내가 매긴 별점(예: 5점, 4점)의 평균값이 ‘4.5’처럼 자동으로 계산됩니다.



이제 여러분의 독서 기록장은 단순히 책을 나열하는 목록이 아니에요. ‘저자 목록’ DB만 열어보면, 작가별 독서량과 나의 평균 별점까지 한눈에 분석되는 강력한 ‘독서 성향 분석 대시보드’가 되었습니다 :)







댓글