MinChur

데이터베이스 무결성과 정규화 전략

|
1 min read

데이터의 중복을 제거하여 이상 현상을 방지하는 정규화 과정과, 트랜잭션을 통해 데이터의 일관성을 보장하는 핵심 원리를 정리합니다.

1. 이상 현상 (Anomaly)

설계가 잘못된 테이블에 데이터를 조작할 때 발생하는 문제입니다.

  • 삽입 이상: 불필요한 데이터를 함께 입력해야만 하는 상황
  • 삭제 이상: 특정 데이터를 지울 때 연관된 중요한 정보까지 함께 삭제되는 상황
  • 갱신 이상: 일부만 수정되어 데이터 간 불일치가 발생하는 상황

2. 정규화 (Normalization)

이상 현상을 해결하기 위해 테이블을 쪼개는 과정입니다.

  • 제1정규형 (1NF): 모든 속성 값은 원자 값이어야 함
  • 제2정규형 (2NF): 부분 함수적 종속성 제거 (기본키의 일부분에만 종속된 속성 분리)
  • 제3정규형 (3NF): 이행적 종속성 제거 (A->B, B->C 인 경우 A->C 관계 분리)
  • BCNF: 모든 결정자가 후보키가 되도록 설계

3. 트랜잭션과 ACID

데이터베이스의 상태를 변화시키는 하나의 논리적 작업 단위입니다.

  • Atomicity (원자성): 모두 성공하거나 모두 실패해야 함 (All or Nothing)
  • Consistency (일관성): 완료 후에도 데이터 규칙이 유지되어야 함
  • Isolation (고립성): 실행 중인 트랜잭션은 다른 작업의 방해를 받지 않아야 함
  • Durability (지속성): 성공한 결과는 영구적으로 보존되어야 함