topic★★★★★난이도 · 약 12분
이상 (Anomaly)
정규화 안 된 테이블에서 발생하는 3가지 문제 — 삽입·갱신·삭제 이상.
#DB#이상
왜 배우는가
정규화의 존재 이유. 각 이상의 정의를 정확히 구분할 수 있어야 한다.
| 이상 | 정의 | 예시 |
|---|---|---|
| 삽입 이상 (Insertion) | 원치 않는 값이 NULL로 함께 삽입되거나 아예 삽입 불가 | 학과는 등록됐지만 학생이 없어 학과만 입력할 수 없음 |
| 갱신 이상 (Update) | 중복 저장된 값 중 일부만 갱신되어 데이터 불일치 | 한 학과명을 바꿀 때 한 행만 바꿔 나머지와 달라짐 |
| 삭제 이상 (Deletion) | 필요한 데이터까지 연쇄 삭제됨 | 마지막 학생 삭제 시 학과 정보까지 사라짐 |
해결책 — 이 3가지 이상을 없애기 위한 방법이 바로 정규화. 부분·이행 종속을 분해해 같은 정보가 한 곳에만 저장되도록.
실기 드릴 1문항
edit실기 드릴 · 단답형
마지막 튜플을 삭제했을 때 함께 연쇄적으로 사라지지 않아야 할 정보까지 사라지는 이상은?