관계형 데이터베이스가 세계를 움직입니다.
관계형 데이터 베이스는 IBM이 1970년대에 발명한 당대의 첨단 기술이었지만, 대부분 이 사실을 모르고 있죠.우리가 이것을 알게된 것은 대부분 오라클 때문인데 이는 래리 엘리슨이 오라클을 창업하고 이 관계형 데이터베이스를 모든 은행과 정부기관에 사용하게 하였기 때문이죠.
이번 가이드에서는 Notion에서 관계 및 롤업 데이터를 사용하는 방법을 알아봅시다.
1977년의 래리 엘리슨, 오라클 창립자
예제와 함께 시작해 볼까요?
상황을 한 번 가정해 봅시다. 고객과 제품에 대한 데이터가 있습니다. 그리고 당신은 이것을 아래와 같이 업무에 활용하고 싶어하죠.
•
누가 무엇을 구매하였는지
•
그들이 사용한 비용은 총 얼마였는지
여기 예제를 위한 페이지를 마련해 놓았습니다.
누가 무엇을 구매했나요? 우리는 관계형 데이터 자료구조가 필요합니다!
관계 속성 만들기(relation property)
먼저, 고객 데이터에서 속성열(property)을 추가 → Advanced의 Relation으로 설정 → 아래 있는 제품 데이터 를 선택해 줍니다.
이제 고객 데이터와 제품 데이터는 연결되었습니다. 이는 두 표는 서로에게 영향을 줄 수 있다는 말 이죠. 이제 이 열의 이름을 주문한 상품이라고 지정해 줍시다.
1. 속성을 추가하고 이름을 지어주세요.
2. 속성을 Relation으로 설정해주세요.
3. 연결할 데이터베이스를 선택해주세요.
연결된 페이지 추가하기
Susan이 Khaki pants와 T-shirt을 주문 한 것을 어떻게 표시 할 수 있을까요?
Susan의 행에서 주문한 상품셀을 클릭하고 → 주문한 상품을 선택 → Enter키로 확인
(Tip: 왼쪽의 파란색 원 +를 이용하면 여러 제품을 선택하여 추가 할 수 있습니다.)
연결된 페이지 수정하고 지우기
이제 우리는 Susan의 주문을 표에서 볼 수 있습니다!
•
주문한 상품을 수정하려면 해당 셀을 클릭하세요. (제품 가격 등을 수정하려는 경우)
•
왼쪽의 빨간 원 모양의 X 버튼을 누르면 삭제 됩니다.
키보드로 하면 더욱 편하답니다!
양방향 동기화
고객 데이터를 수정했는데 제품 데이터에 자동으로 다른 열이 생성되나요?
관계형 데이터는 쌍방향임으로 연결된 두 데이터베이스는 서로에 의해 추가, 삭제 될 수 있습니다.
매우 간편하죠
롤업(Rollup) 속성 생성
고객이 무엇을 샀는지는 표시하였으니 이제 얼마를 지불했는지 확인해 봅시다.
고객 데이터에서 열을 추가→ Rollup 속성으로 선택→ 항목 이름을 총 금액으로 지정→ 속성값을 # 가격으로 지정→ SUM 계산으로 설정해줍니다.
14종류의 롤업 함수가 있습니다! (18.11.20일 기준)
원본표시, 최소, 최대, 평균값, 총합 등 다양한 데이터 값을 볼 수 있습니다.
앞서 알려드린 관계형 데이터베이스와 롤업 함수를 이용하면 프로그래머에게 부탁했던 데이터 작업도 손쉽게 할 수 있습니다.
•
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을 선택합니다.
롤업과 관계형 데이터베이스는 강력한 조합입니다!
더 많은 사용법
위에서 알려드린 관계형 데이터는 다양한 방면으로 사용될 수 있습니다.
•
프로젝트&작업
•
회사&연락처
•
구직자&면접자
•
등등...
FAQ - 1. 데이터베이스 내의 관계 구축
여러 작업 데이터베이스가 있다고 가정하고 각 작업들을 다른 작업과 관련시키려는 경우 일반적으로 이 관계를 모델링하는 두 가지 방법이 있습니다.
•
해당 작업 데이터베이스 내부적 연결
•
데이터베이스 간 상위 작업 및 하위 작업
Notion은 두 상황을 모두 잘 처리할 수 있습니다.
먼저 열/속성 추가 → 속성 Relation → 해당 데이터베이스를 선택 → 다음과 같은 대화상자 확인
•
관계된 작업으로 모델링 하려면 "Create a new property and sync both ways"를 선택하면 해당 데이터베이스 내의 다른 작업과 연동할 수 있습니다.
•
상위 및 하위 작업으로 모델링하려면, "Create a new property and sync both ways"를 선택하면 상위작업과 하위 작업이 나뉘어지며 상위 작업을 업데이트 할 때 마다 하위 작업도 업데이트 됩니다.
FAQ - 2. 관계형 데이터베이스 가져오기&추출하기
관계형 데이터베이스를 추출하고 싶다면, 관계 속성은 일반 텍스트 URL로, 롤업 속성은 일반 텍스트로 추출됩니다.
현재, CSV를 다시 Notion으로 가져와 다른 데이터베이스와의 관계를 다시 설정하는 것은 불가능 합니다.
FAQ - 3. 관계형 데이터베이스 복사하기
"고객 데이터"와 "제품 데이터"라는 두 개의 관계형 데이터베이스가 있다고 가정하고 "고객 데이터"를 복사하여 새 데이터베이스인 "Copy of 고객 데이터"가 생성되면 이것은 "제품 데이터" 데이터베이스에 자동으로 생성된 관계 속성이 추가로 나타납니다.
왜냐구요? 관계형 데이터베이스가 Notion에선 양방향으로 동기화되기 때문입니다. 하나의 데이터베이스가 복제될 때 모든 데이터베이스의 모든 관계가 복제됩니다.
좀 헷갈리긴 하지만 금방 이해하게 될 겁니다. 잊지마세요, 실행 취소는 당신의 좋은 친구 입니다