본문 바로가기
강의 실습/비전공자도 이해할 수 있는 DB 설계 입문 실전

[규칙 4] 데이터 중복이 발생하는 컬럼이 있는지 확인해라

by jint 2026. 2. 25.

1. 데이터 중복이 발생하는지 시뮬레이션을 돌려봐라.
DB 설계 핵심 원칙은 "중복 없애기" 이다. 초안으로 구성된 테이블에서 데이터 중복이 발생하는 구성인지 임의로 데이터를 넣고 확인해봐야 한다.

예시)
- posts (게시글)

id 제목 내용 작성자
       


예시를 통해 테이블에 임의의 데이터를 넣어보고 중복 데이터 발생을 확인한다. 이 과정이 익숙해지면 머릿속으로 임의의 데이터를 넣어보고 중복 데이터가 발생할 수 있는 구조인지 생각할 수 있게 된다.

- posts (게시글)

id 제목 내용 작성자
1 [속보] 개발자 채용 확대 내용1 송진성
2 취업 꿀팁 공유합니다! 내용2 송진성
3 어제 면접 보고 온 썰 내용3 송진성


작성자 컬럼에 중복 데이터가 발생했다. "송진성" 이름을 개명하면, 전부 찾아서 고쳐야 하는데 이 과정에서 실수가 발생할 수도 있다.
따라서 특정 컬럼에 데이터 중복 발생시, 테이블 분리로 해결한다.


2. 테이블 분리를 활용해 데이터 중복 제거
테이블을 분리하여 데이터 중복을 없애본다.

- posts (게시글)

id 제목 내용 작성자 id (FK)
1 [속보] 개발자 채용 확대 내용1 1
2 취업 꿀팁 공유합니다! 내용2 1
3 어제 면접 보고 온 썰 내용3 1


- users (사용자)

id 이름
1 송진성


* "FK의 중복"은 중복이라고 판단하지 않는다.

이 구조에서 "송진성" 이름을 개명하면, users 테이블의 1개의 데이터만 수정하면 된다. 그러면 게시글에 표시된 작성자 이름은 전부 실수 없이 바뀐다.


3. 이 경우도 데이터 중복이지 않나?
게시글 테이블의 다른 부분에서 중복 데이터를 확인하기 위해 억지로 중복이 발생하게끔 데이터를 넣는다.

- posts (게시글)

id 제목 내용 작성자 id (FK)
1 AWS 배포 과정 정리 내용1 1
2 AWS 배포 과정 정리 내용2 1
3 어제 면접 보고 온 썰 내용2 1


제목과 내용 컬럼에 데이터 중복이 발생한 것처럼 보인다. 이것도 데이터 중복인지 생각해본다.


참고링크 : https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-db-%EC%84%A4%EA%B3%84-%EC%9E%85%EB%AC%B8?cid=335049

 

비전공자도 이해할 수 있는 DB 설계 입문/실전| JSCODE 박재성 - 인프런 강의

현재 평점 4.9점 수강생 1,505명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 'DB 설계 입문/실전' 강의를 만들어봤습니다! 복잡한 개념을 몰라도

www.inflearn.com

댓글