이상(Anomaly)

해연·2023년 6월 7일
0

데이터베이스

목록 보기
3/14

정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생

종류

1) 삽입 이상(Insertion Anomaly)

  • 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입
  • 기본키가 {Student ID, Course ID} 인 경우 -> Course를 수강하지 않은 학생은 Course ID가 없는 현상이 발생함. 결국 Course ID를 Null로 할 수밖에 없는데, 기본키는 Null이 될 수 없으므로, Table에 추가될 수 없음.
  • 불필요한 데이터를 추가해야지 테이블에 삽입할 수 있는 현상

2) 삭제 이상(Deletion Anomaly)

  • 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
  • 만약 어떤 학생이 수강을 철회하는 경우, {Student ID, Department, Course ID, Grade}의 정보 중 Student ID, Department 와 같은 학생에 대한 정보도 함께 삭제됨.

3) 갱신 이상(Update Anomaly)

  • 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
  • 수강생 테이블에서 전화번호를 변경할 때 모든 전화번호 칼럼, 100개면 100개 1000개면 1000개를 모두 변경해야 함
profile
물음표를 느낌표로 바꾸며 성장하는 예비 백엔드 개발자입니다.

0개의 댓글