RDBMS의 정규화

wkdtmddus·2023년 7월 31일
0
post-custom-banner

정규화(Normalization)는 관계형 데이터베이스(RDBMS)의 설계에서 데이터를 중복 없이 효율적으로 저장하기 위한 과정입니다.
이를 통해 데이터베이스의 구조가 불필요한 중복을 최소화하고 데이터의 일관성과 무결성을 유지할 수 있게 됩니다.


  1. 1차 정규화(1NF) :

    테이블의 모든 열에는 원자값만 포함되어야 합니다.
    즉, 각 열에는 중복되지 않는 단일 값만 있어야 합니다.

  2. 2차 정규화(2NF) :

    부분적 종속성을 제거하는데 초점을 맞춥니다.
    부분적 종속성이란 기본 키가 아닌 부분집합의 열이 기본 키에 종속되는 경우를 말합니다.
    이를 해결하기 위해 테이블을 적절히 분리하여 각 테이블이 한 개의 주제에 집중하도록 합니다.

  3. 3차 정규화(3NF) :

    이행적 종속성을 제거하는데 초점을 맞춥니다.
    이행적 종속성이란 A -> B, B -> C의 관계에서 A -> C의 관계가 성립되는 경우를 말합니다.
    이를 해결하기 위해 중복을 피하고 각 테이블이 독립적으로 유지되도록 합니다.

  4. BCNF 정규화(Boyce-Codd 정규형) :

    모든 결정자가 후보 키인 상태를 말합니다.
    이는 3차 정규화를 더욱 강화한 개념으로,3차 정규화에서 발생하는 일부 문제를 해결합니다.

  5. 4차 정규화(4NF) 이상 :

    특정 복잡한 종속성을 제거하는데 초점을 맞춥니다.
    이는 특정 상황에서 추가적인 정규화가 필요한 경우에 적용됩니다.


정규화를 수행하면 데이터의 중복을 줄이고 효율적인 데이터 저장과 조회가 가능해집니다.
그러나 정규화는 데이터베이스의 구조를 복잡하게 만들 수 있으므로, 성능과 유지보수성을 고려하여 적절한 정규화 수준을 선택하는 것이 중요합니다.
각 상황에 맞게 적절한 정규화 수준을 적용하여 데이터베이스의 설계를 최적화하는 것이 바람직합니다.


핵심 키워드

  • 중복 데이터
  • 무결성
post-custom-banner

0개의 댓글