DB 테이블 설계 시 자주 부딪히는 두 가지 고민: 매핑 테이블 vs 별도 엔티티, 공통 코드 vs 개별 코드
·
Database
테이블 설계에서 자주 고민하는 두 가지 포인트매핑 테이블을 얼마나 써야 하는가?코드 관리를 공통 코드로 묶을 것인가, 개별 테이블로 나눌 것인가?실제 프로젝트를 하다 보면 거의 빠짐없이 부딪히는 주제입니다. 저도 여러 차례 설계하면서 이 문제로 고민했고, 각 방식마다 장단점이 분명히 있음을 깨달았습니다. 이번 글에서는 그 고민을 정리해보려 합니다.1. 매핑 테이블 남발의 문제점매핑 테이블은 보통 N:M 관계를 풀어내기 위해 사용합니다. 예를 들어:사용자(User) ↔ 역할(Role)게시글(Post) ↔ 태그(Tag)이런 경우에는 매핑 테이블이 적합합니다. 하지만 모든 관계를 무조건 매핑 테이블로 풀어내다 보면 문제가 발생합니다.(1) 장점유연성 확보: 새로운 관계가 생겨도 테이블 추가 없이 매핑 테이블에..