`tag1,tag2,tag3`를 LIKE로 찾기 시작하면 1NF 위반 신호다.
내부 필드로 조건 검색과 집계를 자주 하면 별도 테이블이나 컬럼을 검토한다.
설정 스냅샷처럼 통째로 저장·조회만 한다면 설계상 허용될 수 있다.
bad: product.tags = 'db,sql,index' good: product_tag(product_id, tag)
내부 값을 관계형 데이터처럼 검색·조인·집계한다면 문자열 한 칸에 숨기지 말고 구조로 드러낸다.
`tag1,tag2,tag3`를 LIKE로 찾기 시작하면 1NF 위반 신호다.
내부 필드로 조건 검색과 집계를 자주 하면 별도 테이블이나 컬럼을 검토한다.
설정 스냅샷처럼 통째로 저장·조회만 한다면 설계상 허용될 수 있다.
bad: product.tags = 'db,sql,index' good: product_tag(product_id, tag)