🎮45

스키마를 시각으로 설계하기

관계·속성·제약 설계

학습 목표
  • 설계한 클래스·관계를 시각 스키마로 옮긴다
  • 교차 검토로 관계 방향과 누락을 잡는다
  • Cypher 로 내보내 다음 모듈에서 실행할 준비를 한다
Interactive Simulator
스키마를 시각으로 설계하기
클릭하여 시뮬레이터를 실행하세요

스키마를 시각으로 설계하기

지금까지 글로 정한 것을 캔버스에 올립니다. 그림으로 옮기면 글에서 안 보이던 것이 보입니다 — 어느 노드에도 닿지 않는 고립 클래스, 방향이 뒤집힌 관계, 이름이 겹치는 관계가 그렇습니다.

실습 순서

1. 허브부터 놓습니다

PortCall을 캔버스 가운데 두고 시작하세요. 앞 모듈에서 "그랜드 센트럴 역"이라 부른 이유가 배치에서 드러납니다 — 선박·선석·신고·하역·도선이 전부 여기로 모입니다.

2. 8기둥을 색으로 구분합니다

라벨 팔레트를 기둥별로 나눕니다(Party / MovableObject / Place / Equipment / Event / Document / Rule / Metric). 색이 나뉘면 한 기둥이 유난히 비거나 부푼 것이 눈에 띕니다.

3. 관계를 잇고 문장으로 읽습니다

화살표를 놓을 때마다 소리 내어 읽어 보세요. "선박이 기항을 만든다", "기항이 선석에 배정된다" — 문장으로 읽히지 않으면 관계 이름이 잘못된 것입니다. 원칙 3(시제 금지)도 여기서 걸립니다.

4. 유효기간 관계를 표시합니다

OPERATES, ASSIGNED_TO, ALLOCATED_TO에 {from, to}를 답니다. 패턴 B가 적용된 관계가 몇 개인지 세어 보세요.

5. Cypher 로 내보냅니다

CREATE/MERGE 문으로 내보내 저장합니다. 다음 모듈에서 이 스크립트를 실제로 실행해 스키마를 세웁니다.

확인할 것

  • 어느 CQ도 근거로 대지 못하는 클래스·관계가 있는가 (있으면 삭제 후보)
  • 고립된 노드가 있는가 (있으면 관계 누락)
  • 같은 의미인데 이름이 다른 관계가 있는가 (병합 대상)

산출물: 시각 스키마 + JSON + Cypher 내보내기. 스펙 문서의 3·4절(클래스 사전·관계 사전)과 짝을 이룹니다.

💡 이 도구는 도메인 무관 재사용을 염두에 두고 만들어졌습니다. 항만이 아닌 다른 프로젝트에서도 라벨 팔레트와 관계 타입만 바꿔 그대로 쓸 수 있습니다.

용어