[python] 데이터베이스 설계에서의 정규화 개념과 원리

목차

정규화의 개념

정규화는 데이터베이스 설계 시 중복 데이터를 최소화하여 삽입, 갱신, 삭제 시 발생할 수 있는 이상 현상을 방지하는 과정입니다. 이를 통해 효율적인 데이터 관리와 빠른 조회 속도를 얻을 수 있습니다.

정규화의 원리

  1. 제 1정규형(1NF): 중복을 없애기 위해 하나의 속성에 하나의 값만 존재하도록 분해합니다.
  2. 제 2정규형(2NF): 부분적 함수 종속을 제거하여 모든 속성이 기본키에 완전 함수 종속되도록 합니다.
  3. 제 3정규형(3NF): 이행적 함수 종속을 제거하여 기본키 이외의 모든 속성 간에는 종속 관계가 없도록 합니다.
  4. BCNF(Boyce-Codd 정규형): 결정자가 후보키에 속하는 모든 함수 종속이 만족되도록 합니다.

예제 코드

# 예제 데이터베이스 테이블
CREATE TABLE 주문 (
    주문번호 INT PRIMARY KEY,
    고객명 VARCHAR(100),
    제품명 VARCHAR(100)
);

참고 자료