brunch

You can make anything
by writing

C.S.Lewis

by 시리얼 Sireal Mar 08. 2024

데이터 정리의 시작,
데이터베이스 기본 가이드

feat.Notion (노션)

데이터 정리 어떻게 하고 계신가요? 


노션이나 구글 워크스페이스 컨설팅을 위해 고객 분들의 데이터를 받아보면 정리가 제대로 되어 있지 않은 분들이 종종 있습니다. 데이터 정리에 대해 누가 알려주지도 않고, 지금 당장 내가 필요한 데이터만 뽑아서 쓰면 되기 때문에 아무런 규칙도 형식도 없이 마구잡이로 써놓은 듯이 보였죠. 이렇게 데이터를 정리하면 협업을 할 때 아주 불편한 상황을 초래합니다. 


이번 시간에는 데이터 정리의 기초와 함께 데이터베이스에 대해 알아볼 예정입니다. 이 개념을 이해하면 내 데이터는 왜 잘못되었는지 이해할 수 있을 것이며, 데이터베이스의 개념도 잡히실 것입니다. 또한, 노션뿐만 아니라 엑셀, 구글 시트, 에어테이블 등 다른 도구를 사용할 때에도 데이터베이스 개념을 접목시키면 훨씬 데이터 분석과 연결이 편리해질 거예요.


목차
1. 데이터베이스란?
2. 데이터베이스에 필요한 3가지 요소
3. 데이터베이스를 구성해 보자
4. 데이터베이스와 사용자 간 흐름
5. 데이터베이스의 활용(링크된 DB, 관계형 DB)




1. 데이터베이스(Database)란?

데이터베이스(이하: DB)는 데이터를 담는 곳입니다. (간단)


여기서 많은 분들이 오해하고 계신 포인트가 있습니다.


데이터를 막 담아도 되나요?
⬇️
안됩니다 �


예를 들어 아래 이미지처럼 데이터를 막 담으면 안 되는 것들이 아주 많습니다. 

1. 데이터 분석을 위한 정리도 안되고

2. 필터링도 안되고

3. 정렬도 안되고

4. 조회도 안되고


나름 굵게도 하고 색깔도 넣고 분류도 해서 깔끔하게 보인다고 하실 수도 있습니다. 그럼에도 불구하고 저렇게 데이터를 담는 분들은 데이터 정리 방법이 자기만의 기준이기 때문입니다. 셀 병합도 되어 있고, 두 개의 행이 하나의 데이터죠. 데이터 분석에는 사용할 수 없는 형태입니다.


데이터 정리는 왜 해야 할까요?

호텔룸을 생각해 보세요. 호텔룸의 구조는 물건들이 있어야 할 곳에 있죠. 수건과 드라이기, 비누는 욕실에, 물과 음료수는 냉장고에, 티브이 리모컨은 티브이 밑 선반에, 옷과 옷걸이는 옷장에 있습니다. 그래서 누구나 새로운 호텔에 처음 방문해도 조금만 구조를 파악하면 손쉽게 이용할 수 있습니다. 이런 곳을 정리가 잘 되어 있는 방이라고 합니다.


그런데 내 방은 어떻죠? 물건이 있어야 할 곳에 있지 않습니다. 너무 많은 물건이 널브러져 있기 때문에 모든 물건을 쉽게 파악할 수도, 필요한 물건을 쉽게 찾지도 못하죠. 이렇게 방을 어지르는 분들에게 물어보면 다들 자기만의 규칙이 있다고는 하는데, 그건 자기만의 '생각'이지 모두에게 적용할 수 있는 '규칙'이 아닙니다. 엄마가 내 방에 들어오면 정리가 안되어 보이니까 항상 잔소리를 하는 거죠. 이런 곳은 정리가 잘 되어 있지 않은 방이며, 규칙이 아니라 생각으로 정리하면 데이터를 누구나 쉽게 찾을 수 없습니다.


누군가 여기서 질문을 합니다.

내 방은 나 혼자 쓰는 건데 다른 사람은 무슨 상관이죠?


혼자 쓰는 데이터라면 생각으로 정리해서 혼자 쓰시면 됩니다. 누구나 다 생각이 있을 테니까요. 그런데 혼자 열심히 관리하던 데이터를 자랑스럽게 다른 사람에게 보여주면 “이게 뭐야?” 하는 반응을 보인 적 있으실 겁니다. 내 생각과 남들과 함께 사용하는 규칙은 다를 수 있습니다.


데이터는 혼자만 보기 위해 만든 게 아니라 협업을 위해 만들어진 것입니다. 따라서 누구나 이해할 수 있는 규칙에 따라 정리해야 합니다. 위에서 정리가 안된 데이터를 아래 이미지처럼 정리했습니다. 하나의 행이 데이터가 되고, 열은 데이터의 속성이 됩니다. 이렇게 정리하면 누구나 쉽게 데이터를 이해하고 파악할 수 있죠.

대부분은 데이터를 혼자 보지 않고 공유하기 때문에 누구나 한눈에 데이터를 파악할 수 있어야 합니다. 


예를 들어,

판매 내역 데이터가 있다고 하면, 디자인 팀은 어떤 제품의 디자인과 색깔, 사이즈가 많이 나갔는지 보고 다음 제품을 디자인하고, 재고관리팀은 어떤 제품이 많이 나갔는지 파악하여 다음 발주에 활용해야 하며, 마케팅 팀은 누가 언제 이 제품을 많이 구매했는지 살펴보고 잠재 고객에 대해 마케팅 전략을 세워야 합니다.


이처럼 데이터는 나 혼자만의 것이 아니라 다른 사람도 볼 수 있다는 가정하에 누구나 한눈에 볼 수 있도로 깔끔하게 정리해둬야 합니다.




2. 데이터베이스에 필요한 3가지 요소

데이터베이스를 정리할 때 필요한 3가지가 있습니다. 이 3가지를 기준으로 데이터를 정리하면 데이터베이스를 잘 만들었다고 판단할 수 있죠. 

1) 구조화
2) 유형+형식
3) MECE(중복 X 누락 X)


1) 구조화

데이터를 체계적으로 관리하기에 가장 중요한 것이 데이터베이스 구조화입니다. 위 화면처럼 데이터를 섞어두면 데이터를 필터링해서 볼 수 없게 됩니다. 데이터를 위와 같이 정리하면 사원번호순으로 볼 수도 없고, ㄱㄴㄷ 순으로 사원 이름을 정렬할 수도 없고, 주소지별로 직원을 분류할 수도 없습니다. 데이터를 가공할 수 없는 상태인 거죠. 사원의 수가 많을수록, 사원별로 입력해야 할 정보가 많을수록 불편함은 더욱 커집니다.


위 이미지와 같이 데이터를 행과 열에 맞게 정리해야 합니다. 가로로 된 '행'에는 데이터를 넣고, '열'에는 데이터의 유형을 정리하는 거죠. 이렇게 구조를 정리해 두면 사원번호나 이름으로 정렬할 수도 있고, 입사일 필터를 걸어 3월에 입사한 사람이 누구인지 필터링해서 입사 축하를 해줄 수 도 있죠. 주소지를 필터링해서 각 주소지별로 통근 버스를 보내야 할지 판단할 수도 있습니다.



2) 유형 + 형식

A. 유형

데이터를 관리할 때 가장 중요한 것 중 하나는 데이터를 유형별로 나누는 것입니다. 텍스트 유형에는 텍스트를, 숫자 유형에는 숫자를, 선택 유형에는 선택을 넣었습니다. 그러나 데이터의 유형을 사용하지 않는 분들은 모든 데이터를 텍스트로 입력하게 됩니다. 데이터를 모두 텍스트로 입력하면 숫자는 오른쪽 정렬이 안되고, '남성', '여성'만 입력해야 할 칸에 '남자', '남'과 같은 식으로 데이터 유형에 맞지 않는 속성들이 들어가게 됩니다. 이렇게 되면 또 필터링과 정렬이 안되기 때문에 분석에 애를 먹게 되죠.


B. 형식

데이터의 형식도 맞춰줘야 합니다. 대표적으로 전화번호, 계좌번호입니다. 사람들이 전화번호를 입력할 때에는 다 제각각으로 데이터를 입력합니다. -이나 마침표, 띄어쓰기 등을 섞어서 사용하죠. (이전에는 번호 사이에 , (쉼표)를 넣는 분도 봤습니다. 전화번호 사이에 쉼표를 입력하면 금액으로 인식해서 전화번호 형식이 안 나오기 때문에 데이터 분석에 상당히 곤란해집니다.)


계좌번호의 형식도 마찬가지입니다. 위에는 은행(국민은행), 입금자(시리얼), 계좌번호 3가지 정보가 한 셀에 섞여 있는데, 입력하는 사람마다 모두 제각각입니다. 국민은행을 '국민', '국민은행', 'KB'라고 입력하고, 입금자명을 앞에 쓰는 사람, 뒤에 쓰는 사람, 가운데 쓰는 사람, 계좌번호에 -(하이픈)을 넣는 사람, 안 넣는 사람 모두 제각각이죠. 형식을 통제할 수 없다면 통제할 수 있도록 데이터를 설계해야 합니다.


휴대폰 번호는 숫자만 입력하면 자동으로 -(하이픈)이 들어가게 하고, 계좌번호는 숫자만 입력하게 데이터를 통제합니다. 은행은 '은행'이라는 글자는 제외하고 한글로만 작성하게 하거나 선택 속성을 활용해 지정한 목록 중에서만 선택하도록 강제합니다. 입금자명은 다른 열로 받으면 데이터가 정리됩니다. 이렇게 하면 입력순으로 정렬하거나, 은행별로 모아서 볼 수도 있죠. 입금자명으로 정렬해서 볼 수도 있습니다.


3) MECE (중복 X 누락 X)

MECE는 기획을 할 때 사용하는 용어인데 저는 데이터를 정리할 때도 필요한 개념이라고 생각합니다. 

MECE(Mutually Exclusive Collectively Exhaustive의 약자, 상호배제와 전체포괄)는
항목들이 상호 배타적이면서 모였을 때는 완전히 전체를 이루는 것을 의미

(저는 간단하게 중복 없이 누락 없이라고 기억합니다.)

DB에 들어가는 데이터들도 마찬가지입니다. 서로 중복된 데이터가 없어야 하고, 빈 행이나 공란이 없어야 합니다. 데이터를 분석할 때 필터링되지 않거나 정렬 시 문제가 발생하기 때문이죠. 실제 데이터의 신뢰도가 떨어지는 계기이기도 합니다. 따라서 데이터가 다 입력된 상태에서 중복 없이 누락 없이를 반드시 고려해서 정리를 한 번 더 해줘야 합니다.


2. 데이터베이스에 필요한 3가지 요소
1) 구조화
2) 데이터 종류(유형, 형식)
3) MECE(중복 X 누락 X)




3. 데이터베이스를 구성해 보자

이제는 데이터베이스를 직접 구성해 봅시다. 위 이미지에 데이터를 정리해 보죠. 데이터를 정리할 때에는 분류를 먼저 해줘야 합니다. 분류는 항목들을 상위 항목으로 묶어주는 것을 말합니다. 예를 들어 판매일, 제품명, 판매수량, 판매원은 '판매 내역 DB'로 묶을 수 있고, 성별, 고객명, 전화번호, 이메일, 주소는 '고객 정보 DB'로 묶을 수 있습니다. 제품번호, 소재, 사이즈, 가격은 '제품 정보 DB'로 묶을 수 있죠.


예시 데이터로 데이터베이스를 구성하면 이렇게 됩니다. 각 속성의 유형에 맞게 데이터를 입력해 주고, 순서대로 차곡차곡 쌓이죠. 이렇게 데이터 정리를 아래로 쌓아줘야 필터링, 정렬이 쉽습니다. 필터링과 정렬이 쉬워야 데이터를 분석하기도 편해지죠.




4. 데이터베이스와 사용자 간 흐름

데이터베이스에 데이터를 입력했다면 이제 데이터가 사람에게 어떻게 보이는지 봐야겠죠. 데이터와 데이터베이스의 흐름도를 만들어보면 이렇게 됩니다. 


맨 윗줄에 있는 데이터를 데이터베이스에 넣습니다. 데이터베이스에 데이터를 넣을 때는 3가지 요소를 기준으로 정리하면서 넣어야 하죠. 구조화를 하고, 유형과 형식을 통일시키고, 중복되는 데이터는 걸러내고, 공란인 데이터는 채우거나 제거하여 데이터베이스에 입력합니다. 이렇게 잘 입력된 데이터베이스는 드디어 데이터 분석을 위한 준비를 갖추게 됩니다.


다른 데이터베이스도 비슷하지만 노션을 기준으로 다음 작업은 보기 방식입니다. 데이터를 입력할 때에는 단순히 엑셀이나 구글 시트 같은 표 형태로 데이터를 입력했는데, 노션이나 에어테이블 같이 데이터베이스를 만들 수 있는 기능들은 다른 보기 방식들이 있습니다. 노션은 총 6개의 보기 방식이 있죠. 단순한 테이블 형태인 표. 칸반(Kanban) 보드 형태인 보드 보기, 제목이 중심이 되는 리스트 보기, 섬네일이 중심이 되는 갤러리 보기, 달력과 같은 형태인 캘린더 보기, 간트 차트(Gantt chart) 형태인 타임라인 보기입니다.


보기를 설정한 이후 내가 원하는 데이터를 뽑기 위해 필터와 정렬을 거칩니다. 필터와 정렬은 단순하게 두 가지로 구분하면 쉽습니다.


필터 : 내가 원하는 데이터만 보여주거나 / 내가 원하지 않는 데이터를 가려주거나
정렬 : ㄱㄴㄷ 순 / ㅎㅍㅌ 순


데이터 리포트

필터와 정렬을 거치고 나면 내가 원하는 데이터만 남게 됩니다. 노션은 아직 차트 기능이 없어서 데이터를 그래프나 차트로 뽑아낼 수 없지만(그래프 기능이 생기면 좋겠네요) 구글 시트나 에어테이블 같은 다른 서비스를 데이터베이스로 이용한다면 Looker Studio, Power BI, Tableau 같은 서비스를 이용하여 내가 가지고 있는 데이터를 대시보드로 만들 수 있습니다. 데이터베이스에서 합계, 평균, 추이 등을 이용해 보고서를 작성하거나, 실시간으로 변하는 데이터를 활용해 리포트 서비스와 연결하는 거죠. 마케터라면 광고 보고서, 커머스 사업자라면 판매 내역을 실시간 리포트 서비스에 연결하여 대시보드화 할 수 있습니다.




5. 데이터베이스의 활용

이제 노션을 오래 사용하신 분들은 노션의 특정 기능들이 떠오르셨을 것입니다. 바로 링크된 데이터베이스와 관계형 데이터베이스죠. 데이터베이스를 활용할 때 두 가지 기능은 아주 효과적입니다. 링크된 DB부터 살펴보시죠.


1) 링크된 데이터베이스

링크된 DB는 서로 연결된 DB입니다. '링크되었다'라고 직역할 수 있죠. 하나의 DB(원본 DB)에서 연결된 데이터베이스를 생성합니다. 보기 방식, 필터, 정렬은 서로 다르게 설정할 수 있어도, 데이터는 서로 연결되어 있기 때문에 한쪽에서 데이터를 수정하면 연결된 모든 DB는 똑같이 동시에 수정됩니다. 

양방향 동기화된 데이터가 어디에나 존재한다.

라고 생각하시면 편리할 것 같습니다.

 

위 이미지에서 보시다시피 원본 DB는 DB의 이름 왼쪽에 화살표가 없고, 링크된 DB는 DB 이름 왼쪽에 우상향 화살표가 있습니다. 원본 DB(무)와 링크된 DB(유)는 우상향 화살표의 유무로 구분할 수 있으며, 링크된 DB의 우상향 화살표를 클릭하면 원본 DB로 이동합니다. 


주의할 점은 위에서도 말씀드렸지만 서로 데이터가 연결되어 있기 때문에 나만의 페이지에서 링크된 DB를 가져왔다고 데이터를 마음대로 수정하면 링크된 DB를 사용하는 다른 모든 사람에게 수정된 내용으로 보인다는 것입니다.


링크된 DB는 원본 DB에 들어 있는 데이터 중, 내가 보고 싶은 데이터만, 내가 보고 싶은 장소에서 뽑아 본다는 장점이 있습니다.


예를 들면, 하나의 판매 내역 DB에서 디자인팀이 보고 싶은 데이터, 재고관리팀이 보고 싶은 데이터, 마케팅팀이 보고 싶은 데이터는 서로 다릅니다. 원본 DB에서 서로 자기가 보고 싶은 데이터로 필터링과 정렬을 하면 다른 사람들은 불편을 겪죠. 그래서 하나의 원본 DB를 본인 또는 팀 페이지에 링크된 DB로 가져와서 자신이 원하는 보기 방식, 필터, 정렬을 통해 데이터를 뽑아 보는 것입니다. 데이터는 같지만 데이터에서 뽑아내는 인사이트는 서로 다르기 때문에 목적별로 데이터를 분석할 수 있습니다.


2) 관계형 데이터베이스

이제는 관계형 데이터베이스에 대해 알아봅시다. 링크된 DB는 하나의 원본 DB를 여러 곳에 뿌리는 개념이었다면, 관계형 DB는 두 개의 원본 DB를 사용합니다. 서로 다른 두 개의 원본 DB에 있는 데이터를 서로 관계를 맺어주는 것이죠. 관계를 맺어줌으로 인해 서로 다른 두 개의 데이터베이스는 서로의 데이터를 주고받을 수 있게 됩니다. 제품 정보 DB에서는 고객 정보 DB의 정보를 볼 수 있고, 고객 정보 DB에서는 제품 정보 DB의 정보를 볼 수 있죠. 이때 데이터끼리 서로 관계를 맺어주는 것을 관계형이라고 말하며, 다른 DB의 정보를 불러오는 것을 롤업(Rollup)이라고 부릅니다. 관계형 DB는 관계에서만 끝나는 게 아니라 롤업을 함께 사용해야 그 진가를 발휘하죠.


제품 정보 DB와 고객 정보 DB가 있을 때, 어떤 제품을 어떤 고객이 구매했는지, 어떤 고객은 어떤 제품을 구매했는지 서로 연결해 주면, 제품 DB에 있는 가격 정보를 고객 DB에 불러올 수 있으며, 특정 고객이 구매한 모든 제품에 대한 가격을 합산해서 '제품가격'이라는 속성으로 불러올 수 있습니다.


이렇게 불러온 정보를 통해 어떤 제품을 어떤 고객군이 많이 구매했는지 파악하여 해당 제품에 대한 마케팅 전략을 구상할 수 있습니다. 또한 특정 고객이 어떤 제품을 많이 구매했느냐에 따라 고객 맞춤형 할인 쿠폰 같은 개인화된 마케팅 메시지를 보낼 수도 있죠.




이번 시간에는 데이터 정리의 기초와 데이터베이스 활용법에 대해 배워보았습니다. 정리하자면 아래와 같죠.


새로운 데이터를 입력할 때에는 아래로 쌓는다.

하나의 데이터베이스에 같은 목적의 데이터만 넣는다.

데이터를 구조화한다.

데이터를 유형별로 입력한다.

데이터의 중복과 누락을 만들지 않는다.

링크된 데이터베이스와 관계형 데이터베이스를 활용해 분석한다.


시리얼 유튜브도 많이 사랑해 주세요.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari