topic난이도 · 약 12

이상 (Anomaly)

정규화 안 된 테이블에서 발생하는 3가지 문제 — 삽입·갱신·삭제 이상.

#DB#이상
왜 배우는가

정규화의 존재 이유. 각 이상의 정의를 정확히 구분할 수 있어야 한다.

이상정의예시
삽입 이상 (Insertion)원치 않는 값이 NULL로 함께 삽입되거나 아예 삽입 불가학과는 등록됐지만 학생이 없어 학과만 입력할 수 없음
갱신 이상 (Update)중복 저장된 값 중 일부만 갱신되어 데이터 불일치한 학과명을 바꿀 때 한 행만 바꿔 나머지와 달라짐
삭제 이상 (Deletion)필요한 데이터까지 연쇄 삭제됨마지막 학생 삭제 시 학과 정보까지 사라짐

해결책 — 이 3가지 이상을 없애기 위한 방법이 바로 정규화. 부분·이행 종속을 분해해 같은 정보가 한 곳에만 저장되도록.

실기 드릴 1문항
edit실기 드릴 · 단답형

마지막 튜플을 삭제했을 때 함께 연쇄적으로 사라지지 않아야 할 정보까지 사라지는 이상은?