[DataBase] 이상 현상(Anomaly)이란?

kys95·2022년 11월 17일
0

좋은 관계형데이터베이스를 설계하는 목적 중 하나가 정보의 이상 현상(Anomaly)이 생기지 않도록 고려해 설계하는 것입니다.

이상 현상은 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말합니다.

이상 현상은 갱신 이상(Modification ANomaly), 삽입 이상(Insertion Anomaly), 삭제 이상(Deletion Anomaly)으로 구성됩니다.

아래의 표를 예로 이상 현상에 대해 알아보겠습니다.

학번이름나이성별강의코드강의명전화번호
1011유재석23AC1데이터베이스설계010-1111-1111
1012박명수22AC2오퍼레이팅시스템010-1111-1112
1013정준하21AC3자료구조론010-1111-1113
1013정준하21AC4알고리즘설계010-1111-1113
1014하하25AC5객체지향프로그래밍010-1111-1115
  1. 삽입 이상 : 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상

강의를 아직 수강하지 않은 새로운 학생을 삽입할 경우 강의 코드와 강의명 속성에는 null값이 들어가야 하는 문제가 생긴다.

  1. 갱신 이상 : 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상

강의 코드가 "AC3"인 정준하의 전화번호를 수정할 경우, 3번째 튜플의 데이터만 수정될 것이다.

그러면 3, 4번째 튜플은 같은 사용자의 데이터임에도 불구하고 전화번호가 다르게 된다.

  1. 삭제 이상 : 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상

강의코드가 "AC1"인 데이터베이스설계 강의를 삭제하게 되면, 유재석 학생의 데이터까지 삭제되어버린다.

이러한 이상 현상을 예방하고 효과적인 연산을 하기 위해 데이터 정규화(Data Normalication) 를 한다.

profile
어제의 나보다 나은 사람이 되자

0개의 댓글