Skip to main content

관계 개요

한눈에 보기

관계(Relationship)는 두 테이블을 연결하는 것입니다. 관계를 만들면 화면에서 드롭다운 선택, 서브테이블, 자동 연동 같은 편리한 기능이 자동으로 생깁니다.

소개

업무 데이터는 서로 연관되어 있습니다. 발주서에는 거래처 정보가 필요하고, 발주서 안에는 여러 품목이 포함됩니다. 이런 연관 관계를 테이블 간의 관계로 표현합니다.

관계를 설정하면 화면에서 자동으로:

  • 드롭다운 선택: 거래처 목록에서 선택할 수 있습니다
  • 서브테이블: 발주서 안에 품목 목록이 표시됩니다
  • 자동 연동: 품목을 선택하면 단가가 자동으로 채워집니다

관계 타입 비교

세 가지 관계 타입

관계 타입기호의미화면 결과실무 예시
1:1하나에 하나FK 드롭다운직원 ↔ 사원증
1:N─<하나에 여러 개서브테이블발주서 → 발주품목(여러 행)
M:N>─<여러 개가 여러 개중간 테이블품목 ↔ 공급업체

관계 타입별 화면 결과 비교

관계 타입별 화면 비교

세 가지 관계 타입이 실제 양식 화면에서 어떻게 표현되는지 비교한 화면입니다.

1:1 관계
← FK 드롭다운
1:N 관계
발주서 양식
품목수량단가금액
A0011001,000100,000← 서브테이블
A002502,000100,000
M:N 관계
품목 양식
(주)A사 ← 다중 선택
(주)B사
(주)C사

캔버스에서 관계 만들기

관계 생성 방법

관계 드래그 생성

한 테이블 노드에서 다른 테이블 노드로 드래그하면 관계가 만들어집니다.

  1. 캔버스에서 첫 번째 테이블 노드의 연결 포인트에 마우스를 가져갑니다
  2. 클릭한 채 드래그하여 두 번째 테이블 노드까지 끌어갑니다
  3. 연결선이 만들어지면서 자동으로 관계 설정 패널이 열립니다

관계 설정 패널

관계 속성 패널

관계 연결선을 클릭하면 오른쪽에 관계 속성 패널이 열립니다.

관계 속성 패널에서 설정할 수 있는 항목:

설정 항목설명
관계 타입1:1, 1:N, M:N 중 선택
관계 이름관계의 식별 이름
표시 컬럼(displayColumn)FK 드롭다운에 표시할 컬럼
서브테이블 설정1:N에서 서브테이블 세부 설정

관계 설계 가이드

어떤 관계 타입을 선택해야 할지 모르겠다면, 이 질문에 답해보세요:

관계 타입 판단 질문

"A 하나에 B가 몇 개 연결될 수 있는가?"

A 1개 : B 1개
1:1 관계
A 1개 : B 여러 개
1:N 관계
A 여러 개 : B 여러 개
M:N 관계

실무 판단 예시

관계판단타입
직원 - 사원증직원 1명에 사원증 1개1:1
부서 - 직원부서 1개에 직원 여러 명1:N
발주서 - 발주품목발주서 1건에 품목 여러 행1:N
거래처 - 발주서거래처 1곳에 발주서 여러 건1:N
품목 - 공급업체품목 1개에 공급업체 여러 곳, 공급업체 1곳에 품목 여러 개M:N

가장 많이 사용되는 관계 타입은 1:N입니다. 제조업 앱의 80% 이상이 1:N 관계를 사용합니다. 1:N 관계만 잘 이해하면 대부분의 앱을 설계할 수 있습니다.

실무 예시

상황: ERP 구매 모듈의 관계 설계

거래처 마스터
— 1:N →
발주서
— 1:N →
발주품목
↓ N:1
품목마스터
  • 거래처 → 발주서: 1:N (한 거래처에 여러 발주서)
  • 발주서 → 발주품목: 1:N (한 발주서에 여러 품목 행)
  • 품목마스터 → 발주품목: 1:N (한 품목이 여러 발주에 등장)

자주 묻는 질문

Q: 관계를 나중에 변경할 수 있나요? A: 배포 전이라면 관계 타입을 자유롭게 변경할 수 있습니다. 배포 후에는 데이터 구조 변경이 제한될 수 있습니다.

Q: 하나의 테이블에 여러 관계를 만들 수 있나요? A: 네, 하나의 테이블이 여러 테이블과 각각 관계를 맺을 수 있습니다.

Q: 관계를 삭제하면 데이터도 삭제되나요? A: 관계를 삭제해도 테이블의 데이터는 유지됩니다. 다만, FK 컬럼과 관련 화면 설정은 함께 삭제됩니다.

다음 단계