[DataBase] 이상 현상(Anomaly)이란?
by coco3o반응형
좋은 관계형데이터베이스를 설계하는 목적 중 하나가 정보의 이상 현상(Anomaly)이 생기지 않도록 고려해 설계하는 것입니다.
이상 현상은 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말합니다.
이상 현상은 갱신 이상(Modification ANomaly), 삽입 이상(Insertion Anomaly), 삭제 이상(Deletion Anomaly)으로 구성됩니다.
아래의 표를 예로 이상 현상에 대해 알아보겠습니다.
학번 | 이름 | 나이 | 성별 | 강의코드 | 강의명 | 전화번호 |
1011 | 이태호 | 23 | 남 | AC1 | 데이터베이스 개론 | 010-2627-8123 |
1012 | 강민정 | 20 | 여 | AC2 | 운영체제 | 010-4665-1941 |
1013 | 김현수 | 21 | 남 | AC3 | 자료구조 | 010-5223-4464 |
1013 | 김현수 | 21 | 남 | AC4 | 웹 프로그래밍 | 010-5223-4464 |
1014 | 이병철 | 26 | 남 | AC5 | 알고리즘 | 010-6305-2912 |
1. 삽입 이상 : 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상
강의를 아직 수강하지 않은 새로운 학생을 삽입할 경우 강의 코드와 강의명 속성에는 null값이 들어가야 하는 문제가 생깁니다.
2. 갱신 이상 : 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상
강의 코드가 "AC3"인 김현수의 전화번호를 수정할 경우, 3번째 튜플의 데이터만 수정될 것입니다.
그러면 3, 4번째 튜플은 같은 사용자의 데이터임에도 불구하고 전화번호가 다르게 됩니다.
3. 삭제 이상 : 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상
강의코드가 "AC1"인 데이터베이스 개론 강의를 삭제하게 되면, 이태호 학생의 데이터까지 삭제되어버립니다.
이러한 이상 현상을 예방하고 효과적인 연산을 하기 위해 데이터 정규화(Data Normalication) 를 합니다.
반응형
'🌎Database > DB Knowledge' 카테고리의 다른 글
[DataBase] ORM(Object Relational Mapping)의 개념 (0) | 2021.07.05 |
---|---|
[DataBase] 트랜잭션(Transaction)이란? (0) | 2021.07.03 |
[DataBase] 정규화(Normalization)란? (3) | 2021.06.25 |
블로그의 정보
슬기로운 개발생활
coco3o