본문 바로가기

CS(Computer Science)

[데이터베이스] 이상 현상(Anomolay)

이상 현상(Anomolay)

  • 좋은 관계형 데이터베이스를 설계하는 목적 중 하나가 정보의 이상 현상이 생기지 않도록 고려해서 설계하는 것이다.
  • 이상 현상은 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말한다.
  • 종류로는 갱신 이상(Modification Anomolay), 삽입 이상(Insertion Anomolay), 삭제 이상(Deletion Anomolay)이 있다.

 

예시 테이블

 

 

삽입 이상(Insertion Anomolay)

  • 특정 데이터가 존재하지 않아 중요한 데이터를 데이터베이스에 삽입할 수 없을 때 발생
  • 예시 테이블에서 기본키는 학번이기 때문에 새로운 행을 삽입하기 위해서는 기본키인 학번이 필수이다.

  • 새로 행을 삽입하였지만, 학생이 존재하지 않기 때문에 데이터를 추가할 수 없다. 이러한 현상을 삽입 이상이라 한다.
  • 정규화를 사용하여 학생 테이블과 학과 테이블로 분리한다면 추가가 가능하다.

 

 

삭제 이상(Deletion Anomolay)

  • 특정 정보를 삭제하면, 원치 않는 정보도 삭제되는 현상이다.

  • 둘리 학생의 데이터를 삭제하면, 학과 코드를 비롯한 다른 정보들도 같이 삭제가 되는데, 이러한 정보들을
    특정 테이블에 저장하지 않았기 때문에 데이터가 소멸되는 문제가 발생한다.
  • 정규화에 의해 테이블을 분리하면 해결 가능하다.

 

 

갱신 이상(Modification Anomolay)

  • 테이블의 특정 테이터를 업데이트 했는데, 정상적으로 변경되지 않은 경우 혹은 중복된 데이터 중 일부만 수정되어
    모순이 발생한 경우 갱신 이상이라고 한다.

  • 위 테이블의 경우 경영학과의 학과장과 코드가 바뀌어서 바꿔야 한다고 했을 때 100개의 데이터를 변경해야 한다.
    여기서 변경되지 않은 행이 한 개라도 존재하면, 문제가 발생한다.
  • 위 문제는 테이블을 두 개로 분리하여 학과장 테이블의 한 개의 행만 변경하여 해결 가능하다.

 

 


참고 블로그

https://developer-talk.tistory.com/256

 

PPT

데이터베이스 이상현상.pptx
0.66MB