정규화
· 약 4분
정규화의 개념
- 이상현상을 야기하는 속성 간의 종속관계를 제거하기 위해 릴레이션을 여러 작은 릴레이션으로 무손실분해하는 과정
- 이상현상제거, 안정성확보, 자료 불일치성 최소화, 중복제거로 인한 저장공간 효율화
정규화의 절차, 함수종속성, 이상현상
도부이결다조
정규화의 절차
구분 | 절차 | 비고 |
---|---|---|
제1정규형 (1NF) | 원자값이 아닌 도메인 분해 | 데이터 중복 높음 / Join 적음 / 결합성 낮음 |
제2정규형 (2NF) | 부분함수 종속성 제거 | 데이터 중복 감소 |
제3정규형 (3NF) | 이행함수 종속성 제거 | 데이터 중복 추가 감소 |
BCNF정규형 | 결정자가 후보키가 아닌 함수종속 제거 | 모든 결정자는 후보키 |
제4정규형 (4NF) | 다중값 종속성 제거 | 다중값 종속성을 제거하여 데이터 중복 최소 |
제5정규형 (5NF) | 조인 종속성 제거 | 데이터 중복 낮음 / Join 많음 / 결합성 높음 |
- 무손실 분해와 함수적 종속성 제거를 통한 이상현상 제거
함수 종속성
- 데이터들이 어떠한 기준 값에 의해 항상 종속되는 현상
- 종속자는 결정자에 하수적 종속성을 가짐, X->Y
이상현상 개념, 유형
이상현상의 개념
- 릴레이션의 데이터 중복관리로 인해 데이터 조작시 발생하는 의도치 않은 결과를 초래하는 비합리적 현상
이상현상의 유형
구분 | 내용 | 영향 |
---|---|---|
삽입이상 | 릴레이션 내 하나의 튜플 삽입시 원하지 않은 추가 데이터 삽입 | 중복 데이터 발생 가능성 |
삭제이상 | 릴레이션 내 하나의 튜플 삭제시 유지되어야할 정보까지 연쇄 삭제 | 중요 데이터 손실 위험 |
갱신이상 | 중복 튜플 중 일부를 업데이트할 때 정보의 모순성 발생 | 데이터 불일치 문제 발생 |
정규화시 고려사항
- 정규화 진행시 테이블과 Join 수가 많아지므로, DX(개발자 경험) 향상을 위해 역정규화 과정도 필요함.