이상 현상 (Anomaly)
이상 현상은 테이블에서 일부 속성들의 종속이나 데이터의 중복으로 인해 데이터를 삽입, 갱신, 삭제할 때 논리적으로 생기는 오류를 말합니다.
학번 | 이름 | 나이 | 전공 | 강의코드 | 강의명 |
100 | 홍길동 | 23 | 물리 | C1 | 컴퓨터구조 |
200 | 김현수 | 28 | 디자인 | O4 | 운영체제 |
300 | 이지은 | 21 | 경영 | N3 | 네트워크 |
300 | 이지은 | 21 | 경영 | A5 | 알고리즘 |
400 | 박시연 | 25 | 컴퓨터 | D2 | 데이터베이스 |
삽입 이상 (Insertion Anomaly)
삽입 이상은 데이터를 삽입할 때 의도하지 않은 데이터까지 삽입해야만 추가가 가능한 현상을 뜻합니다.
기본키가 {학번, 강의코드}인 경우, 강의를 수강하지 않은 학생은 강의코드가 없는 현상이 발생합니다.
결국 강의코드가 Null이 될 수 밖에 없는데, 기본키는 Null이 될 수 없으므로 테이블에 추가될 수 없습니다.
갱신 이상 (Update Anomaly)
갱신 이상은 중복된 데이터 중 일부만 수정되어 데이터의 모순이 일어나는 현상을 뜻합니다.
강의코드가 "N3"인 이지은의 전공을 수정할 경우, 3번째 튜플의 데이터만 수정됩니다.
그 결과, 3번째 튜플과 4번째 튜플은 같은 사용자의 데이터임에도 불구하고 전공 정보가 다르게 됩니다.
삭제 이상 (Deletion Anomaly)
삭제 이상은 한 데이터를 삭제하면 의도하지 않은 데이터까지 삭제되는 현상을 뜻합니다.
강의코드가 "C1"인 컴퓨터구조 강의를 삭제하면, 홍길동 학생의 데이터까지 삭제됩니다.
728x90
반응형
'CS 지식 > 데이터베이스' 카테고리의 다른 글
[CS] 인덱스 (0) | 2024.02.01 |
---|---|
[CS] 정규화 (0) | 2024.01.31 |
[CS] SQL - JOIN (0) | 2024.01.17 |
[CS] SQL - 추가 문법 정리 (0) | 2024.01.16 |
[CS] SQL - 기본 명령어 (0) | 2024.01.15 |