정규화

반응형
* 용어
- 릴레이션 : 테이블을 가리킴 [1]은 대학이라는 릴레이션을 보여주고 있다.
- 기본키 : 어떤 릴레이션(테이블)을 구분할 수 있는 대표 속성(들)
- 합성키 : 기본키가 2개이상의 속성으로 구성되는 경우 합성키라고 한다. [1]에서는 학번과 수강과목이 합성키를 구성하고 있다.
- 도메인  :
- 원자값  :
- 결정자 : 어떤 릴레이션을 구분할 수 있는 속성 < 기본키
- 후보키 :
- 튜플 :
- 복합애트리뷰트 :
- 함수종속성 :  어떤 속성이 다른 속성으로 구분이 가능한 경우 함수종속적이라고 한다.
- 부분함수적종속성 : 릴레이션의 어떤 속성이 합성키를 이루고 있는 속성 중 하나에 함수종속적일때 이를 가리켜 부분함수적종속성이라고 한다.
                                     [1]에서는 점수라는 속성은 학번, 수강과목이라는 합성키에 함수종속적이지만,
                                     학생이름,학년,학과는 학번에 함수종속적
                                     학점,교수,개설학과는 수강과목에 함수종속적이다.
                                     이처럼, 합성키를 구성하는 한 속성에 함수종속성을 갖는 경우가 부분함수적종속성이라고 한다.
- 이행종속성 :

[1]
1-prettyyoon1.gif

* 정규화 -보강필요
- 1차 정규화
: 어떤 릴레이션 R이 속한 모든 도메인이 원자값 만으로 되어 있는 릴레이션

-2차 정규화
: 어떤 릴레이션R이 1NF이고 기본키에 속하지 않은 속성 모두가 기본키에 완전 함수종속이면 그 릴레이션은 2차 정규형
부분 함수적 종속성을 갖는 릴레이션은 이상을 일으키기 때문에(어떤이상??),
부분 함수적 종속성을 갖는 속성 그룹을 하나의 작은 릴레이션으로 분해해야 한다.
이러한 과정을 거쳐 분해된 릴레이션을 2정규형이라고 한다.

[1]의 릴레이션을 완전 함수적 종속을 이루려면 릴레이션을 학생, 과목, 수강이라는 릴레이션으로 분해해야 한다.
학생 릴레이션에서는 학번,
과목 릴레이션에서는 수강과목,
수각릴레이션에서는 학번과 수강과목이 릴레이션의 결정자이며, 각 릴레이션의 기본키이다.
릴레이션의 분해를 통해 삽입, 삭제,갱신시 발생하는 이상들을 제거할 수 있다.

얻게되는 네가지 이득은
1. 데이이상이 발생한다. 삽입, 삭제, 갱신시 이상이 발생한다.
2. 정보의 손실없이 자료를 삭제, 삽입, 갱신하는데 자유로워졌다.
3. 중복된 데이터를 제거하여 기억장소의 절약 효과를 얻었다.
4. 분해된 릴레이션들이 하나의 개체를 설명하기 때문에 데이터베이스의 개념이 구분정리되며 명확해졌다.

[2]
1-prettyyoon2.gif

-3차 정규화
:어떤 릴레이션 R이 1NF이고 기본키에 속하지 않은 속성 모두가 기본키에 이행종속이 아닌 릴레이션

* 정규화의 장점
- 최소의 데이터로 최적의 데이터베이스구축 및 데이터 중복성 제거
- 종속성 삭제로 데이터의 일관성과 무결성 보장
- 릴레이션에서 발생 가능한 이상현상 제거
- 중복의 최소화로 저장공간의 효율화 달성

*정규화의 단점
- 빈번한 join 연산 증가 : 시스템 실행과다 및 비효율적 검색시간
- 과다한 검색 조건문 발생으로 부자연스러운 데이터베이스 semantics 초래 우려

그러므로,
정규화 완료 후 업무특성과 검색시간을 확보하여 비정규화 수행으로 시스템의 유연성 확보가 필요하다.

-online processing 위주 데이터 : 소규모 정규화
- 조회용 데이터의 별도구성 : 비정규화
- 배치용 데이터 : 비정규화

http://blog.daum.net/saskkscpxl/3997655
반응형

'T-prj' 카테고리의 다른 글

study 시작..  (0) 2009.10.14
S/W 공학..  (0) 2009.10.12
다시한번 심기 일전으로 시험 준비 시작!!  (0) 2009.10.12

Top