책뿌수기 - 기초가 든든한 데이터 베이스 12
Ch 12. 정규화 Section 1. 이상 현상 anomaly : 불필요한 NULL이 삽입되거나, 연쇄 삭제, 데이터 일관성이 깨지는 현상 1.1 삽입 현상(insertion anomaly) 데이터 삽입 시 특정 열에 해당하는 값이 없어서 필요하지 않은 NULL을 강제로 입력해야 하는 현상 예) 신규 회원이 가입 되어 회원 정보를 넣지만 주문 정보가 없어 주문 정보를 NULL로 채워야 하는 상황 1.2 삭제 이상(delete anomaly) 데이터 삭제 시 유용한 다른 데이터까지 함께 삭제되는 현상 예) 주문을 취소했는데 회원 정보까지 사라짐 1.3 수정 이상(update anomaly) 중복 데이터중에서 일부만 수정되어 데이터의 불일치 문제가 불생하는 현상(inconsistency) Section 2. 정규화 normalization 이란 anomaly를 테이블 설계를 수정해 정상적으로 만드는 과정 관계형 데이터베이스에 저장될 구조의 중복을 최소화 하는 과정 이렇게 표현된 테이블이 어떤 특정의 제약 조건ㅇㄹ 만족하면 그 제약조건으로 정의된 정규형에 속하게 된다. 2.1 제 1 정규형 하나의 셀에는 하나의 값만 저장할 수 있다. 이 과정에서 기본키가 변경 될 수 있음 2.2 제 2 정규형 기본키 열과 기본 키가 아닌 열 간의 종속 곤계가 있을 경우 이를 별도의 테이블로 분리하는 과정 부분 종속을 없애는 과정 제 1 정규형이고, 키에 속하지 않는 속성 모두가 기본키에 완전 함수 종속이면, 제 2 정규형이다. 2.3 제 3 정규형 기본 키가 아닌 열끼리 종속 관계가 있을 경우 이를 분리하는 과정 제 2 정규형이고, 키에 속하지 않는 모든 속성들이 기본키에 이행적함수 종송이 아닐 때 제 3정규형에 속한다. 2.4 정규형 요약 DB 이론으로 제시된 정규형 필요시 참고 2.5 비정규화 정규화 이후에 성능 때문에 고려해 보는 것 분리된 테이블을 성능 향상(Join을 피하기 위해)을 위해 다시 합쳐야 하는 경우