Skip to main content

1:1 관계 (일대일)

한눈에 보기

1:1 관계는 하나에 하나가 대응하는 관계입니다. 화면에서는 FK 드롭다운으로 나타나며, 참조 대상을 목록에서 선택할 수 있습니다.

소개

1:1 관계는 두 테이블의 데이터가 정확히 하나씩 대응하는 관계입니다. 실무에서는 테이블을 분리하여 관리할 때 주로 사용합니다.

예시: 직원 테이블과 사원증 테이블

  • 직원 1명에 사원증 1개
  • 사원증 1개는 직원 1명에게만 귀속

이렇게 보입니다

캔버스에서의 모습

1:1 관계 캔버스 화면

캔버스에서 1:1 관계는 두 테이블 사이에 직선으로 표시됩니다. 양쪽 끝에 "1"이 표시됩니다.

직원
사번
이름
부서
— 1:1 —
사원증
카드번호
발급일
만료일

양식(Form)에서의 모습

1:1 FK 드롭다운

1:1 관계가 설정되면 양식에서 FK 드롭다운이 나타납니다. 클릭하면 참조 대상 목록이 펼쳐집니다.

양식에서 FK(외래키) 컬럼은 드롭다운 선택 형태로 나타납니다:

사원증 양식
← FK 드롭다운

드롭다운을 클릭하면 직원 목록이 나타나고, 원하는 직원을 선택할 수 있습니다.

목록(List)에서의 모습

1:1 목록 표시

목록에서는 FK 컬럼에 참조 대상의 표시 컬럼(displayColumn) 값이 텍스트로 나타납니다.

카드번호직원발급일만료일
EMP-001-2025홍길동2025-01-152027-01-15
EMP-002-2025김영희2025-02-012027-02-01

설정 방법

1단계: 관계 생성

  1. 캔버스에서 한 테이블 노드에서 다른 테이블 노드로 드래그합니다
  2. 관계 속성 패널에서 "1:1" 을 선택합니다

2단계: displayColumn 설정

displayColumn은 FK 드롭다운에 어떤 값을 표시할지 결정합니다.

displayColumn 설정드롭다운에 표시되는 값
이름홍길동, 김영희
사번EMP001, EMP002
사번 + 이름EMP001 홍길동, EMP002 김영희

displayColumn은 사용자가 한눈에 식별할 수 있는 컬럼으로 설정하세요. 보통 이름이나 코드+이름 조합을 사용합니다.

3단계: 배포 및 확인

  1. 배포 버튼을 클릭합니다
  2. FK가 있는 테이블의 양식 화면을 확인합니다
  3. FK 드롭다운이 제대로 표시되는지 확인합니다

실무 예시

직원 - 사원증

테이블컬럼역할
직원사번, 이름, 부서, 입사일부모 테이블
사원증카드번호, 직원(FK), 발급일, 만료일자식 테이블

설비 - 설비 상세정보

테이블컬럼역할
설비설비코드, 설비명, 위치부모 테이블
설비상세제조사, 모델명, 구매일, 설비(FK)자식 테이블
주의

1:1 관계에서는 이미 다른 행에서 참조 중인 대상은 드롭다운에서 선택할 수 없습니다. 예를 들어 직원 A에게 이미 사원증이 발급되었다면, 다른 사원증에서 직원 A를 선택할 수 없습니다.

1:1 vs 1:N 구분

헷갈리기 쉬운 1:1과 1:N의 차이:

질문1:11:N
A 하나에 B가 몇 개?최대 1개여러 개
화면 모습FK 드롭다운 (단일 선택)서브테이블 (여러 행)
예시직원-사원증발주서-발주품목

자주 묻는 질문

Q: 1:1 관계에서 FK가 어느 쪽 테이블에 생기나요? A: 관계를 만들 때 드래그 방향에 따라 결정됩니다. 보통 "종속되는 쪽" 테이블에 FK가 생깁니다. (사원증 테이블에 직원 FK가 생김)

Q: displayColumn을 여러 개 설정할 수 있나요? A: 기본적으로 하나의 컬럼을 선택하지만, 코드+이름 조합 등 복합 표시가 가능합니다.

Q: 1:1 관계를 나중에 1:N으로 변경할 수 있나요? A: 배포 전이라면 변경 가능합니다. 배포 후에는 데이터 구조 영향이 있으므로 주의가 필요합니다.

다음 단계