JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[규칙 5] 가짜 중복과 진짜 중복을 구별해라

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
DB 설계
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 DB 설계 입문/실전
slug
rule-5-identify-fake-vs-real-duplication
type
post
updatedAt
Dec 6, 2025 05:57 AM

✅ 가짜 중복과 진짜 중복을 구별해라.

가짜 중복과 진짜 중복이 어떤 의미인지 설명하기 위해 예시를 바로 보자.
posts (게시글)
id
제목
내용
작성자
1
[속보] 개발자 채용 확대
내용
박재성
2
[속보] 개발자 채용 확대
내용
박재성
3
[속보] 개발자 채용 확대
내용
박재성
박재성이라는 사용자가 같은 제목과 같은 내용의 게시글을 3개 작성했다고 가정하자. 겉으로만 봤을 땐 제목 컬럼에서도 데이터 중복이 발생한 것처럼 보이고, 내용 컬럼에서도 데이터 중복이 발생한 것처럼 보이고, 작성자 컬럼에서도 데이터 중복이 발생한 것처럼 보인다. 하지만 여기서 진짜 데이터 중복이 발생한 컬럼은 작성자 컬럼뿐이다.
 
가짜 중복인지 진짜 중복인지 어떻게 판단할 수 있을까?
 
가짜 중복인지 진짜 중복인지 판단하려면 이렇게 질문해보면 된다.
“실제 서비스에서 A 데이터의 값을 수정하면, B 데이터의 값도 같이 수정되어야 하는가?”
 
말로만 들으니까 어렵게 느껴진다. 바로 한 번 적용시켜보자.
posts (게시글)
id
제목
내용
작성자
1
[속보] 개발자 채용 확대
내용
박재성
2
[속보] 개발자 채용 확대
내용
박재성
3
[속보] 개발자 채용 확대
내용
박재성
  1. 1번 게시글의 작성자 이름을 수정하면, 2번 게시글의 작성자 이름도 같이 수정되어야 하는가?
    1. → Yes! (= 진짜 중복이다)
 
  1. 1번 게시글의 제목을 수정하면, 2번 게시글의 제목도 같이 수정되어야 하는가?
    1. → No! (= 가짜 중복이다)
       
  1. 1번 게시글의 내용을 수정하면, 2번 게시글의 내용도 같이 수정되어야 하는가?
    1. → No! (= 가짜 중복이다)
 
진짜 중복을 찾아냈다면 진짜 중복의 컬럼에 대해서만 테이블을 분리해야 한다.
posts (게시글)
id
제목
내용
작성자 id (FK)
1
[속보] 개발자 채용 확대
내용
1
2
[속보] 개발자 채용 확대
내용
1
3
[속보] 개발자 채용 확대
내용
1
 
users (사용자)
id
이름
1
박재성
 

 
예시를 하나만 보면 헷갈릴 수 있으니 한 가지 예시를 더 보자.
products (상품)
id
상품명
카테고리
1
락스
생활용품
2
락스
생활용품
3
락스
생활용품
 
  1. 1번 상품의 카테고리명을 수정하면, 2번 상품의 카테고리명도 수정되어야 하는가?
    1. → Yes! (= 진짜 중복이다)
 
  1. 1번 상품의 상품명을 수정하면, 2번 상품의 상품명도 수정되어야 하는가?
    1. → No! (= 가짜 중복이다)
 
[진짜 중복에 대해서만 테이블 분리]
products (상품)
id
상품명
카테고리 id (FK)
1
락스
1
2
락스
1
3
락스
1
 
categories (카테고리)
id
이름
1
생활용품
 
 
 

✅ 정리

  • 가짜 중복이 발생한 컬럼은 테이블 분리를 하면 안 된다. 진짜 중복이 발생한 컬럼에 대해서만 테이블 분리를 해야 한다.
 
author
category
DB 설계
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 DB 설계 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 05:57 AM
📎
이 글은 비전공자도 이해할 수 있는 DB 설계 입문/실전 강의의 수업 자료 중 일부입니다.