사례 1. 태그를 콤마로 저장
tags = "react,nextjs,ts"
여러 값을 한 칸에 넣지 말고, 값의 단위를 행으로 꺼내 관계로 표현한다
콤마 문자열과 JSON 배열은 실무에서 자주 보이지만, RDB 관점에서는 원자값이 아니어서 검색과 제약 관리가 어려워집니다.
사례 1. 태그를 콤마로 저장
tags = "react,nextjs,ts"
LIKE '%react%' 같은 검색에 의존하게 되어 비효율적이고, 값 경계가 모호해 오탐이 생길 수 있습니다.
posts(id, title, ...)
post_tags(post_id, tag_name)
사례 2. JSON 컬럼에 배열 저장
addresses = [
{"city":"서울"},
{"city":"부산"}
]
한 셀 안에 여러 주소가 들어가면 주소별 제약과 관계를 개별 행처럼 다루기 어렵습니다.
user_addresses(user_id, city)