쏭의 개발 블로그
[DB] 이상현상(Anomaly) 본문
이상현상이란?
- 불필요한 데이터 중복으로 인해 릴레이션에 대해 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용
1. 삽입 이상 (Insert Anomaly)
새로운 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입

{학번, 강의번호} : Primary Key
- 수강하는 학생이 없는 강의 COMP963 삽입
- → 학번이 null
- → primary key는 null이 될 수 없으므로 테이블에 추가 불가능
- 강의를 수강하지 않는 학생 2021555555 를 삽입
- → 강의번호가 null
- → primary key는 null이 될 수 없으므로 테이블에 추가 불가능
2. 갱신 이상 (Update Anomaly)
중복 튜플 중 일부만 변경하여 데이터가 불일치하게되는 모순의 문제

- 김철수 학생(2018111111)이 수강하는 강의 COMP123의 강의명을 ‘데이터베이스’에서 ‘운영체제’로 변경
- 모든 COMP123 강의의 강의명을 운영체제로 바꾸어야함
- 일부를 빠뜨리고 update하는 경우 갱신 이상 발생
3. 삭제 이상 (Delete Anomaly)
튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제

- COMP789 네트워크 강의를 삭제
- COMP789 네트워크 강의를 수강하는 최민지(2020444444)학생의 학번, 학생이름 정보도 함께 삭제됨
- 지우고 싶지 않는 필드들의 정보도 함께 지워야함
'DB' 카테고리의 다른 글
| [DB] SQL 문법 정리 - DDL, DML (0) | 2023.01.31 |
|---|---|
| [DB] 정규화 (0) | 2023.01.31 |
| [DB] SQL vs NoSQL (0) | 2023.01.31 |
| [DB] Index 색인 (1) | 2023.01.30 |
| [DB] Key (0) | 2023.01.30 |