JoinVisualizer: Join 연산의 카티션 곱 시각화 프로그램
· 카테고리: projects
지난번에 쓴 글(JOIN 연산: 벤 다이어그램 모델은 그만)에서도 털어놨지만… 벤 다이어그램으로 JOIN 설명하는 거, 진짜 별로예요.
그래서 생각했죠. “차라리 내가 제대로 된 시각화 도구를 만들어버리자!”
최근에 고민 끝에 내린 결론은? JOIN 연산과 가장 비슷한 수학 개념은 tensor product. (설명은 더 어려워지니 시각화로 대체)
이 프로그램 핵심: Cartesian Product
모든 JOIN은 사실 Cartesian Product + 필터링.
- INNER JOIN: 전체 조합 → 조건 일치만
- LEFT JOIN: 전체 조합 → 왼쪽 기준 보존 + NULL 채우기
- RIGHT JOIN: 오른쪽 기준
- FULL OUTER: 양쪽 모두 보존
기술 스펙
- 1920×1080 레이아웃
- OS 의존 라이브러리 미사용
- Python만 설치되어 있으면 실행 가능
배울 수 있는 것
- JOIN = 곱 후 필터 개념 체화
- JOIN 타입별 차이 한눈에
- 추상 → 구체 전환 경험
개발 후기
FULL OUTER JOIN NULL 생성 과정을 시각화하며 개인적으로 제일 헷갈렸던 부분 정리.
참여
Issue 환영:
- 새로운 JOIN 모드
- UX 개선
- 버그 제보
여러분은 JOIN 연산 처음 배울 때 뭐가 제일 어려웠나요? 경험 공유 부탁드립니다!

이 글 및 사이트 내 명시된 창작 컨텐츠 (코드 스니펫 제외)은(는)
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 라이선스로 제공됩니다.
출처 표기: 이하나 · 수정 / 2차 저작물 작성 시 동일한 라이선스로 공유해야 합니다.
출처 표기: 이하나 · 수정 / 2차 저작물 작성 시 동일한 라이선스로 공유해야 합니다.
License / Attribution Info
- 라이선스 전문: 로컬 사본
- 원문: CreativeCommons.org
- SPDX ID:
CC-BY-SA-4.0