Notice
Recent Posts
Recent Comments
05-13 12:22
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

-

[SQLD] #007 데이터 모델과 성능 - 정규화와 성능 본문

SQLD

[SQLD] #007 데이터 모델과 성능 - 정규화와 성능

choiht 2021. 4. 20. 17:28
반응형

목차

1. 정규화를 통한 성능 향상 전략

2. 함수적 종속성에 근거한 정규화 수행 필요

 

 


 

 

1. 정규화를 통한 성능 향상 전략

정규화를 수행하는 것 : 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것. 데이터의 중복속성을 제거하고 결정자에 의해 동일한 의미의 일반속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용량이 최소화되는 효과가 있다. 

 

 

위 사진처럼 정규화 수행 모델은 반정규화된 테이블에 비해 처리 성능이 향상된다. 

단, 데이터를 조회할 때에는 처리 조건에 따라 조회 성능이 향상될 수도, 저하될 수도 있다. 

 

 

 

 

 

 

 

 

2. 함수적 종속성 (Functional Dependency) 에 근거한 정규화 수행 필요

함수의 종속성 : 데이터들이 어떤 기준값에 의해 종속되는 현상을 지칭하는 것. 이 때 기준값을 결정자, 종속되는 값을 종속자 라고한다. 

 

 

위 사진에서 이름, 출생지, 주소는 주민등록번호 속성에 종속된다. 즉, '주민등록번호가 이름, 출생지, 주소를 함수적으로 결정한다' 라고 말할 수 있다. 

 

함수의 종속성은 데이터가 가지고 있는 근본적인 속성으로 인식되고 있다. 정규화의 궁극적인 목적은 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하는 것이므로 이 함수의 종속성을 이용하여 정규화 작업이나 각 오브젝트에 속성을 배치하는 작업을 한다. 

 

기본적으로 데이터는 속성간의 함수종속성에 근거하여 정규화되어야 한다. 프로젝트 수행에서 정규화는 선택이 아니라 필수 사항이다. 

 

 

 

 

 

 


출처
이 글의 내용은 모두 한국데이터베이스진흥원이 출판한 SQL 전문가 가이드 2013 Edition을 기본으로 한다.

반응형
Comments