데이터베이스 102: 관계와 롤업

 
관계형 데이터베이스가 세계를 움직입니다.
관계형 데이터 베이스는 IBM이 1970년대에 발명한 당대의 첨단 기술이었지만, 대부분 이 사실을 모르고 있죠.우리가 이것을 알게된 것은 대부분 오라클 때문인데 이는 래리 엘리슨이 오라클을 창업하고 이 관계형 데이터베이스를 모든 은행과 정부기관에 사용하게 하였기 때문이죠.
이번 가이드에서는 Notion에서 관계 및 롤업 데이터를 사용하는 방법을 알아봅시다.😎
1977년의 래리 엘리슨, 오라클 창립자 1977년의 래리 엘리슨, 오라클 창립자
1977년의 래리 엘리슨, 오라클 창립자

예제와 함께 시작해 볼까요?

상황을 한 번 가정해 봅시다. 고객과 제품에 대한 데이터가 있습니다. 그리고 당신은 이것을 아래와 같이 업무에 활용하고 싶어하죠.
  • 누가 무엇을 구매하였는지
  • 그들이 사용한 비용은 총 얼마였는지
여기 예제를 위한 페이지를 마련해 놓았습니다.
고객 & 제품 데이터베이스 예시
누가 무엇을 구매했나요? 우리는 관계형 데이터 자료구조가 필요합니다!누가 무엇을 구매했나요? 우리는 관계형 데이터 자료구조가 필요합니다!
누가 무엇을 구매했나요? 우리는 관계형 데이터 자료구조가 필요합니다!

관계 속성 만들기(relation property)

먼저, 고객 데이터에서 속성열(property)을 추가 → Advanced의 Relation으로 설정 → 아래 있는 제품 데이터 를 선택해 줍니다.
이제 고객 데이터제품 데이터는 연결되었습니다. 이는 두 표는 서로에게 영향을 줄 수 있다는 말 이죠. 이제 이 열의 이름을 주문한 상품이라고 지정해 줍시다.
1. 속성을 추가하고 이름을 지어주세요.
2. 속성을 Relation으로 설정해주세요.1. 속성을 추가하고 이름을 지어주세요.
2. 속성을 Relation으로 설정해주세요.
1. 속성을 추가하고 이름을 지어주세요. 2. 속성을 Relation으로 설정해주세요.
3. 연결할 데이터베이스를 선택해주세요.3. 연결할 데이터베이스를 선택해주세요.
3. 연결할 데이터베이스를 선택해주세요.

연결된 페이지 추가하기

Susan이 Khaki pants와 T-shirt을 주문 한 것을 어떻게 표시 할 수 있을까요?
Susan의 행에서 주문한 상품셀을 클릭하고 → 주문한 상품을 선택 → Enter키로 확인
(Tip: 왼쪽의 파란색 원 +를 이용하면 여러 제품을 선택하여 추가 할 수 있습니다.)
notion imagenotion image

연결된 페이지 수정하고 지우기

이제 우리는 Susan의 주문을 표에서 볼 수 있습니다!
  • 주문한 상품을 수정하려면 해당 셀을 클릭하세요. (제품 가격 등을 수정하려는 경우)
  • 왼쪽의 빨간 원 모양의 X 버튼을 누르면 삭제 됩니다.
키보드로 하면 더욱 편하답니다! 😉
notion imagenotion image
notion imagenotion image
 

양방향 동기화

고객 데이터를 수정했는데 제품 데이터에 자동으로 다른 열이 생성되나요?👀
관계형 데이터는 쌍방향임으로 연결된 두 데이터베이스는 서로에 의해 추가, 삭제 될 수 있습니다.
매우 간편하죠 👌
notion imagenotion image

롤업(Rollup) 속성 생성

고객이 무엇을 샀는지는 표시하였으니 이제 얼마를 지불했는지 확인해 봅시다.
고객 데이터에서 열을 추가→ Rollup 속성으로 선택→ 항목 이름을 총 금액으로 지정→ 속성값을 # 가격으로 지정→ SUM 계산으로 설정해줍니다.
notion imagenotion image
notion imagenotion image
 

14종류의 롤업 함수가 있습니다! (18.11.20일 기준)

원본표시, 최소, 최대, 평균값, 총합 등 다양한 데이터 값을 볼 수 있습니다.
앞서 알려드린 관계형 데이터베이스와 롤업 함수를 이용하면 프로그래머에게 부탁했던 데이터 작업도 손쉽게 할 수 있습니다. 💪
notion imagenotion image
  • Show Original: 원본 보기. 가장 기본적인 형태 입니다. 설정한 값을 가공 없이 보여줍니다.
  • Count All: 엑셀 함수 COUNT. 빈 페이지를 포함하여 총 페이지 수를 계산합니다.
  • Count Values: 속성에 대한 고유한 값의 수를 카운트합니다. 여러 값을 포함할 수 있는 유형의 경우, 모든 페이지에 대한 고유한 값이 계산됩니다.
  • Count Empty: 엑셀 함수 COUNTA의 반대. 속성에 비워진 값의 수를 계산합니다.
  • Count Not Empty: 엑셀 함수 COUNTA. 속성에 채워진 값의 수를 계산합니다.
  • Percent Empty: 엑셀 함수 COUNTA의 반대. 속성에 비워진 값의 수를 퍼센트로 나타냅니다.
  • Percent Not Empty: 엑셀 함수 COUNTA. 속성에 채워진 값의 수를 퍼센트로 나타냅니다.
  • Sum (numbers only): 숫자 값의 합을 구합니다.
  • Average (numbers only): 숫자 값의 평균을 구합니다.
  • Median (numbers only): 숫자 값의 중위값을 구합니다.
  • Min (numbers only): 숫자 값의 최소값을 구합니다.
  • Max (numbers only): 숫자 값의 최대값을 구합니다.
  • Range (numbers only): 숫자 값의 범위를 구합니다.
  • Earliest Date (date only): 가장 이른 날을 날짜 값의 시간으로 찾습니다.
  • Latest Date (date only): 가장 최근 날을 날짜 값의 시간으로 찾습니다.
  • Date Range (date only): 날짜 값의 범위를 구합니다.

합계 롤업 함수

마지막으로, 고객들이 구매한 값의 총합은 얼마일까요?
마우스를 열의 맨 아래로 이동→ "계산" 버튼 → SUM을 선택합니다.
롤업과 관계형 데이터베이스는 강력한 조합입니다! 👯‍♀️
notion imagenotion image

더 많은 사용법

위에서 알려드린 관계형 데이터는 다양한 방면으로 사용될 수 있습니다.
  • 프로젝트&작업
  • 회사&연락처
  • 구직자&면접자
  • 등등...
notion imagenotion image
 

FAQ - 1. 데이터베이스 내의 관계 구축

여러 작업 데이터베이스가 있다고 가정하고 각 작업들을 다른 작업과 관련시키려는 경우 일반적으로 이 관계를 모델링하는 두 가지 방법이 있습니다.
  • 해당 작업 데이터베이스 내부적 연결
  • 데이터베이스 상위 작업 및 하위 작업
Notion은 두 상황을 모두 잘 처리할 수 있습니다.
먼저 열/속성 추가 → 속성 Relation → 해당 데이터베이스를 선택 → 다음과 같은 대화상자 확인
  • 관계된 작업으로 모델링 하려면 "Create a new property and sync both ways"를 선택하면 해당 데이터베이스 내의 다른 작업과 연동할 수 있습니다.
  • 상위 및 하위 작업으로 모델링하려면, "Create a new property and sync both ways"를 선택하면 상위작업과 하위 작업이 나뉘어지며 상위 작업을 업데이트 할 때 마다 하위 작업도 업데이트 됩니다.
notion imagenotion image

FAQ - 2. 관계형 데이터베이스 가져오기&추출하기

관계형 데이터베이스를 추출하고 싶다면, 관계 속성은 일반 텍스트 URL로, 롤업 속성은 일반 텍스트로 추출됩니다.
현재, CSV를 다시 Notion으로 가져와 다른 데이터베이스와의 관계를 다시 설정하는 것은 불가능 합니다. 🙄
notion imagenotion image

FAQ - 3. 관계형 데이터베이스 복사하기

"고객 데이터"와 "제품 데이터"라는 두 개의 관계형 데이터베이스가 있다고 가정하고 "고객 데이터"를 복사하여 새 데이터베이스인 "Copy of 고객 데이터"가 생성되면 이것은 "제품 데이터" 데이터베이스에 자동으로 생성된 관계 속성이 추가로 나타납니다.
왜냐구요? 관계형 데이터베이스가 Notion에선 양방향으로 동기화되기 때문입니다. 하나의 데이터베이스가 복제될 때 모든 데이터베이스의 모든 관계가 복제됩니다.
좀 헷갈리긴 하지만 금방 이해하게 될 겁니다. 잊지마세요, 실행 취소는 당신의 좋은 친구 입니다 😉
notion imagenotion image