속성 설계 기준

겉으로는 한 값이어도, 검색과 정렬이 필요하면 내부 구조를 따로 저장합니다.

복합 속성은 하나의 의미를 가지지만 하위 속성으로 분해할 수 있습니다. 그래서 표시용 문자열과 저장 구조를 같은 값 안에서 다르게 볼 수 있습니다.

분해 저장이 유리한 순간

조건 검색이 있을 때 예: 강남구 거주 회원만 조회
정렬 기준이 따로 있을 때 예: 성 기준 정렬, 국가별 이름 형식 대응
속성 종류
한 값으로 보면
분해해서 저장하면
단순 속성 나이

더 나눠도 의미 있는 하위 단위가 늘지 않습니다.

저장 값
29

보통 컬럼 하나로 그대로 저장합니다.

분해 결과
의미 있는 하위 속성 없음
복합 속성 주소

하나의 주소이지만 시, 구, 동, 상세주소로 나눌 수 있습니다.

표시용 문자열
"서울시 강남구 삼성동 123번지"
시
서울시
구
강남구
동
삼성동
상세주소
123번지
WHERE gu = '강남구' 같은 검색이 쉬워집니다.
복합 속성 이름

국제 서비스에서는 성과 이름을 따로 다루는 경우가 많습니다.

표시용 문자열
"Kim Cheolsu"
성
Kim
이름
Cheolsu
표시 형식은 합칠 수 있어도, 저장은 분리해 두면 정렬과 국가별 규칙 대응이 쉬워집니다.