데이터베이스를 설계할 때 가장 먼저 접하는 개념이 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
'IT개발 > Tech Notes' 카테고리의 다른 글
🖥️ 개발자 취업을 위한 CS 기초 공부 로드맵 총정리 (0) | 2025.04.18 |
---|---|
📌 트랜잭션의 4가지 특성, ACID란 무엇인가? (0) | 2025.04.18 |
DFD vs UML 비교 정리 ⚔️ 개념 혼동 끝내기! (0) | 2025.04.16 |
OSI 7계층 완벽 정리! 네트워크 개념 한 방에 끝내기 (0) | 2025.04.15 |
DNS와 IP의 차이, 초보자도 이해할 수 있게 쉽게 정리해봤습니다 (0) | 2025.04.15 |
댓글