<aside> 💡
테이블 간의 데이터 중복을 허용하지 않는것이 목표, 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법으로 속성들끼리의 종속 관계를 분석하여 여러개의 관계로 데이터를 분해하는 것이다.
</aside>
테이블 내의 데이터들이 불필요하게 중복되어 있어 테이블을 조작할 때 발생되는 데이터 불일치 현상을 의미한다. 크게 삽입, 삭제, 수정 이상이 존재하며 이는 정규화를 통해 해결 가능하다.
<aside> 💡
비정규형
→ 1정규화 → 1정규형
→ 2정규화 → 2정규형
→ 3정규화 → 3정규형
→ BC → BCNF
→ 4정규화 → 4정규형
→ 5정규화 → 5정규형
</aside>
테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 방식
학생번호 | 이름 | 학년 | 좋아하는 과목 |
---|---|---|---|
1 | A | 1 | 국어 |
2 | B | 1 | 영어, 수학 |
3 | C | 1 | 수학 |
4 | D | 2 | 수학, 과학 |
5 | E | 2 | 사회 |