쏭의 개발 블로그

[DB] 이상현상(Anomaly) 본문

DB

[DB] 이상현상(Anomaly)

songu1 2023. 1. 31. 12:32

이상현상이란?

  • 불필요한 데이터 중복으로 인해 릴레이션에 대해 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용

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