-
데이터베이스 정규화전산학/데이터베이스 2024. 8. 1. 20:07728x90반응형
데이터베이스 정규형(Normal Forms)은 데이터베이스 설계에서 데이터 중복을 최소화하고 일관성을 유지하기 위해 사용되는 규칙의 집합입니다. 각 정규형은 특정한 조건을 만족하도록 요구하며, 이러한 조건을 만족시키면 데이터베이스의 구조가 개선되고 효율적인 데이터 저장 및 검색이 가능합니다. 주요 정규형에는 제1정규형(1NF), 제2정규형(2NF), 제3정규형(3NF), 보이스-코드 정규형(BCNF), 제4정규형(4NF), 제5정규형(5NF)이 있습니다.
### 제1정규형 (1NF: First Normal Form)
- **조건**: 모든 필드는 원자값(atomic value)을 가져야 합니다. 즉, 각 필드는 하나의 값만을 가져야 합니다.
- **설명**: 테이블의 모든 컬럼이 단일 값을 가지도록 설계되어야 합니다. 예를 들어, 하나의 컬럼에 여러 값을 포함시키지 않아야 합니다.
### 제2정규형 (2NF: Second Normal Form)
- **조건**: 1NF를 만족하면서 기본키가 아닌 모든 속성이 기본키의 전체에 완전 종속적이어야 합니다.
- **설명**: 부분 종속성을 제거해야 합니다. 기본키의 일부분에만 종속되는 컬럼을 분리하여 별도의 테이블로 나누어야 합니다.
### 제3정규형 (3NF: Third Normal Form)
- **조건**: 2NF를 만족하면서 기본키가 아닌 모든 속성이 기본키에 이행적 종속(transitive dependency) 관계가 없어야 합니다.
- **설명**: 기본키가 아닌 컬럼이 다른 기본키가 아닌 컬럼에 종속되는 경우를 제거해야 합니다. 이를 통해 중복 데이터를 최소화합니다.
### 보이스-코드 정규형 (BCNF: Boyce-Codd Normal Form)
- **조건**: 모든 결정자가 후보 키(candidate key)여야 합니다.
- **설명**: 3NF를 강화한 형태로, 결정자가 후보 키가 아닌 경우를 제거해야 합니다. BCNF는 더 엄격한 정규형으로 간주됩니다.
### 제4정규형 (4NF: Fourth Normal Form)
- **조건**: BCNF를 만족하면서 다치 종속(multi-valued dependency)을 제거해야 합니다.
- **설명**: 한 테이블에 여러 다치 종속이 존재하지 않도록 해야 합니다. 이를 통해 데이터의 중복과 불일치를 방지합니다.
### 제5정규형 (5NF: Fifth Normal Form)
- **조건**: 4NF를 만족하면서 조인 종속(join dependency)이 제거된 상태여야 합니다.
- **설명**: 데이터베이스에서 조인을 통해 새롭게 생성된 관계가 다시 원래의 관계로 분해될 수 있도록 설계해야 합니다.
### 요약
1. **1NF**: 모든 필드는 원자값을 가져야 한다.
2. **2NF**: 부분 종속성을 제거한다.
3. **3NF**: 이행적 종속성을 제거한다.
4. **BCNF**: 결정자가 후보 키가 아닌 경우를 제거한다.
5. **4NF**: 다치 종속을 제거한다.
6. **5NF**: 조인 종속을 제거한다.
각 정규형은 데이터베이스의 무결성을 유지하고 중복을 최소화하는 데 중요한 역할을 합니다. 적절한 정규화를 통해 데이터베이스의 성능과 유지보수성을 크게 향상시킬 수 있습니다.728x90반응형'전산학 > 데이터베이스' 카테고리의 다른 글