정규화
개념 : 데이터 중복을 제거하고 데이터 모델의 독립성을 확보하기 위한 방법
정규화 절차
· 제 1 정규화 : 함수적 종속성을 근거로 하여 속성의 원자성 확보와 기본키 설정을 한다.
더보기
※ 함수적 종속성
X와 Y가 부분집합일때 X의 값을 알면 Y의 값을 바로 식별할 수 있고, X의 값에 Y의 값이 달라질 때, Y는 X에 함수적 종속이라고 한다. 이 경우 X를 결정자, Y를 종속자라고 한다.
· 제 2 정규화 : 기본키가 2개 이상의 속성으로 이루어진 경우 부분함수 종속성을 제거한다.
더보기
※ 부분함수 종속성
종속자가 기본키가 아닌 다른속성에 종속되거나, 기본키가 여러 속성으로 구성되어 있을 경우 기본키를 구성하는 속성 중 일부만 종속되는 경우다.
· 제 3 정규화 : 이행함수 종속성을 제거한다. 제1 정규화와 제2 정규화를 시행한후 해야한다.
더보기
※ 이행함수 종속성
X -> Y , Y->Z일때 X -> Z가 성립되는 것을 말한다.
· BCNF : 기본키를 제외하고 후보키가 있는 경우 후보키가 기본키를 종속 시키면 분해한다.
· 제 4 정규화 : 여러 칼럼들이 하나의 칼럼을 종속시키는 경우 분해하여 다중값 종속성을 제거 한다.
· 제 5 정규화 : 조인에 의해서 종속성이 발생되는 경우 분해한다.
정규화의 장단점
· 장점 : 데이터 중복을 제거하기 때문에 데이터 모델의 유언성을 높인다.
· 단점 : 데이터 조회시에 조인을 유발해서 CPU와 메모리를 많이 사용한다.
'잡다한 이야기에 관하여 > SQLD' 카테고리의 다른 글
SQLD [ 데이터 모델링의 이해 - 9] (0) | 2022.05.22 |
---|---|
SQLD [ 데이터 모델링의 이해 - 8] (0) | 2022.05.20 |
SQLD [ 데이터 모델링의 이해 - 6] (0) | 2022.05.15 |
SQLD [ 데이터 모델링의 이해 - 5 ] (0) | 2022.05.14 |
SQLD [ 데이터 모델링의 이해 - 4 ] (0) | 2022.05.14 |