Anomaly (이상 현상)

이유석·2022년 3월 31일
0

CS - Data Base

목록 보기
7/11
post-thumbnail

Anomaly (이상 현상)

정규화를 해야하는 이유는 잘못된 테이블 설계로 인해 Anomaly (이상 현상)가 나타나기 때문입니다.

종류

  • Insertion Anomaly (삽입 이상)
  • Update Anomaly (갠신 이상)
  • Deletion Anomaly (삭제 이상)

Insertion Anomaly

정의

  • 불필요한 정보를 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능하다.

예시
기본키가 {Student ID, Course ID} 인 경우를 예로 들어보자.

Course 를 수강하지 않은 학생은 Course ID 가 없는 현상이 발생할 수 있다.
결국 Course ID를 Null로 할 수 밖에 없는데, 기본키는 Null이 될 수 없으므로, Table에 추가될 수 없음.

Update Anomaly

정의

  • 반복된 데이터 중 일부만 변경하여 데이터의 불일치가 발생한다.

예시
만약 어떤 학생의 전공(Department)이 "컴퓨터" → "음악" 으로 바뀌는 경우를 예로 들어보자.

이때 해당 학생의 모든 데이터의 Department 컬럼을 "음악"으로 바꿔야 한다.
하지만, 일부를 깜빡하고 바꾸지 못하는 경우가 발생할 수 있다.

Deletion Anomaly

정의

  • 데이터 삭제 시, 필요한 정보가 함께 삭제되어야 하는 상황이 발생한다.

예시
학생 수강 정보{StudentID, Course ID, Department, Grade}테이블을 예로 들어보자.

만약 어떤 학생이 수강 철회를 한 경우, Student ID와 Department와 같은 학생에 대한 정보도 함께 삭제된다.

profile
https://github.com/yuseogi0218

0개의 댓글