관계선
ERD에서 테이블 간 관계를 설정하고 관리하는 방법을 안내합니다.
관계선 생성
두 테이블 사이의 관계를 나타내는 관계선을 생성합니다.
1
관계선 모드 활성화
도구 모음에서 관계선 아이콘을 클릭하여 관계선 그리기 모드를 활성화합니다.
2
소스 테이블 선택
FK를 가질 테이블(자식 테이블)의 컬럼을 클릭합니다.
3
타겟 테이블 연결
참조할 테이블(부모 테이블)의 PK 컬럼을 클릭하면 관계선이 생성됩니다.

식별 관계 vs 비식별 관계
도구 모음에서 두 가지 관계선 모드를 제공합니다. 관계의 성격에 따라 적절한 모드를 선택하여 사용합니다.
| 구분 | 식별 관계 (Identifying) | 비식별 관계 (Non-Identifying) |
|---|---|---|
| 도구 모음 아이콘 | ||
| FK 컬럼 위치 | 자식 테이블의 PK에 포함 | 자식 테이블의 일반 컬럼 |
| 자식 레코드 존재 | 부모 없이 존재 불가 | 부모 없이도 존재 가능 |
| ERD 표기 | 실선 (FK가 PK에 포함되므로 항상 NOT NULL) | FK가 NOT NULL이면 실선, NULL 허용이면 점선 |
| 사용 예시 | 주문 ↔ 주문상세, 게시글 ↔ 첨부파일 | 사용자 ↔ 주문, 부서 ↔ 직원 |
식별 관계 (Identifying Relationship)
부모 테이블의 PK가 자식 테이블의 PK 일부로 포함됩니다. 자식 레코드는 부모 레코드에 종속되어 부모 없이는 존재할 수 없습니다.
예: 주문상세 테이블의 PK가 (주문번호, 상세번호)이고, 주문번호가 주문 테이블의 PK를 참조하는 FK인 경우
비식별 관계 (Non-Identifying Relationship)
부모 테이블의 PK가 자식 테이블의 일반 컬럼으로 추가됩니다. 자식 레코드는 부모와 독립적으로 존재할 수 있습니다.
예: 직원 테이블의 부서코드 컬럼이 부서 테이블의 PK를 참조하는 FK이지만, 직원 테이블의 PK는 직원번호인 경우

관계 유형 (Cardinality)
NeoSQL에서 지원하는 관계 유형입니다. 관계선 생성 시 FK 컬럼의 속성에 따라 자동으로 판별됩니다.
| 유형 | 표기 | 설명 | 판별 기준 |
|---|---|---|---|
| 1:N | 일대다 (필수) | 부모의 한 레코드가 자식의 여러 레코드에 대응 (FK NOT NULL) | FK 컬럼이 NOT NULL |
| 1:0orN | 일대다 (선택) | 부모의 한 레코드가 자식의 0개 이상의 레코드에 대응 (FK NULL 허용) | FK 컬럼이 NULL 허용 |
| N:N | 다대다 | 양쪽 테이블이 서로 여러 레코드에 대응 (중간 테이블 필요) | FK 컬럼이 복합 PK의 일부이고, 모든 PK가 FK인 경우 |
자동 판별 규칙
관계선 생성 시 FK 컬럼의 nullable 여부와 PK 포함 여부에 따라 관계 유형이 자동으로 결정됩니다.
- FK 컬럼이 NOT NULL이면 → 1:N (필수 관계, 실선)
- FK 컬럼이 NULL 허용이면 → 1:0orN (선택 관계, 점선)
- 모든 PK 컬럼이 FK이면 → N:N (중간 테이블, 다대다)

