정규화 뜻? 데이터베이스 관리 규칙의 6가지 유형

정규화 의미 및 개념 설명

정규화(Normalization)의 의미와 개념에 대해 알아봅시다.

정규화의 의미와 개념을 이해합니다.

정규화는 데이터베이스를 보다 쉽게 ​​사용할 수 있도록 시스템화하기 위해 특정 규칙에 따라 데이터베이스의 데이터를 변환하는 것을 의미합니다. 정규화는 중복을 최소화하여 데이터를 구조화하는 프로세스입니다. 관계형 데이터베이스 데이터 중복을 제거하여 데이터 불일치를 방지하기 위한 것으로, 1차 정규형, 2차 정규형, 3차 정규형, 4차 정규형, 5차 정규형, 음성코드 정규형으로 구분된다. 정규화된 데이터의 데이터 업데이트 시 한 위치만 업데이트하면 되지만, 대부분의 경우 전체 데이터 양이 줄어듭니다. 정규화는 데이터를 더 쉽게 처리할 수 있도록 테이블을 나눕니다. 관계형 데이터베이스에서는 데이터 보존성을 높이기 위해 동일한 데이터가 데이터베이스에 두 번 이상 기록되지 않으며 각 테이블에는 기본 키가 있도록 설계되었습니다. 정규화는 데이터베이스를 구성하는 테이블의 불필요한 데이터 중복으로 인해 테이블 ​​조작 시 발생하는 데이터 불일치를 방지합니다. 정규화는 데이터베이스를 모델링한 후 설계 결과를 검증하는 데 사용됩니다. 또한 다음 용도로 사용됩니다.

정규화 의미 및 개념 설명

정규화는 관계형 데이터베이스의 특정 규칙에 따라 데이터를 변환하는 것을 의미합니다. 데이터베이스(DB)사용하기 쉽게 만드는 작업을 말합니다. 정규화(Normalization)란 관계형 데이터베이스에서 테이블을 나누어 데이터가 중복되는 것을 방지하고, 데이터 간의 일관성을 유지하도록 설계하는 것을 말한다. 정규화는 테이블 간의 데이터 중복을 방지하고 데이터 무결성을 유지하며 데이터베이스의 저장 용량을 줄입니다. 정규화 단계는 첫 번째 정규화부터 다섯 번째 정규화까지이며 음성 코드 정규화를 포함합니다. 이 중 1차 정규화, 2차 정규화, 3차 정규화가 일반적으로 사용된다.[정규화 단계 구분]

구분 내용 1 1차 정규형 2 2차 정규형 3 3차 정규형 4 4차 정규형 5 5차 정규형 6 음성코드 정규형(Boyce-Codd Normal Form)

첫 번째 정규형은 특정 항목이 행에서 여러 번 반복되는 경우 레코드를 여러 행으로 분할하는 것을 의미합니다. 다른 열에서 계산할 수 있는 항목은 제외됩니다. 첫 번째 정규화는 테이블의 열이 하나의 값(원자 값)을 갖도록 테이블을 분해합니다. 각 열에는 하나의 속성만 있어야 하며, 각 열에는 동일한 유형 또는 값 유형이 있어야 합니다. 그리고 각 열에는 고유한 이름이 있어야 합니다. 두 번째 정규형은 기본 키가 복합 열이고 다른 열이 복합 열의 일부로만 정의되는 경우를 제외하고 첫 번째 정규 형식의 테이블을 독립 테이블로 분리합니다. 하라는 뜻입니다. 두 번째 정규화에서는 첫 번째 정규화를 수행한 테이블을 분해하여 완전히 기능적으로 종속된 구조를 갖습니다. 테이블을 구성하는 모든 열에 부분 종속성이 없는지 확인하세요. 완전한 기능적 종속성은 기본 키의 하위 집합이 결정자가 되는 것을 방지하는 것을 의미합니다. 제3정규형은 제2정규형이 된 테이블의 기본키가 아닌 열 중 하나를 선택하는 제3정규형이다. 정의된 의미를 가진 컬럼이 있으면 다른 테이블로 분리된다는 뜻이다. 3차 정규화는 2차 정규화를 거친 테이블에 전이적 종속성이 없도록 테이블을 분해합니다. 기본 키를 제외한 속성 간에 전이적 종속성이 없도록 테이블을 구성합니다. 정규화에서는 분할된 테이블에서 데이터를 한꺼번에 식별할 수 있도록 기본 키를 설정합니다. 정규화를 수행하면 데이터베이스를 보다 쉽게 ​​사용할 수 있도록 구성됩니다. 잡힐 것이다. 정규화는 불필요한 데이터를 유지 관리할 필요성을 제거하여 데이터 업데이트를 최소화하고 스토리지 소비를 줄입니다. 또한 데이터 전환이 원활해지는 등 다양한 긍정적인 효과가 있습니다. 정규화를 통해 데이터베이스를 변경하면 이상 현상을 제거할 수 있고, 정규화된 데이터베이스 구조에 새로운 데이터 타입을 추가하는 등의 확장이 필요한 경우 구조를 수정할 수 있다. 아무런 변경 없이 부분적인 변경만 하면 되는 효율적인 구조로 운영이 가능합니다. 또한, 데이터베이스에 연결된 다른 애플리케이션의 영향을 최소화할 수 있습니다. 그러나 정규화에 너무 주의를 기울이면 데이터가 여러 개의 테이블로 분할되어 검색 내용에 따라 여러 개의 테이블을 결합하여 사용해야 하므로 데이터를 검색하거나 사용할 수 없습니다. 경우에 따라 데이터 처리 시 처리 속도가 저하될 수 있습니다. 정규화 중 관계의 분해로 인해 관계 간의 JOIN 작업 수가 증가할 수 있습니다. 데이터를 생성하거나 업데이트할 때 열과 열 그룹에 포함된 데이터가 테이블에서 고유한 값인지 확인하는 고유한 컨트롤도 있습니다. 필요합니다. 데이터베이스를 잘못 설계하면 불필요한 데이터가 중복되어 관계에 대한 데이터 생성, 변경, 삭제 등의 처리를 수행할 때 문제가 발생할 수 있다. 이러한 비정상적인 이상 현상을 제거하고 데이터베이스를 올바르게 설계하는 과정이 정규화 과정입니다. 정규화를 통해 원하지 않는 데이터가 입력되거나 키 누락으로 인해 데이터가 입력되지 않는 문제를 해결할 수 있으며, 하나의 데이터만 삭제하고 싶습니다. 또한 데이터가 포함된 전체 행이 삭제되는 문제를 해결할 수도 있습니다. 또한, 데이터의 일부만 업데이트되므로 데이터 불일치를 방지할 수 있습니다.