SuitsDocs
콘텐츠데이터모델

관계

데이터모델 간의 관계를 설정하세요.

왜 관계가 필요한가?

데이터 간의 연결이 없으면 중복불일치 문제가 발생합니다.

관계 없이 관리하는 경우

주문 ID고객명고객 이메일고객 전화번호상품명
001김철수[email protected]010-1234-5678노트북
002김철수[email protected]010-1234-5678마우스
003김철수[email protected]010-1234-0000키보드

❌ 문제점:

  • 고객 정보가 중복 입력됨
  • 이메일/전화번호가 불일치함
  • 고객 정보 수정 시 모든 행을 수정해야 함

관계로 관리하는 경우

고객 데이터모델

고객 ID고객명이메일전화번호
C001김철수[email protected]010-1234-5678

주문 데이터모델

주문 ID고객 (관계)상품명
001→ 김철수노트북
002→ 김철수마우스
003→ 김철수키보드

✅ 장점:

  • 고객 정보 한 곳에서 관리
  • 항상 일관된 정보 표시
  • 수정 시 한 번만 변경

관계 타입

슈츠는 네 가지 관계 타입을 지원합니다.

일대일 (One-to-One)

하나의 항목이 정확히 하나의 항목과 연결됩니다.

사용자 ←→ 프로필
  │         │
  A ─────── A의 프로필
  B ─────── B의 프로필

예시:

  • 사용자 ↔ 프로필
  • 직원 ↔ 급여 정보
  • 주문 ↔ 배송 정보

일대다 (One-to-Many)

하나의 항목이 여러 항목과 연결됩니다.

프로젝트 ──→ 태스크

    A ────┬── 태스크 1
          ├── 태스크 2
          └── 태스크 3

예시:

  • 고객 → 주문 (한 고객이 여러 주문)
  • 프로젝트 → 태스크 (한 프로젝트에 여러 태스크)
  • 부서 → 직원 (한 부서에 여러 직원)
  • 카테고리 → 상품 (한 카테고리에 여러 상품)

다대일 (Many-to-One)

여러 항목이 하나의 항목과 연결됩니다. (일대다의 역방향)

태스크 ──→ 프로젝트

태스크 1 ──┐
태스크 2 ──┼── 프로젝트 A
태스크 3 ──┘

예시:

  • 주문 → 고객 (여러 주문이 한 고객)
  • 태스크 → 프로젝트 (여러 태스크가 한 프로젝트)
  • 직원 → 부서 (여러 직원이 한 부서)

다대다 (Many-to-Many)

여러 항목여러 항목과 연결됩니다.

태스크 ←→ 태그
    │      │
태스크1 ─┬─ 긴급
         ├─ 버그
태스크2 ─┼─ 긴급
         └─ 개선

예시:

  • 태스크 ↔ 담당자 (한 태스크에 여러 담당자, 한 담당자가 여러 태스크)
  • 상품 ↔ 태그 (한 상품에 여러 태그, 한 태그에 여러 상품)
  • 학생 ↔ 수업 (한 학생이 여러 수업, 한 수업에 여러 학생)

관계 설정하기

1단계: 관계 속성 추가

  1. 데이터모델에서 + 속성 추가 클릭
  2. 속성 타입에서 관계(Relation) 선택
  3. 속성 이름 입력 (예: "담당 프로젝트", "주문 고객")

2단계: 연결할 데이터모델 선택

드롭다운에서 연결할 대상 데이터모델을 선택합니다.

3단계: 관계 타입 설정

설정설명
단일 선택하나의 항목만 연결 (다대일, 일대일)
다중 선택여러 항목 연결 가능 (다대다, 일대다)

4단계: 양방향 관계 설정 (선택)

역방향 관계 속성 생성을 체크하면 연결된 데이터모델에도 자동으로 관계 속성이 생성됩니다.

태스크 ──→ 프로젝트    (태스크에서 프로젝트 선택)

프로젝트 ──→ 태스크들   (프로젝트에서 관련 태스크 목록 표시)

양방향 관계를 설정하면 양쪽 데이터모델에서 모두 관련 데이터를 확인할 수 있어 편리합니다.


관계 속성 사용하기

데이터 연결

관계 속성 셀을 클릭하면 연결할 수 있는 항목 목록이 표시됩니다.

  1. 셀 클릭
  2. 검색하거나 목록에서 선택
  3. 연결 완료

연결된 데이터 보기

관계 셀을 클릭하면 연결된 항목의 미리보기가 표시됩니다. 클릭하여 상세 페이지로 이동할 수 있습니다.

표시 속성 설정

관계 셀에 표시할 대상 데이터모델의 속성을 선택할 수 있습니다.

  1. 관계 속성 설정 열기
  2. 표시 속성 선택
  3. 셀에 표시할 속성 체크 (예: 이름, 상태)

롤업

**롤업(Rollup)**은 관계된 데이터의 값을 집계하여 표시하는 속성입니다.

롤업 함수

함수설명예시
COUNT연결된 항목 수주문 수: 5
SUM숫자 속성의 합총 주문 금액: ₩500만
AVERAGE숫자 속성의 평균평균 주문 금액: ₩100만
MIN최소값최소 주문 금액: ₩50만
MAX최대값최대 주문 금액: ₩200만
MEDIAN중앙값중앙 주문 금액: ₩100만

롤업 설정하기

  1. + 속성 추가롤업(Rollup) 선택
  2. 관계 속성 선택: 집계할 관계 속성
  3. 대상 속성 선택: 집계할 속성 (숫자 타입)
  4. 집계 함수 선택: COUNT, SUM, AVERAGE 등

롤업 예시

고객 데이터모델

고객명주문 (관계)총 주문 금액 (롤업)주문 건수 (롤업)
김철수주문1, 주문2, 주문3₩450만3
이영희주문4, 주문5₩280만2

설정:

  • 총 주문 금액: 관계=주문, 속성=금액, 함수=SUM
  • 주문 건수: 관계=주문, 속성=-, 함수=COUNT

활용 패턴

CRM (고객 관계 관리)

고객사 ─────────────< 담당자
  │                    │
  ├───────────────< 영업기회
  │                    │
  └───────────────< 미팅기록
데이터모델관계롤업
고객사담당자들, 영업기회들총 예상 매출(SUM), 진행중 딜 수(COUNT)
담당자소속 고객사-
영업기회고객사, 담당자-
미팅기록고객사, 영업기회-

프로젝트 관리

프로젝트 ─────────< 마일스톤
    │                 │
    │                 ├────────< 태스크
    │                 │
    └─────────────────┘
    
태스크 ←────────→ 담당자 (다대다)
데이터모델관계롤업
프로젝트마일스톤들완료율(COUNT 완료/COUNT 전체)
마일스톤소속 프로젝트, 태스크들태스크 완료율
태스크마일스톤, 담당자들-

인사 관리

부서 ─────────────< 직원
  │                  │
  └──────────────< 프로젝트 (부서별)

                     └───────→ 직원 (프로젝트 멤버, 다대다)
데이터모델관계롤업
부서소속 직원들직원 수, 평균 연봉
직원소속 부서, 참여 프로젝트참여 프로젝트 수
프로젝트주관 부서, 멤버들멤버 수

재고 관리

카테고리 ─────────< 상품

입출고 >─────────────┘
데이터모델관계롤업
카테고리상품들상품 수, 총 재고 가치
상품카테고리, 입출고 내역현재 재고(입고SUM - 출고SUM)
입출고상품-

관계 설계 팁

1. 중복 데이터 피하기

같은 정보가 여러 곳에 입력되면 관계로 분리하세요.

❌ 잘못된 예:
주문: 고객명, 고객이메일, 고객전화, 상품명, 상품가격...

✅ 좋은 예:
주문 → 고객 (관계)
주문 → 상품 (관계)

2. 양방향 관계 활용

단방향보다 양방향 관계를 설정하면 양쪽에서 모두 데이터를 확인할 수 있습니다.

3. 롤업으로 집계 자동화

수동으로 합계를 계산하는 대신 롤업을 사용하세요. 데이터가 변경되면 자동으로 업데이트됩니다.

4. 명확한 관계명 사용

관계 속성 이름은 의미가 명확해야 합니다.

❌ 모호한 예: "관련 데이터", "링크"
✅ 명확한 예: "담당 프로젝트", "주문 고객", "할당된 태스크"

테일러로 관계 설정하기

테일러에게 전체 시스템을 요청하면 관계까지 자동으로 설정됩니다.

B2B 영업팀을 위한 CRM 시스템을 만들어줘.
고객사, 담당자, 영업기회, 미팅기록을 관리하고 싶어.
각 고객사에는 여러 담당자가 있고, 
영업기회는 특정 고객사와 연결되어야 해.

테일러가 생성하는 결과:

  • 고객사 데이터모델 (담당자, 영업기회 관계 포함)
  • 담당자 데이터모델 (소속 고객사 관계)
  • 영업기회 데이터모델 (고객사, 담당자 관계)
  • 미팅기록 데이터모델 (고객사, 영업기회 관계)

다음 단계

  • 수식 - 자동 계산 설정하기
  • - 관계 데이터를 다양한 방식으로 보기
  • 워크플로우 - 관계 데이터 기반 자동화