본문으로 건너뛰기

데이터 관계 구조에 기반한 어드민 기획 (1)

· 약 9분
강효준

우리 서비스의 데이터 구조와 관계성을 이용한다면 어드민을 쉽게 기획할 수 있습니다. 데이터 구조 파악은 전문 지식을 필요로 할 것 같지만 어느 정도의 패턴을 파악할 수 있다면 직관적으로 이해하실 수 있습니다.

이 글에선 개발 지식 없이도 데이터 구조와 관계성을 파악할 수 있도록 간단한 예제와 함께 기획 예시를 적어보도록 하겠습니다.

데이터베이스와 데이터 관계

웹 서비스 혹은 앱을 운영하는 기업이라면 우리 서비스의 데이터를 어딘가에 저장하고 있습니다. 보통은 데이터를 저장하는데 관계형 데이터베이스 서버를 많이 사용합니다.

고객 정보를 저장하고 있는 테이블의 예제
고객 정보를 저장하고 있는 테이블의 예제

데이터를 저장하기 위해선 위 예시에서 보시는것 처럼 표 형태 구조를 사용합니다. 데이터베이스에선 "테이블"이라고 부르는데요. 관계형 데이터베이스에 가장 큰 특징 중 하나가 이 테이블의 구조를 정하고 테이블 간의 관계를 설정하여 데이터를 다룬다는 점입니다.

이 점을 인지한 후 어드민을 기획한다면 데이터 구조를 어드민에 곧바로 반영할 수 있기에 쉽게 기획을 완료할 수 있습니다.

생활용품 판매 서비스

예시 서비스와 마찬가지로 각종 생활용품을 구매할 수 있는 다이소 앱
예시 서비스와 마찬가지로 각종 생활용품을 구매할 수 있는 다이소 앱

샴푸, 비누, 칫솔 등의 생활 용품을 파는 서비스를 예로 들어보겠습니다. 이 서비스의 어드민에서 처리해야 할 고객의 요청 사항들은 무엇일까요?

"어제 구매한 제품의 결제를 취소 하고 싶다", "오늘 주문한 비누를 재주문 하고 싶은데 재고가 남아있나?" 같은 고객이 주문한 생활용품에 관련된 내용일 것입니다. 그렇다면 이 서비스의 어드민에서는 주문 정보와 제품의 재고 및 주문량 등을 확인하고 고객에게 응대할 수 있어야 합니다.

위 상황에서 우리 서비스에서 구조를 파악해 봐야 할 데이터는 고객 정보생활용품을 구매한 주문 상세 내역입니다. 이 데이터가 어떤 식으로 나뉘어져 있을지 파악해 보겠습니다.

데이터 나누는 것 파악하기

마치 스프레드시트를 사용할 때 데이터가 조금만 복잡하면 여러 개의 시트를 나누어서 lookup 함수를 통해 새로운 시트를 만들어내듯 데이터베이스에서도 데이터를 효율적으로 저장하기 위해서 데이터를 분리해서 저장합니다.

그 예시로 김홉스 고객님이 샴푸 1개, 비누 2개를 24년 1월 1일에 주문한 정보를 저장하려면 영수증에서 보이는 것처럼 데이터를 옮기지 않고, 아래처럼 나누어서 저장합니다.

  1. 고객의 인적 정보: 고객의 이름은 김홉스이다. 이 고객은 고객 번호 1번이다.
  2. 제품의 정보: 제품의 이름은 샴푸, 비누가 있고, 재고는 각각 10개씩 남아 있다. 샴푸는 제품 번호 2번이고 비누는 3번이다.
  3. 주문의 정보: 고객 번호 1번이 제품번호 2번 1개, 제품번호 3번 2개를 24년 1월 1일에 주문했다.

데이터 정규화

데이터를 나누는 방법이 복잡해 보이지만 고객의 인적 정보, 생활용품의 정보, 주문 정보 3개의 키워드만 파악하실 수 있다면 충분합니다.

데이터 관계 찾아보기

테이블에 저장되어있는 데이터의 관계를 정의할 때는 일대일, 일대다, 다대다 관계로 정의합니다. 하지만 이런 기술 용어는 어렵기 때문에 기준 데이터 1개에 다른 데이터가 여러 개 연결될 수 있는지만 알 수 있다면 어드민 기획에는 충분합니다.

고객과 주문 관계
고객과 주문 관계

고객과 주문: 우리 서비스에선 한 명의 고객이 여러 번의 주문을 할 수 있습니다. 고객과 주문이 이런 관계이기 때문에 고객 상세 페이지를 만들고, 고객이 주문한 기록을 테이블 형태로 표현합니다. 어드민에서 한 개의 데이터에 연결되어 있는 한개의 상세 정보를 나타낼 수 있는 폼 그리고 여러 개의 데이터를 보여주는 테이블로 구성할 수 있습니다.

주문과 제품의 관계
주문과 제품의 관계

주문과 제품: 한번 주문할 때 여러 개의 제품을 동시에 주문합니다. 재고만 존재한다면 비누 같은 제품을 여러 번 주문할 수 있습니다. 주문 상세 페이지에서 제품을 테이블 형태로 표현합니다.

제품 상세 페이지에서도 주문을 테이블 형태로 표현할 수 있습니다. 하지만 비누를 주문한 내역은 너무 많을 것이라 테이블로 표현하기에 적합하지 않습니다. 보통 주문처럼 시간과 관련 있는 데이터라면 일 단위 주문량을 시각화하거나, 지난달 대비 주문량이 어떻게 되는지 비교하는 등 경향성을 확인할 수 있는 UI를 구성합니다.

고객과 제품의 관계
고객과 제품의 관계

고객과 제품: 고객과 제품은 주문을 사이에 두고 연결되는 관계입니다. 이런 관계일 때는 고객 상세 페이지에서 직접 제품의 데이터를 다루지 않고 각 제품을 얼마나 구매했는지, 어떤 제품을 선호하는지 등 제품에 대한 경향성을 확인할 수 있는 UI를 구성합니다.

마무리

생활용품 판매 서비스 예시에서 데이터 구조와 관계를 찾아보는 방법을 소개해 드렸습니다. 2편에서는 이를 기반으로 어드민을 기획하는 방법을 소개해 드리겠습니다.

어드민을 기획하려는데 어떤 데이터 구조일지 궁금하시다면 저에게 편하게 연락주세요.

어드민, 백오피스 개발 고민이 있으신가요?

정보 설계부터 화면 구성까지 어드민에 관한 고민이라면 무엇이든 이야기 나누고 싶습니다.
이 링크에서 일정을 잡아주세요.