반응형
SMALL
데이터베이스를 정규화하지 않으면 이상(Anomaly) 현상이 발생할 수 있습니다.
이상은 데이터의 삽입, 수정, 삭제 과정에서 논리적 모순이나 데이터 손실이 일어나는 현상입니다.
이번 포스트에서는 삽입 이상 / 삭제 이상 / 갱신 이상을 예시와 함께 정리하고,
정규화의 필요성까지 설명합니다.
1. 이상(Anomaly)이란?
테이블 구조가 잘못되어 데이터 조작 시 불필요한 제약, 손실, 오류가 발생하는 현상
→ 주로 중복 데이터가 존재하거나, 테이블이 비정규형일 때 발생
2. 이상 현상의 종류
✅ 삽입 이상 (Insertion Anomaly)
- 값이 없어도 되는 컬럼 때문에 전체 행을 삽입할 수 없음
- 예: 아직 상품을 주문하지 않은 고객 정보를 등록 못하는 경우
✅ 삭제 이상 (Deletion Anomaly)
- 원하는 정보만 삭제할 수 없고, 의도치 않은 정보까지 함께 삭제되는 현상
- 예: 주문 정보를 삭제하면 고객 정보도 함께 삭제되는 경우
✅ 갱신 이상 (Update Anomaly)
- 같은 정보가 여러 곳에 중복되어 있어 수정 시 불일치가 발생
- 예: 고객 주소를 하나만 수정하고 나머지는 안 바뀌는 경우
3. 예시 테이블
고객명 | 전화번호 | 주문번호 | 상품명 |
---|---|---|---|
홍길동 | 010-1234-5678 | A001 | 마우스 |
홍길동 | 010-1234-5678 | A002 | 키보드 |
- 갱신 이상: 전화번호 수정 시 모든 행을 수정해야 함
- 삭제 이상: 모든 주문을 삭제하면 고객 정보도 사라짐
- 삽입 이상: 주문 없이 고객만 등록할 수 없음
4. 해결책 – 정규화
이상 현상은 정규화(Normalization)를 통해 방지할 수 있습니다.
- 중복 제거
- 데이터 분리 (개체 단위로 나누기)
- 테이블 간 관계 설정 (외래키)
반응형
LIST
'정보처리기사 > 2장 데이터 입출력 구현' 카테고리의 다른 글
관계해석 정리 (0) | 2025.04.12 |
---|---|
관계대수 완전 정리 (0) | 2025.04.12 |
무결성과 제약조건 완전 정리 (0) | 2025.04.12 |
키(Key)의 종류와 특징 완전 정리 (0) | 2025.04.12 |
릴레이션 모델의 구성 요소 완전 정복 (0) | 2025.04.12 |