본 자료는 Elice 플랫폼의 자료를 사용하여 정리하였습니다.
이상현상과 정규화
이상현상이란?
이상현상 종류
- 삽입이상 : 데이터를 삽입할 때 불필요한 내용까지 삽입해야 하는 문제
- 갱신이상 : 중복된 데이터 중 일부만 갱신되어 발생하는 문제
- 삭제이상 : 어떤 데이터를 삭제할 때 다른 유용한 정보도 함께 삭제되는 문제
함수종속성
- 속성들간의 종속관계
- 완전함수종속, 부분함수종속, 이행함수종속등이 있으며 함수 종속성에 대하 알아야 이상현상을 제거하기 위한 정규화를 이해할 수 있다.
정규화
- 이상현상을 제거하기 위해 데이터베이스를 구조화하는 과정
- 데이터간의 종속성을 제거하여 중복되는 데이터를 줄인다.
- 데이터의 일관성과 무결성을 보장
- 1차 ~ 5차 정규화, 보이스코드 정규화가 있다.
1차 정규화(1NF)
- 테이블의 컬럼이 하나의 값만 갖도록 도메인을 원자값으로 설정하는 과정
2차 정규화(2NF)
이상현상
- 삽입이상 : 한번도 대여를 하지 않은 고객을 삽입할 수 없다.
- 갱신이상 : 하나의 튜플에서만 이름을 변경하면 데이터의 불일치가 발생
- 삭제이상 : 브랜드 대여 기록을 삭제하면 고객의 데이터가 완전히 사라진다.
부분함수종속
3차 정규화
이상현상
- 삽입이상 : 고객이나 대여이력이 없는 경우 새로운 회사가 만든 브랜드를 삽입할 수 없다.
- 갱신이상 : 브랜드명이 변경되는 경우 데이터의 불일치가 발생
- 삭제이상 : 고객의 대여기록을 삭제하면 회사의 데이터가 완전히 사라진다.
이행함수종속
- X → Y, Y → Z 라는 종속관계가 있을 때, X → Z가 성립하는 경우
→ 대여 테이블과 회사 테이블로 분해하여 이행함수종속을 제거
→ 대여 테이블과 가격 테이블을 분해하여 이행함수종속을 제거

- 이행함수종속을 제거하도록 테이블을 분해하는 과정
정규화 정리

BNCF
다치종속
- 키로 묶여있어서 쓸모없는 데이터가 추가되어야 하는 문제
조인종속
- 테이블을 분해하고 다시 합쳤을 때 불필요한 튜플이 발생
역정규화
- 정규화된 데이터베이스의 성능을 개선하기 위해 다시 통합하여 구조를 재구성