한 테이블에 몰아넣는 문제

조인이 없으면 같은 정보를 여러 행에 반복 저장하게 됩니다.

주문마다 회원 이메일과 상품명을 복사하면 조회는 단순해 보여도, 수정·삭제·일관성 관리가 어려워집니다.

중복 저장

orders_flat 하나에 모두 저장

useremailorderproduct
김철수kim@mail101노트북
김철수kim@mail102마우스
이영희lee@mail103키보드

김철수 이메일이 바뀌면 관련 주문 행을 모두 찾아 고쳐야 합니다.

분리 저장 + JOIN

기준 데이터와 거래 기록을 나눔

users

1김철수 / kim@mail
2이영희 / lee@mail

orders

101user_id=1
102user_id=1
103user_id=2

이메일은 users 한 곳에서만 바꾸고, 주문 조회 시 user_id로 연결합니다.

수정 이상 방지

기준 정보를 한 곳에서 고쳐 일관성을 지킵니다.

삭제 이상 방지

주문 삭제가 회원 정보 삭제로 이어지지 않습니다.

조회 유연성

필요할 때 JOIN으로 원하는 결과 모양을 만듭니다.