정규화의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는 것이다.
동일한 정보가 여러 번 저장되지 않도록 중복을 최소화 해서 저장공간을 절약합니다. 또한 특정 테이블에서 데이터를 수정할 때 다른 테이블의 데이터에는 영향을 미치지 않도록 합니다.
제 1 정규화
- 테이블의 컬럼이 원자값(하나의 값)을 갖도록 테이블을 분해하는 것
- 각 행은 유일한 PK(Primary Key)를 가져야 합니다.
제 2 정규화
제1 정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것이다. 여기서 완전 함수 종속이라는 것은 기본키의 부분집합이 결정자가 되어선 안된다는 것을 의미한다.
제 3 정규화
제2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것이다. 여기서 이행적 종속이라는 것은 A -> B, B -> C가 성립할 때 A -> C가 성립되는 것을 의미한다.
https://mangkyu.tistory.com/110
[Database] 정규화(Normalization) 쉽게 이해하기
지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz
mangkyu.tistory.com
https://code-lab1.tistory.com/48#comment15316109
[DB] 정규화(Normalization)란? 정규화 예시, 1NF, 2NF, 3NF, BCNF
정규화(Normalization)란? 정규화는 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정이다. 이상현상이 존재하는 릴레이션을 분해하여 여러 개의 릴레이션을 생성하게 된다. 이를 단계
code-lab1.tistory.com
'DB & SQL' 카테고리의 다른 글
스키마(Schema) (0) | 2024.01.18 |
---|