이 개념 문서는 중간 산출물: 데이터 모델 개발에 적용되는 대로 데이터 정규화 주제의 간단한 설명을 제공합니다. 정규화의 전체 처리를
제공하지는 않습니다. 주제가 꽤 광범위하고 데이터베이스 디자인에 대한 많은 텍스트에 문서화되어 있기 때문입니다. [NBG01]에서, 정규화는
"올바른 관계형 데이터베이스 디자인을 생성하는 데 사용되는 분석적 기법"으로 정의되어 있습니다. 사실상, 정규화는 제안된 규칙을 적용하여 데이터 모델에서 중복성을 없애기 위한 프로시저입니다. 데이터 모델 테이블에서
데이터 중복성을 제거하면 데이터베이스에서 데이터의 참조 무결성을 시행하는 데 도움이 됩니다.
정규화는 보통 테이블 및 해당 관계의 첫 번째 버전이 모델로 개발된 이후에 데이터 모델에서 수행됩니다. 정규화를 적용하는 정확한 시기는 특정 프로젝트 상황에 따라 다르며 데이터베이스 디자이너가 결정합니다. 정규화 프로세스는 각 단계에서 이전 단계보다 더 강한 규칙이 적용되는 일련의 단계로
데이터 모델 테이블에 적용됩니다.
정규화 레벨
정규화는 숫자 양식을 사용하여 계층 구조로 분류됩니다(가장 공통적인 것을 첫 번째, 두 번째, 세 번째 표준 양식으로 함). 정규화의 각 레벨은 이전 레벨보다 더 제한적입니다. 정규화에서 처음 세 개의 계층 레벨은
다음과 같습니다.
-
첫 번째 표준 양식 - 테이블에서 데이터 열 그룹의 반복이 생략되어 데이터가 원자 단위(atomic unit)로 구성됩니다.
-
두 번째 표준 양식 - 데이터는 첫 번째 표준 양식에 있고 1차 키 필드의 중복성이 생략되어 열 값이 전체적으로 1차 키 필드에 종속되어 있습니다.
-
세 번째 표준 양식 - 데이터는 두 번째 표준 양식에 있고 각 열은 키가 아닌 다른 열에 종속되지 않습니다.
정규화의 기타 레벨도 가능하지만 이 설명에서는 다루지 않도록 하겠습니다. 정규화의 추가 레벨에 대하 정보는 [DAT99]에 있습니다.
데이터 모델에 적용할 정확한 정규화 레벨은 데이터베이스 디자이너가 프로젝트 특정 상황에 따라 결정해야 합니다.
|