정규화는 중복성을 최소화하거나 제거하여 디스크 공간 낭비를 방지합니다.
비교 차트
비교 근거 | 표준화 | 비정규 화 |
---|---|---|
기본 | 정규화는 비 중복 및 일관된 데이터를 저장하기 위해 집합 스키마를 만드는 프로세스입니다. | 비정규 화는 신속하게 쿼리 할 수 있도록 데이터를 결합하는 프로세스입니다. |
목적 | 데이터 중복 및 불일치를 줄입니다. | 중복성을 도입하여 쿼리 실행 속도를 높이십시오. |
에서 사용 | OLTP 시스템은 강조를 삽입, 삭제 및 업데이트 속도를 향상시키고 품질 데이터를 저장하는 데 중점을 둡니다. | OLAP 시스템은 검색 및 분석 속도를 높이는 데 중점을 둡니다. |
데이터 무결성 | 유지 된 | 유지할 수 없음 |
여분 | 제거 된 | 추가됨 |
테이블 수 | 증가 | 감소 |
디스크 공간 | 최적화 된 사용 | 소모 |
정규화의 정의
정규화 는 데이터베이스에서 데이터를 효율적으로 정렬하는 방법입니다. 여기에는 몇 가지 특정 규칙에 따라 테이블을 구성하고 해당 테이블 간의 관계를 설정하는 작업이 포함됩니다. 이러한 규칙을 사용하면 중복성과 일관성없는 종속성을 제거하여보다 유연하게 만들 수 있습니다.
중복 데이터는 디스크 공간을 낭비하고 데이터 불일치를 증가 시키며 DML 쿼리 속도를 저하시킵니다. 동일한 데이터가 둘 이상의 장소에 있고 해당 데이터에 대한 업데이트가 커밋 된 경우 변경 사항을 모든 위치에 반영해야합니다. 일치하지 않는 데이터는 경로를 잃어서 데이터를 검색하고 액세스를 어렵게 만들 수 있습니다.
중복성을 피하고, 예외를 업데이트하고, 불필요한 코딩을 수행하고, 변경을보다 쉽고 정확하게 수용 할 수있는 형태로 데이터를 유지하고 데이터 제약 조건을 적용하는 것과 같은 정규화를 수행하는 데는 여러 가지 이유가 있습니다.
정규화에는 속성 간의 함수 종속성 분석이 포함됩니다. 관계 (표)는 구조와 관계를 생성하기 위해 변형으로 분해 됩니다. 어떤 속성이 관계에 그룹화되어야하는지 결정하는 데 도움이됩니다.
정규화는 기본적으로 정규형 의 개념을 기반으로합니다. 관계 테이블은 특정 제약 조건 세트를 충족하는 경우 정규 형식이라고합니다. 정의 된 정상 형태는 1NF, 2NF, 3NF, BCNF, 4NF 및 5NF입니다. 정규화는 중복을 제거해야하지만 무결성을 희생시키지 않아야합니다.
비정규 화의 정의
비정규 화 는 정규화 된 스키마가 중복 정보가있는 스키마로 변환되는 정규화의 역 과정입니다. 중복성을 사용하고 중복 데이터를 일관되게 유지하면 성능이 향상됩니다. 비정규 화를 수행하는 이유는 오버 정규화 된 구조로 인해 쿼리 프로세서에서 생성되는 오버 헤드 입니다.
역 정규화는 상위 정규형 관계의 조인을 기본 관계로 저장하는 방법으로 정의 할 수도 있습니다.이 기본 관계는 더 낮은 일반 형식입니다. 더 많은 수의 조인으로 인해 프로세스 속도가 느려질 수 있으므로 테이블 수가 줄어들고 테이블 조인이 복잡해집니다. 파생 가능한 값 저장, 테이블 조인, 하드 코딩 된 값 및 마스터와 함께 세부 사항 유지 등의 다양한 비정규 화 기법이 있습니다.
여기서 비정규 화 방식은 모든 데이터를 한 곳에 모으기 때문에이 데이터를 수집하기 위해 여러 파일을 검색 할 필요가 없다는 개념에 중점을 둡니다. 비정규 화 (denormalization)에서 기본 전략을 따릅니다. 가장 지배적 인 프로세스가 궁극적으로 성능을 향상시킬 수정을 검사하도록 선택됩니다. 그리고 가장 기본적인 변경은 기존 테이블에 여러 속성을 추가하여 조인 수를 줄이는 것입니다.
정규화와 비정규 화의 주요 차이점
- 정규화는 데이터 중복 및 불일치를 줄이고 데이터 무결성을 달성하기 위해 데이터를 여러 테이블로 분할하는 기술입니다. 한편, 비정규 화는 데이터 검색을 더 빠르게하기 위해 데이터를 단일 테이블로 결합하는 기술입니다.
- 정규화는 OLTP 시스템에서 사용됩니다. OLTP 시스템은 삽입, 삭제 및 업데이트 이상을보다 빠르게 만드는 데 중점을 둡니다. 반대로 OLAP 시스템에서는 비정규 화가 사용되며, OLAP 시스템은 검색 및 분석 속도를 높이는 데 중점을 둡니다.
- 비정규 화 데이터 무결성이 유지되는 동안 정규화 프로세스에서 데이터 무결성이 유지됩니다.
- 정규화가 수행 될 때 중복 데이터는 제거되지만 역 정규화는 중복 데이터를 증가시킵니다.
- 정규화는 테이블과 조인의 수를 늘립니다. 반대로 비정규 화는 테이블의 수를 줄이고 결합합니다.
- 동일한 데이터가 다른 위치에 저장되기 때문에 디스크 공간은 비정규 화에서 낭비됩니다. 반대로 디스크 공간은 정규화 된 테이블에서 최적화됩니다.
결론
상황에 따라 정규화 및 비정규 화가 유용합니다. 정규화는 빠른 삽입, 삭제 및 업데이트 이상 및 데이터 일관성이 반드시 필요한 경우에 사용됩니다. 반대로 비정규 화는 빠른 검색이 중요하고 읽기 성능을 최적화 할 때 사용됩니다. 또한 과도하게 정규화 된 데이터 또는 복잡한 테이블 조인으로 인해 생기는 오버 헤드를 줄입니다.