이상현상(anomaly)
이상현상 이란
DB에서 이상현상은 이상하게 되는 현상이다
데이터베이스에서 이상현상은 데이터의 일관성, 정확성 및 신뢰성을 해치는 문제를 일으키는 현상을 말한다.
데이터베이스 설계 결함에서 비롯되며 데이터 삽입, 삭제, 수정 시에 문제를 일으킨다.
정규화 과정을 통해서 이상현상을 제거할 수 있다
이상현상은 삽입이상, 삭제이상, 수정이상 3가지 유형으로 분류된다.
예시 테이블)
직원ID | 직원 이름 | 부서 |
---|---|---|
1 | 홍길동 | 인사 |
2 | 이순신 | 개발 |
삽입이상
자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 삽입 가능한 현상
직원ID | 직원 이름 | 부서 |
---|---|---|
1 | 홍길동 | 인사 |
2 | 이순신 | 개발 |
3 | 이찬호 |
부서가 정해지지 않은 새로운 직원을 삽입할 경우, 부서 정보가 필수인 경우 삽입을 할 수가 없다.
또는 부서에 Null 값이 들어가야하는 문제가 발생한다
삭제이상
어떤 정보를 삭제하면, 의도하지 않는 다른 정보까지 삭제되어버리는 현상
직원ID | 직원 이름 | 부서 |
---|---|---|
1 | 홍길동 | 인사 |
2 | 이순신 | 개발 |
3 | 강감찬 | 개발 |
홍길동
레코드를 삭제하게되면 인사
부서에 대한 정보가 테이블에서 완전히 사라지게 된다.
이로 인해 인사
부서가 존재한다는 정보를 잃게 되는 삭제 이상이 발생한다.
수정이상
중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상
직원ID | 직원 이름 | 부서 |
---|---|---|
1 | 홍길동 | 인사 |
2 | 이순신 | 개발 |
3 | 강감찬 | 개발 |
다음과 같이 부서
정보가 여러 직원 레코드에 걸쳐 중복되어 있는 상황을 가정.
개발
부서의 이름을 엔지니어링
으로 변경하려고 할 때, 모든 레코드가가 변경되지 못하고 남아있을 수 있습니다.
그렇게 되면 데이터 베이스 내에 모순된 정보가 존재하게 되며 이로 인한 수정 이상이 발생한다.