정규화란?
- 데이터베이스 정규화란 데이터베이스의 설계를 재구성하는 테크닉입니다. 정규화를 통해 불필요한 데이터(redundancy)를 없앨 수 있고, 삽입/갱신/삭제 시 발생할 수 있는 각종 이상현상(Anamolies)들을 방지할 수 있습니다.
정규화가 왜 필요한가?
- 정규화의 법칙을 따르지 않고 삽입/갱신/삭제가 이루어 진다면 데이터 불일치, NULL값 등 테이블의 구성이 논리적이지 못하게 됩니다.
정규화의 법칙
정규화 법칙 | 설명 |
1차 정규화
|
각 로우마다 컬럼의 값이 1개씩만 있어야 합니다. 이를 컬럼이 원자값(Atomic Value)를 갖는다고 합니다. |
2차 정규화
|
2차 정규형은 테이블의 모든 컬럼이 완전 함수적 종속을 만족하는 것입니다. 완전 함수적 종속이란 기본키중에 특정 컬럼에만 종속된 컬럼(부분적 종속)이 없어야 한다는 것 |
3차 정규화
|
3차 정규화 과정은 기본키가 하나이므로 2차 정규형은 만족하는 것으로 볼 수 있습니다. 기본키를 제외한 속성들 간의 이행적 함수 종속이 없는 것 입니다. |
BCNF |
3차정규형을 만족하면서 모든 결정자가 후보키 집합에 속한 정규형입니다.
|
'DB' 카테고리의 다른 글
[DB] 분산 데이터베이스란? (0) | 2020.03.11 |
---|---|
[DB] 관계대수와 관계해석 (0) | 2020.02.27 |
[DB] 트랜잭션 정의 및 성질 (0) | 2020.01.29 |
[DB] 데이터베이스 용어 정리 (5) | 2020.01.22 |
[DB] View 와 Index (4) | 2020.01.21 |