[트러블슈팅] 테이블 데이터 일관성 유지하기(정규화)

조아영·2024년 10월 14일

🚨 문제

comments 테이블에 user_id뿐만 아니라 nickname과 profile_img도 함께 저장하려고 시도했다. 하지만 이는 정규화 위반이라는 피드백을 받았다.

🤔 해결방법

정규화란?
데이터베이스에서 중복 데이터를 최소화하고, 데이터 무결성을 유지하기 위한 중요한 원칙이다.

nickname과 profile_img는 이미 user 테이블에 저장되어 있기 때문에 이를 comments 테이블에 또 저장하면 데이터가 중복되어 비효율적인 구조가 된다.

nickname이나 profile_img가 변경될 경우, comments 테이블에 있는 중복된 데이터를 모두 업데이트해야 하는 비효율적인 상황이 발생할 수 있다. 이를 방지하기 위해 comments 테이블에는 유저의 식별자인 user_id만 저장하고, nickname과 profile_img 정보는 user 테이블에서 참조하는 방식으로 해결했다.

✅ 해결

comments 테이블과 user 테이블 간의 관계를 적절히 설정하고, 중복된 데이터를 제거함으로써 데이터베이스 구조를 개선할 수 있었다. 정규화를 통해 데이터 일관성과 효율성을 유지하는 것이 중요하다.

0개의 댓글