관계형 데이터베이스에서의 정규화는 데이터를 효율적으로 저장하고 중복을 최소화하여 데이터베이스의 일관성, 유지보수성, 유연성을 향상시키는 프로세스입니다. 이를 통해 데이터 중복이 줄어들고, 데이터의 무결성을 보장할 수 있게 됩니다.
정규화는 일반적으로 다음과 같은 과정을 거칩니다:
제 1 정규형(1NF): 테이블의 모든 열이 원자 값(Atomic value)을 가지도록 분해합니다. 즉, 하나의 열에는 한 가지의 값만 들어가도록 합니다. 이를 통해 중첩된 데이터를 없애고, 테이블의 각 셀에는 원자적인 데이터만 남게 됩니다.
제 2 정규형(2NF): 모든 비주요 속성이 주요 속성에 완전 함수 종속(fully functional dependent)되도록 합니다. 이는 모든 비주요 속성이 기본키에 의존하는 것을 의미합니다. 주요 속성에 의존하지 않는 부분 함수 종속을 제거하여 테이블을 분해합니다.
제 3 정규형(3NF): 이행적 함수 종속(Transitive functional dependency)을 제거합니다. 즉, 한 열의 값이 다른 열의 값에 의존하지 않도록 테이블을 분해합니다. 이를 통해 중복 데이터를 줄이고 데이터의 일관성을 높입니다.
또한 보다 고급화된 형태로 제 4, 제 5 정규형, BCNF(Boyce-Codd Normal Form) 등이 있으며, 특정 상황에 맞게 적용될 수 있습니다.
정규화는 데이터의 무결성과 일관성을 유지하는 데에 중요하며, 데이터베이스 설계 시 반드시 고려되어야 합니다. 하지만 지나치게 정규화된 데이터베이스는 쿼리의 복잡성을 증가시킬 수 있으므로 적절한 균형을 유지하는 것이 중요합니다.
참고링크
데이터베이스 정규화 기본 사항에 대한 설명
RDBMS 정규화(Normalization) - 1/2
RDBMS 정규화(Normalization) - 2/2
RDBMS 의 정규화 (Normalization)
관계형 데이터베이스에서 Primary Key(기본 키)와 Foreign Key(외래 키)는 데이터의 무결성을 유지하고 관계를 설정하는 데에 사용됩니다.
Primary Key (기본 키):
Foreign Key (외래 키):
기본 키와 외래 키는 관계형 데이터베이스 설계에서 매우 중요한 개념이며, 데이터의 일관성과 무결성을 유지하는 데에 큰 역할을 합니다.