이상 현상이란?
데이터베이스의 논리적 설계 시 하나의 릴레이션에 많은 속성들이 존재하여 데이터 중복과 함수 종속에 의해서 발생되는 문제점입니다.
이상 현상의 종류
이상의 종류에는 삽입 이상, 삭제 이상, 갱신 이상이 있습니다.
1. 삽입 이상
삽입하는 과정에서 원하지 않는 자료가 삽입되거나
삽입하는 데 자료가 부족해 삽입이 되지 않아 발생하는 문제점을 삽입 이상이라고 합니다.
ex) 기본키가 (고객번호, 제품번호)이고 제품명, 단가, 주문량이라는 속성이 존재하는 테이블이 있습니다.
이때, 새로운 제품의 정보를 저장하기 위해서 제품번호, 제품명, 단가를 삽입하려고 하는 삽입할 수 없는 문제가 발생합니다.
왜? 기본키는 null값이 들어갈 수 없고, 해당 테이블에서는 (고객번호,제품번호)가 기본키이기 때문에!
2. 갱신 이상
갱신 과정에서 부분만 변경되어 정보의 일관성이 없어져 정확한 정보를 파악하지 못하는 현상을 갱신 이상이라고 합니다.
(= 자료를 갱신하는 과정에서 정확하지 않거나 일부의 튜플만 갱신됨으로 인해 정보가 모호해지거나 일관성이 없어져 정확한 정보의 파악이 되지 않는 현상입니다.)
ex) 👖 의 가격이 원래는 10,000원이었고, 이를 20,000원으로 변경하였는데 전체 👖의 값이 아닌 일부 👖의 값만 변경되어 어떤 👖는 10,000원 어떤 👖는 20,000원으로 정보가 일관적이지 않는 것을 갱신 이상이라고 합니다.
3. 삭제 이상
어떤 정보를 삭제하면, 유용한 다른 정보까지 삭제되어버리는 이상입니다. 하나의 자료만 삭제하고 싶지만 그렇지 못하고 그 자료가 포함된 튜플 전체가 삭제됨으로 인해 원하지 않는 정보가 손실되는 문제점을 삭제 이상이라고 합니다.
ex) 고객정보에 관한 내용만 삭제하고 싶었지만, 고객번호,제품번호,제품명,단가,주문량이 모두 같은 테이블에 있어서 제품에 대한 정보(제품명,단가,주문량)까지 모두 사라지는 현상이 바로 삭제 이상입니다.
이상 현상을 해결하기 위한 방법
대부분 이상현상이 발생하는 데이터의 중복성(=부분 함수 종속, 이행 함수 종속) 때문인데 이를 제거하는 과정이 정규화입니다.
정규화?
Normalization 즉 ~하는 과정자체를 의미합니다.
정규형?
Normal Form 즉 결과물을 의미합니다.
정규화에 관한 내용은 다음 포스팅에서 좀 더 다뤄보겠습니다!
728x90
'📓 Study > Tech Interview' 카테고리의 다른 글
🧩클래스와 🏠객체는 각각 무엇인가요? (0) | 2021.09.24 |
---|---|
IPC(Inter Process Communication)란? (0) | 2021.09.23 |
KEY란 무엇인가요? (0) | 2021.09.21 |
String, StringBuilder, StringBuffer 각각의 차이에 대해 설명해주세요. (0) | 2021.09.21 |
🚗오버라이딩과 🏠오버로딩에 대해 설명해주세요 (2) | 2021.09.21 |
댓글