반응형
**정규화(Normalization)**란 데이터베이스에서 중복을 제거하고 논리적으로 데이터를 정리하는 과정이다.
정규화는 관계형 데이터베이스 설계의 기본이며, 실무와 정보처리기사 시험 모두에서 필수 개념이다.
✅ 정규화가 필요한 이유
- 데이터 중복을 방지
- 데이터 무결성을 유지
- 테이블 구조를 단순화
- 변경 이상(삽입, 삭제, 갱신 이상) 방지
✅ 제1정규형 (1NF)
- 정의: 모든 속성의 값이 **원자값(Atomic value)**이어야 한다.
- 예시:
잘못된 형태: 취미 = 독서, 여행
올바른 형태: 취미 = 독서, 취미 = 여행 - 핵심: 하나의 컬럼에 하나의 값만 존재해야 한다.
✅ 제2정규형 (2NF)
- 정의: 부분 함수 종속 제거
- 조건: 1NF를 만족하면서, 기본키가 복합키인 경우, 기본키의 일부에만 종속된 속성은 분리해야 한다.
- 예시:
테이블: (학생ID, 과목) → 교수
교수는 과목에만 종속되므로, 별도 테이블로 분리해야 한다. - 핵심: 기본키 전체에 종속되지 않은 속성 제거
✅ 제3정규형 (3NF)
- 정의: 이행 함수 종속 제거
- 조건: 2NF를 만족하면서, 기본키가 아닌 다른 속성에 종속된 속성이 없어야 한다.
- 예시:
테이블: 학번 → 학과코드 → 학과이름
학과이름은 학과코드를 통해 결정되므로, 별도 테이블로 분리해야 한다. - 핵심: 기본키가 아닌 속성을 통해 또 다른 속성이 결정되면 안 된다.
✅ 정규형 요약표
정규형 | 조건 | 목적 |
1NF | 속성 값이 원자값 | 컬럼 값 정제 |
2NF | 부분 함수 종속 제거 | 기본키 종속성 명확히 분리 |
3NF | 이행 함수 종속 제거 | 중복 제거 및 논리적 분리 |
✅ 결론
정규화는 단순한 암기 대상이 아니라, 데이터베이스 설계의 원칙이다.
정규화를 이해하면, 데이터 중복을 줄이고 유지보수를 쉽게 할 수 있다.
정보처리기사 시험뿐 아니라 실무 DB 설계에서도 매우 중요하게 작용한다.
📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇
http://www.youtube.com/@itbite_daily
오늘의 IT한입
👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일
www.youtube.com
반응형
'IT개발 > Tech Notes' 카테고리의 다른 글
트랜잭션과 락(Lock), 개념부터 차이까지 한 번에 정리 (0) | 2025.05.02 |
---|---|
ACID란? 트랜잭션의 4가지 특성 완벽 이해 (0) | 2025.05.01 |
관계 대수와 관계 해석의 차이, SQL과 무슨 관련이 있을까? (0) | 2025.05.01 |
Paging vs Segmentation – 메모리 관리 기법 완전 비교 (0) | 2025.04.30 |
Deadlock(교착 상태) 완전 정리 - 발생 조건과 해결 방법까지 (0) | 2025.04.29 |
댓글