[데이터베이스] 이상

미누·2024년 2월 22일

CS_데이터베이스

목록 보기
4/8

이상현상

[이상현상이란?]

좋은 관계형데이터베이스를 설계하는 목적 중 하나가 정보의 이상 현상(Anomaly)이 생기지 않도록 고려해 설계하는 것입니다.
이상 현상은 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말합니다.이상 현상은 갱신 이상(Modification ANomaly), 삽입 이상(Insertion Anomaly), 삭제 이상(Deletion Anomaly)으로 구성됩니다.아래의 표를 예로 이상 현상에 대해 알아보겠습니다.

1. 삽입 이상 : 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상
강의를 아직 수강하지 않은 새로운 학생을 삽입할 경우 강의 코드와 강의명 속성에는 null값이 들어가야 하는 문제가 생깁니다.
2. 갱신이상 : 중복된 데이터중 일부만 수정되어 데이터 모순이 일어나는 현상
강의코드가 "AC3"인 현수의 전화번호를 수정할 경우, 3번째 튜플의 데이터만 수정됩니다. 그렇다면 3,4번째 튜플은 같은 사용자의 데이터임에도 불구하고 전화번호가 다르게 됩니다.
3. 삭제이상 : 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상
강의코드가 "AC1"인 데이터베이스 개론 강의를 삭제하면, 이태호 학생의 데이터까지 삭제되어버립니다.

📌 이러한 이상현상을 예방하고 효과적인 연산을 하기 위해 데이터 정규화를 진행합니다

정리

💡 이상 현상의 종류에 대해 설명해주세요.

이상 현상은 테이블을 설계할 때 잘못 설계하여 데이터를 삽입,삭제,수정할 때 생기는 논리적 오류를 말합니다.
  • 삽입 이상 : 자료를 삽입할 때 특정 속성에 해당하는 값이 없어 NULL을 입력해야 하는 현상
  • 갱신 이상 : 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상
  • 삭제 이상 : 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상
이러한 이상 현상을 예방하고 효과적인 연산을 하기 위해 데이터 정규화를 합니다

참고

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Database/%5BDB%5D%20Anomaly.md
https://dev-coco.tistory.com/63

0개의 댓글