#데이터베이스 정규화 (DB Normalization)란?
관계형 데이터베이스에서 데이터를 구조화하고 조직화하는 프로세스입니다. 이를 통해 데이터 중복을 최소화하고 데이터의 일관성, 무결성, 유지보수성을 향상시킬 수 있습니다. 정규화는 데이터베이스 설계 과정에서 중요한 역할을 합니다.
데이터베이스 정규화는 함수적 종속성을 기반으로 이루어집니다. 함수적 종속성은 한 속성의 값이 다른 속성의 값을 유일하게 결정할 수 있는 관계를 의미합니다. 이러한 함수적 종속성을 기준으로 데이터를 적절한 테이블로 분할하여 중복을 제거하고 관계를 명확히 정의하는 것이 목표입니다.
데이터베이스 정규화는 일반적으로 제 1 정규형(1NF), 제 2 정규형(2NF), 제 3 정규형(3NF), 보이스-코드 정규형(BCNF) 등의 정규형을 순차적으로 만족시키는 과정을 거칩니다. 각 정규형은 특정 종속성 패턴을 만족시키는 규칙을 가지고 있으며, 한 정규형을 만족시키면 그 다음 정규형을 만족시키는 작업을 수행합니다.
정규화는 지나치게 세분화되면 성능 저하의 원인이 될 수 있으므로, 실제로는 성능과 정규화의 균형을 유지하는 것이 중요합니다. 따라서 데이터베이스 설계 시, 정규화 원칙을 적용하면서도 성능 요구사항과 비즈니스 규칙을 고려해야 합니다.
#데이터베이스 정규화 단계
제 1정규형(1NF):
- 각 테이블의 모든 도메인이 원자 값(Atomic Value)을 가지도록 분해합니다.
- 테이블의 각 열은 반복되는 그룹이 없어야 합니다.
- 각 행은 고유한 식별자를 가져야 합니다.
제 2 정규형(2NF):
- 제 1 정규형을 만족해야 합니다.
- 부분 함수적 종속성을 제거해야 합니다.
- 테이블에서 기본 키에 대해 완전 함수적 종속성을 가져야 합니다.
제 3 정규형(3NF):
- 제 2 정규형을 만족해야 합니다.
- 이행적 함수적 종속성을 제거해야 합니다.
- 테이블에서 기본 키가 아닌 속성 간의 종속성을 제거해야 합니다.
보이스-코드 정규형(BCNF):
- 제 3 정규형을 만족해야 합니다.
- 결정자 종속성을 제거해야 합니다.
- 테이블에서 모든 결정자가 후보 키여야 합니다.
'정보처리기사' 카테고리의 다른 글
정처기 필기_접근 제어 개념 (0) | 2023.07.02 |
---|---|
정처기 필기_테이블 제약조건 (0) | 2023.07.01 |
정처기 필기_2022년 2회 기출문제 (0) | 2023.06.28 |
정처기 필기_데이터 모델링 및 설계 (0) | 2023.06.25 |
정처기 2010년 4회 기출문제 (0) | 2023.06.24 |