개념: 정규화
주제
이 개념은 결과물: 데이터 모델의 개발에
적용되어 데이터 정규화의 주제에 대한 간략한 설명을 제공합니다.
주제가 다소 광범위하고 데이터베이스 설계에 관한 많은 텍스트에
문서화되어 있으므로 이 개념이 정규화 전체에 대해 다루고 있지는
않습니다. [NBG01]에서
정규화는 "올바른 관계형 데이터베이스 설계를 생성하는 데 사용되는
분석 기술"로 정의됩니다.
실제로 정규화는 제한적인 규칙을 적용하여
데이터 모델에서 중복성을 제거하기 위한 프로시저입니다.
데이터 모델의 테이블에서 데이터 중복성을 제거하는 것은
데이터베이스에서 데이터의 참조 무결성을
시행하는 데 도움을 줍니다.
보통 정규화는 초기 테이블 버전 및 이들의 관계가 모델에 개발된 후
데이터 모델에 대해 수행됩니다. 정규화를 적용하는 정확한 시기는
특정 프로젝트 상태에 따라 다르고
데이터베이스 설계자에게
달려 있습니다. 정규화 프로세스는 각 단계에서 마지막보다
더 엄밀한 규칙을 적용하는 연속된 단계의 데이터 모델에 있는 테이블에 적용됩니다.
정규화
레벨
정규화는 가장 일반적인 첫 번째, 두 번째 및 세 번째 일반 양식을
사용하여 계층에 따라 숫자 양식으로 분류됩니다. 각 정규화 레벨은 이전보다
더 제한적입니다. 처음 세 개의 정규화 계층 레벨은
다음과 같습니다.
- 첫 번째 일반 양식 - 테이블에 있는 데이터 열의 반복 그룹이 제거되어
데이터가 원자 단위로 구성됩니다.
- 두 번째 일반 양식 - 데이터는 첫 번째 일반 양식이며
1차 중요한 필드의 중복성을 제거하여 열 값이 전체적으로 1차 중요한 필드에 의존합니다.
- 세 번째 일반 양식 - 데이터는 두 번쩨 일반 양식이며 각 열은
키가 아닌 기타 열에 의존하지 않습니다.
기타 정규화 레벨도 가능하지만 여기서는 다루지 않습니다. 추가 정규화
레벨에 대한 정보는 [DAT99]에
있습니다. 데이터 모델에 적용하는 정확한 정규화 레벨은
데이터베이스 설계자가 특정 프로젝트 상황에 기반하여 결정해야 합니다.
|