본문 바로가기
IT개발/Tech Notes

ERD와 정규화(Normalization), 왜 항상 같이 언급될까?

by 시간기억자 2025. 4. 18.
반응형

데이터베이스를 설계할 때 가장 먼저 접하는 개념이 ERD(Entity Relationship Diagram)이다.
하지만 ERD만 잘 그린다고 해서 효율적인 데이터베이스가 완성되는 것은 아니다.
여기서 함께 고려해야 할 개념이 바로 정규화(Normalization)이다.


✅ ERD란?

ERD는 데이터베이스 안에서 어떤 **엔티티(Entity)**가 존재하는지,
각 엔터티가 어떤 **속성(Attribute)**을 가지는지,
그리고 엔터티 간에는 어떤 **관계(Relationship)**가 있는지를 도식화한 다이어그램이다.

쉽게 말해, 데이터 구조를 시각적으로 표현하는 설계도라고 할 수 있다.

 

📌 예시

  • 학생(Student), 수강(Course), 교수(Professor)
  • 학생은 여러 과목을 수강하고, 교수는 여러 과목을 담당한다
    → 이러한 관계를 ERD를 통해 시각적으로 표현할 수 있다.

✅ 정규화란?

정규화는 테이블 내 데이터를 보다 효율적으로 구조화하기 위해
중복을 제거하고 이상 현상(Anomaly)을 방지하는 과정이다.

데이터를 삽입하거나 수정, 삭제할 때
예기치 못한 오류가 발생하지 않도록 테이블 구조를 체계적으로 정리한다.

정규화의 단계 요약

  • 제1정규형 (1NF): 컬럼은 더 이상 나눌 수 없는 원자값을 가져야 한다.
  • 제2정규형 (2NF): 기본키의 일부가 아닌 전체에 종속되도록 구조를 정리한다.
  • 제3정규형 (3NF): 기본키가 아닌 속성이 서로 종속되지 않도록 분리한다.

📌 예시
학생 테이블에 학생 정보뿐 아니라 수강 과목, 담당 교수, 주소 정보까지 전부 담을 경우,
주소가 바뀔 때마다 모든 학생 레코드를 수정해야 하는 문제가 발생할 수 있다.
이때 주소 정보를 별도의 테이블로 분리하면 중복을 줄일 수 있다.


🔄 ERD와 정규화의 관계

ERD는 데이터 구조를 시각적으로 설계하는 도구이고,
정규화는 설계된 구조를 논리적으로 정리하는 절차이다.

일반적으로 ERD를 먼저 작성하고,
그 구조를 바탕으로 정규화를 진행해 데이터 품질을 개선하는 방향으로 설계를 다듬는다.

이 두 개념은 서로 대체되는 개념이 아니라,
함께 사용해야 데이터베이스를 안정적이고 효율적으로 설계할 수 있다.


📎 요약 정리

구분 ERD 정규화
정의 데이터 구조를 시각화하는 다이어그램 데이터 구조를 최적화하는 기법
목적 엔터티 간 관계 파악 중복 제거, 이상현상 방지
사용 시점 데이터베이스 설계 초기 단계 ERD 설계 이후 구조 정리 단계
특징 시각적 표현, 도식화 중심 규칙에 따른 분해 및 재구성

📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇

http://www.youtube.com/@itbite_daily

 

오늘의 IT한입

👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일

www.youtube.com

 

 

반응형

댓글