정규화(Normalization)이란?
- 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는 다는 것
- 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다.
제 1정규화
- 제 1정규화란 테이블의 컬럼이 원자값(Atomic Value,하나의 값)을 갖도록 테이블을 분해하는 것
제 2정규화
- 제 2정규화란 제 1정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것
- 완전 함수 종속이라는 것은 기본키의 부분집합이 결정자가 되어선 안된다는 것
제 3정규화
- 제 3정규화란 제 2정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것
- 이행적 종속이라는 것은 A ->B, B ->C 가 성립될 때 A -> C가 성립되는 것을 의미
BCNF 정규화
- 제 3정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것
'CS > 데이터베이스' 카테고리의 다른 글
Database와 RDBMS, NOSQL (0) | 2025.03.28 |
---|---|
JOIN이란? (0) | 2025.03.28 |
트랜잭션 격리 수준(Transaction Isolation Levels) (0) | 2025.03.21 |
트랜잭션(Transaction) 이란? (0) | 2025.03.21 |
데이터베이스 인덱스(Index) (0) | 2025.03.21 |