1.정의

  • 데이터의 이상 현상을 아노말리라고 함
  • 아노말리의 원인은 중복된 데이터 때문에 발생
  • 어떤 데이터를 처리할 때 중복된 데이터를 동시에 전부 처리하지 못하고 일부만 처리하게 되면 어떤 데이터가 맞는 데이터인지 알 수 없음


2.종류

  • 업데이트 아노말리 : 릴레이션에서 속성의 값을 업데이트할 때 발생하는 데이터 이상 현상
  • 삭제 아노말리 : 릴레이션에서 인스턴스를 삭제할 때 발생하는 데이터 이상 현상
  • 삽입 아노말리 : 릴레이션에 새로운 인스턴스를 삽입할 때 발생하는 데이터 이상 현상

3.정규화 되지 않아 발생하는 아노말리 사례

  • '홍길동'이라는 선수가 포지션을 '2루수'로 바꾸면 세 개의 인스턴스를 찾아 포지션 속성의 값을 '2루수'로 업데이트해야 함
    업데이트할 속성이 여러 엔터티에 존재하면 완벽히 업데이트 하기란 쉽지 않음
    자칫 로직이 누락 되는 경우 데이터 정합성이 깨지게 됨
    -> 업데이트 아노말리
  • 릴레이션에서 '김길동'에 대한 데이터를 삭제하려고 하면 선수 이름이 '김길동'인 두 개의 인스턴스가 삭제되는데,
    의도한 대로 두 개의 인스턴스가 삭제돼도 데이터에 문제가 발생함. '엘리펀츠'와 '타이거즈'팀의 데이터가 같이 삭제 됨.
    의도하지 않은 데이터가 삭제됨
    -> 삭제 아노말리
  • '장길동'이란느 새로운 선수가 등장해서 선수로 등록하고 선수번호는 '16'번이 됨
    이 선수를 릴레이션에 입력하려고 하는데 문제는 팀이 아직 결정되지 않음
    팀ID 속성이 주 식별자이므로 데이터를 삽입할 수 없음
    -> 삽입 아노말리


4.정규형 릴레이션