Skip to content

Latest commit

 

History

History
58 lines (32 loc) · 2.65 KB

db-normalization.adoc

File metadata and controls

58 lines (32 loc) · 2.65 KB
  • 완전 함수적 종속(Full Functional Dependency) : X → Y일 때 X가 Y의 속성값을 유일하게 결정하기 위한 최소한의 속성들만을 포함하는 경우.

  • 부분 함수적 종속(Partial Functional Dependency) : X → Y 인 경우, Y가 X의 부분집합인 Z에 대해서도 함수적으로 종속인 경우 Y는 X에 대해 부분 함수 종속을 가지고 있음.

  • 이행 함수적 종속(Transitive Functional Dependency) : (X → Y) & (Y → Z) 일경우 X → Z가 성립되는 종속.

정규화

불필요한 데이터의 중복을 제거하여 데이터모형을 단순화하는 작업으로 다양한 검사를 통하여 데이터모델을 보다 구조화하고 개선시켜 나가고자 하는 일련의 과정

정규화의 목적

자료 저장 공간의 최소화,

DB내 데이터의 불일치 위험을 최소화

자료의 수정, 삭제에 따른 예기치 않은 오류의 최소화하여 데이터구조의 안정성 최대화

정규화의 문제점

정규화로 인한 테이블의 개수 증가로 인하여 Join이 많이 발생하여 응답속도의 지연이 있을 수 있음 특정시점의 정보를 표현하기 위해 이력관리 엔티티의 발생 및 업무규칙 수용 난이도가 증가 제 3정규화 이상의 정규화를 수행 하는 경우 데이터 공간의 비효율적인 활용이 발생할 수 있습니다.

정규화 단계

제1차 정규화

반복적인 그룹속성의 제거. 반복 또는 복수 값을 갖는 속성의 제거.

반복적인 그룹 속성제거, 키추가, 1대 N 관계로 만든다.

제2차 정규화

부분함수종석 제거.

기본키(Primary Key)에 종속되지 않는 속성, 즉 기본키의 일부에만 종속되는 속성의 제거. 즉 모든 속성은 반드시 엔티티 식별자에 전부 종속되어야 한다. 복합키일때

제 3차 정규화

이행함수 종석 제거.

기본키가 아닌 속성에 종속적인 속성의 제거. 키가 아닌 속성끼리 종속관계가 있을 경우 이를 별도의 테이블로 분리. 삽입이상, 삭제이상 제거.

제4차 정규화

특정 속성값에 따라 선택적인 속성의 제거

보이스-코드 정규화

여러 개의 후보 키(주 키가 될 수 있는 속성)가 존재하는 경우에는 속성간의 종속이 남아있을 수 있다.