본문 바로가기

백엔드 면접준비/DB

1. 데이터 모델링

1. 데이터 정규화란 무엇이며, 왜 필요한가?

데이터베이스의 중복을 최소화하고 데이터 무결성을 보장하기 위해 데이터를 구조화하는 과정

 

정규화 전(비정규형 데이터)

학번 학생명 과목 담당 교수
1001 김철수 수학, 영어 이교수, 박교수
1002 박영희 과학 김교수
1003 이민호 수학, 국어, 역사 이교수, 최교수, 정교수

 

1) 1NF : 모든 컬럼이 하나의 원자값을 가지도록 정리

학번 학생명 과목 담당 교수
1001 김철수 수학 이교수
1001 김철수 영어 박교수
1002 박영희 과학 김교수
1003 이민호 수학 이교수
1003 이민호 국어 최교수
1003 이민호 역사 정교수

 

2) 2NF : 부분 함수 종속 제거

  • 기본키의 일부에만 종속된컬럼을 분리
  • 3NF : 이행적 종속 제거
    • 기본키 이외의 컬럼이 다른 컬럼을 결정하지 않도록
  • BCNF : 모든 결정자가 후보키여야 함
  • 4NF : 다치종속 제거
  • 5NF : 조인종속 제거

 

 

2. 데이터 정규화의 장점/단점

장점 데이터 중복 최소화
데이터 무결성 유지
삽입/삭제/갱신 이상 방지
트랜잭션 처리 성능 향상
단점 JOIN 연산 증가
실시간 분석에는 비효율적(비정규화 필요)
DB설계 시간이 오래 걸릴 수 있음

 

 

'백엔드 면접준비 > DB' 카테고리의 다른 글

DB 기본  (0) 2025.03.16