Practical 1NF

JSON과 콤마 문자열은 쓰임에 따라 판단이 달라진다

내부 값을 관계형 데이터처럼 검색·조인·집계한다면 문자열 한 칸에 숨기지 말고 구조로 드러낸다.

주의
분리 필요
허용 가능
콤마 문자열

`tag1,tag2,tag3`를 LIKE로 찾기 시작하면 1NF 위반 신호다.

JSON 컬럼

내부 필드로 조건 검색과 집계를 자주 하면 별도 테이블이나 컬럼을 검토한다.

불투명 값

설정 스냅샷처럼 통째로 저장·조회만 한다면 설계상 허용될 수 있다.

bad: product.tags = 'db,sql,index'
good: product_tag(product_id, tag)