✒️ 2025-05-28 15:18 내용 수정
이상현상(Anomaly)
테이블의 잘못된 설계로 인해 데이터를 다룰 때 발생할 수 있는 오류
1. 삽입 이상
- 새 데이터를 추가할 때 불필요한 자료까지 테이블에 추가하는 현상
- ex) 학생 테이블에서 신입생인 "이학생"을 넣으려고 한다. (예시가 부적절할 수 있다.)
- 하지만 아직 신입생인 이학생은 수강 신청한 수업이 없어 수업 컬럼에 null을 넣지 못해서 이학생의 데이터를 추가하지 못한다.
| 학생ID |
이름 |
전공 |
수업 |
| 1000 |
김학생 |
물리학과 |
AA1 |
| 1001 |
박학생 |
전자공학과 |
AA2 |
| 1002 |
최학생 |
경영학과 |
AA3 |
2. 갱신 이상
- 중복된 데이터 일부만 변경하여 데이터 모순이 발생하는 현상
- ex) 아래 제품 테이블에서 만약 제품 번호 5번의 "사과"의 종류를 "과일"로 바꾼다. (예시가 부적절할 수 있다.)
- 실제 등록된 제품 중 과일인 사과와 스마트폰이었던 사과 중 누가 과일인지 스마트폰인지 구분하기 어렵다.
| 제품 번호 |
이름 |
개수 |
종류 |
| 001 |
사과 |
12개 |
과일 |
| 002 |
서랍 |
3개 |
가구 |
| 003 |
볼펜 |
10개 |
필기구 |
| 004 |
바나나 |
4개 |
과일 |
| 005 |
사과 |
3개 |
스마트폰 |
3. 삭제 이상
- 데이터 삭제 시 의도치 않은 데이터까지 함께 삭제되는 현상
- ex) 학생 테이블에서 수업 중 "AA1" 수업을 삭제할 때 김학생의 다른 정보까지 삭제된다.
| 학생ID |
이름 |
전공 |
수업 |
전화번호 |
| 1000 |
김학생 |
물리학과 |
AA1 |
123-4567 |
| 1001 |
박학생 |
전자공학과 |
AA2 |
147-2589 |
| 1002 |
최학생 |
경영학과 |
AA3 |
369-2574 |