Search
Duplicate

이상 (Anomaly)

생성일
2023/03/19 21:27
태그
DB

이상 (Anomaly)

Relation 처리 과정에서 불필요한 데이터 중복으로 인해 발생하는 부작용.
Relation안에 너무 많은 속성을 표현하려고 한 것이 원인이다.
Relation? → 주로 Table과 같은 의미로 사용(데이터의 집합), 튜플(Tuple)과 속성(Attribute)로 구성.

 이상(Anomaly) 현상에 의해서…

현실 세계의 실제 값과 DB에 저장된 값이 일치하지 않는 문제 발생.
중복된 데이터에 대해 데이터 불일치 현상이 발생할 우려
전체적인 무결성이 저하한다.

 3가지 이상 현상 예시)

학번
이름
과목 ID
과목명
교수명
20220001
김형준
A1
운영체제
곽종욱
20220002
홍길동
A2
자료구조
조행래
20220003
이도현
A2
자료구조
조행래
20220004
아이유
B1
컴퓨터비전
김욱현

 삽입 이상 (Insertion Anomaly)

자료를 삽입할 때, 의도하지 않은 불필요한 자료까지 삽입 해야만 하는 구조에 의해 발생하는 현상.
새로운 학생이 생성되어서 테이블에 튜플을 추가하려고 하는데, 주목하고자 하는 학생에 대한 정보 외에도 불필요하게 과목에 대한 정보까지 추가해야하는 구조..
만약 과목에 대한 속성을 비울 수 없다면, “미수강” 이라는 불필요한 값까지 넣어야 한다.

 갱신 이상 (Update Anomaly)

중복된 데이터 중, 일부만 수정되어 데이터 모순이 일어나는 이상.
길동이하고 도현이는 자료구조를 수강 중이다. 근데 자료구조 교수님이 박창현 교수님으로 바뀌었다.
길동이 튜플에서만 교수명이 박창현으로 변경되었다면, 도현이 튜플에서는 교수명이 조행래로 그대로 남아있는 경우 이상 현상 발생!

 삭제 이상 (Delete Anomaly)

어떤 정보를 삭제하면, 유용한 다른 정보까지 삭제되어버리는 이상.
아이유가 자퇴를 할 때, 테이블에서 아이유 튜플이 삭제되어야 하는 상황.
아이유에 대한 정보만 지워지면 되는데, 컴퓨터비전과 김욱현 교수님에 대한 정보까지 사라져버리는 이상 현상!

 이상 현상 방지 방법

정규화를 사용!

ref)