데이터베이스 정규화 기본 사항

데이터베이스 정규화

한동안 데이터베이스 작업을 해왔다면 정규화라는 용어를 들었을 가능성이 있습니다. 아마도 누군가 당신에게 "데이터베이스가 정규화되어 있습니까?"라고 물었을 것입니다. 또는 " BCNF에 있습니까?" 정규화는 종종 학자들만이 가질 수있는 고급 스러움으로 치워 버립니다. 그러나 정규화 원칙을 알고 일상적인 데이터베이스 설계 작업에 적용하는 것은 그렇게 복잡한 것은 아니며 DBMS의 성능을 크게 향상시킬 수 있습니다.

이 기사에서는 정규화 개념을 소개하고 가장 일반적인 일반 형식을 간단히 살펴 보겠습니다.

정규화 란 무엇입니까?

정규화는 데이터베이스에서 데이터를 효율적으로 구성하는 프로세스입니다. 정규화 프로세스에는 두 가지 목표가 있습니다. 즉, 중복 데이터 제거 (예 : 둘 이상의 테이블에 동일한 데이터 저장) 및 데이터 종속성 보장 (테이블에 관련된 데이터 만 저장)입니다. 데이터베이스가 사용하는 공간의 양을 줄이고 데이터가 논리적으로 저장되도록 보장하기 때문에이 두 가지 모두 가치있는 목표입니다.

일반 양식

데이터베이스 공동체는 데이터베이스가 정상화되도록 일련의 지침을 개발했습니다. 이것들은 정규 서식이라고 불리며 하나 (정규화의 가장 낮은 형태, 첫 번째 정규형 또는 1NF라고 함)에서 5 (5 번째 정규형 또는 5NF)까지 번호가 매겨집니다. 실용적인 애플리케이션에서는 가끔씩 4NF와 함께 1NF, 2NF 및 3NF가 표시됩니다. 다섯 번째 정규 형식은 거의 볼 수 없으며이 기사에서 다루지 않습니다.

정상적인 형식에 대한 논의를 시작하기 전에 지침과 지침임을 지적하는 것이 중요합니다. 때로는 실제 비즈니스 요구 사항을 충족시키기 위해 이탈해야합니다. 그러나 변형이 발생하면 시스템에서 발생할 수있는 파급 효과를 평가하고 가능한 불일치를 고려하는 것이 매우 중요합니다. 즉, 정상적인 형태를 탐구하자.

첫 번째 정규 서식 (1NF)

첫 번째 정규 형식 (1NF)은 체계적인 데이터베이스의 기본 규칙을 설정합니다.

두 번째 정규 서식 (2NF)

두 번째 정규 형식 (2NF)은 중복 데이터 를 제거하는 개념을 추가로 설명합니다.

세 번째 정규 서식 (3NF)

세 번째 정규형 (3NF)은 한 걸음 더 나아갑니다.

보이스 -Codd 일반 서식 (BCNF 또는 3.5NF)

Boyce-Codd Normal Form은 "3.5 및 3.5 (3.5) 일반 형식"이라고도하며 다음과 같은 요구 사항을 하나 더 추가합니다.

네 번째 정규 서식 (4NF)

마지막으로 네 번째 정규 형식 (4NF)에는 추가 요구 사항이 하나 있습니다.

이러한 정규화 지침은 누적됩니다. 데이터베이스가 2NF에 있으려면 먼저 1NF 데이터베이스의 모든 기준을 충족시켜야합니다.

나는 정상화해야합니까?

데이터베이스 정규화는 종종 좋은 아이디어이지만 절대적인 요구 사항은 아닙니다. 사실, 정상화 규칙을 의도적으로 위반하는 것이 좋은 관행 인 경우도 있습니다. 이 항목에 대한 자세한 내용은 데이터베이스를 정규화할까요?

데이터베이스가 정규화되었는지 확인 하려면 데이터베이스를 First Normal Form으로 변환하는 방법을 배우 십시오 .