데이터베이스 이상 현상의 종류

1. 개요

데이터베이스 이상 현상(Anomaly)이란 테이블에 삽입, 삭제, 갱신 연산 시 발생하는 불일치 또는 데이터 무결성 문제를 의미한다.
릴레이션(테이블)을 설계할 때 정규화(Normalization)를 제대로 수행하지 않아 발생하며, 데이터베이스 정규화(Normalization)를 통해 해결할 수 있다.

2. 이상 현상의 종류 3가지

이상 현상은 데이터를 조작하는 연산의 종류에 따라 크게 세 가지로 분류된다.

(1) 삽입 이상 (Insertion Anomaly)

릴레이션에 새로운 데이터를 삽입할 때, 필요하지 않은 다른 정보까지 함께 삽입해야 하거나, 특정 정보가 없어 새로운 정보를 삽입할 수 없게 되는 문제이다.

삽입 이상 예시

  • 예시: 직원 정보와 부서 정보를 하나의 테이블에 저장한다고 가정하고, 새로운 부서가 생성되었는데, 아직 해당 부서에 배정된 직원이 없다면, 부서 정보를 삽입하기 위해 임시로 직원 정보(예: 직원 ID)를 NULL로 채워야 하거나, 아예 삽입이 불가능해질 수 있다.

나. 삭제 이상 (Deletion Anomaly)

릴레이션에서 어떤 정보를 삭제할 때, 그 정보와 함께 저장되어 있던 다른 필수적인 정보까지 손실되는 문제이다.

삭제 이상 예시

  • 예시: 위와 동일한 테이블에서, 한 부서에 속한 마지막 직원의 정보를 삭제하면, 그 직원 정보뿐만 아니라 중요한 부서 정보까지 함께 사라져버리는 현상이다.

다. 갱신 이상 (Update Anomaly)

릴레이션에서 중복되어 저장된 데이터 중 일부만 갱신하여 데이터의 일관성이 깨지는 문제이다.

갱신 이상 예시

  • 예시: 한 부서의 이름이 여러 튜플(행)에 중복되어 저장되어 있을 때, 해당 부서 이름이 변경되었지만 모든 튜플의 부서 이름을 빠짐없이 갱신하지 못하면, 데이터베이스에 같은 부서 이름이 서로 다른 값으로 존재하는 불일치 상태가 발생한다.

 

3. 결론

데이터베이스 이상 현상은 데이터의 중복성(Redundancy) 때문에 발생하며, 데이터 무결성(Integrity)을 심각하게 훼손한다. 이러한 이상 현상을 해결하고 데이터의 일관성을 유지하기 위해 데이터베이스 설계 시 정규화(Normalization) 과정을 필수적으로 수행해야 한다.

+ Recent posts