본문 바로가기

프로그래밍/정보처리기사

정보처리기사 1과목 데이터베이스 정규화

http://blog.naver.com/wlsgkr91/220906677234


1.정규화의 개요

-정규화란 함수적 종속정 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정이다.

-하나의 종속성이 하나의 릴리에션에 표현될 수 있도록 분해해가는 과정이라 할 수 있다.

-정규형에는 제1정규형,제2정규형,제3정규형 BCNF형,제4정규형,제5정규형이 있으며, 차수가 높아질수록 만족시켜야 할 제약조건이 늘어난다.

-정규화는 데이터베이스의 논리적 설계 단계에서 수행.

-정규화는 논리적 처리 및 품질에 큰 영향을 미친다.


2.정규화의 목적

-데이터 구조의 안정성을 최대화 한다.

-어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.

-효과적인 검색 알고리즘을 생성할 수 있다.

-중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다.

-데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.


3.Anomaly의 개념 및 종류

-정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데, 이를 이상이라 하며 다음과 같이 삽입 이상, 삭제 이상, 갱신 이상이 있다. 


삽입이상: 릴레이션에 데이터를 삽입할 때 의도와는 상관 없이 원하지 않는 값들도 합께 삽입되는 현상

삭제이상: 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관 없는 값들도 합께 삭제되는 연쇄 삭제 현상이 일어나는 현상.

갱신이상: 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상.


4.정규화의 원칙

-정보의 무손실 표현, 즉 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있어서는 안 된다.

-분리의 원칙, 즉 하나의 독립된 관계성은 하나의 릴레이션으로 분리시켜 표현해야 한다.

-데이터의 중복성이 감소되어야 한다.


5.정규화 과정

1NF(제1정규형)

-1NF는 릴레이션에 속한 모든 도메인이 원자값만으로 되어 있는 릴레이션이다.

-릴레이션의 모든 속성이 단순 영역에서 정의된다.


-2NF(제2정규형)

-2NF는 릴레이션 R이 1NF이고, 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족한다.

(함수적종속관계: 수강 릴레이션이 학번,이름,과목명으로 되어있을 때 학번이 결정되면 과목명에 상관없이 학번에는 항상 같은 이름이 대응된다. 학번에 따라 이름이 결정될 때 이름을 학번에 함수 종속적이라고 하며 학번-->이름과 같이 쓴다.) 

(완전함수적종속관계:속성 A가 다른 속성들의 집합 B전체에 대해서 함수적 종속 관계를 갖지만 집합 B의 진부분집합에 대해서는 종속 관계를 갖지 않으면, 속성 A는 집합 B의 속성들에 대해 완전 함수적 종속 관계에 있다고 한다.)

수강 릴레이션이 학번,과목명,성적으로 되어있을 때, 성적은 학번, 과목명에는 함수 종속이지만 학번이나 과목명에는 함수 종속이 아니다. 


3NF(제3정규형)

-릴레이션 R이 2NF이고, 키가 아닌 모든 애트리뷰트가 기본키에 대해 이행적 종속관계를 이루지 않도록 제한한 관계형이다.

-무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF설계를 얻을 수 있다. 


BCNF(Boyce-Codd 정규형)

-릴레이션 R에서 결정자가 모두 후보키인 관계형이다.

-3NF에서 후보키가 많고 서로 중첩되는 경우에 적용하는, 강한 제3정규형이라고도 한다.

-모든 BCNF가 종속성을 보존하는 것은 아니다.

BCNF의 제약 조건

-키가 아닌 모든 속성은 각 키에 대하여 완전 종속해야 한다.

-키가 아닌 모든 속성은 그 자신이 부분적으로 들어가 있지 않은 모든 키에 대하여 완전 종속해야 한다.

-어떤 속성도 키가 아닌 속성에 대해서는 완전 종속할 수 없다.


4NF(제4정규형)

-릴레이션 R에 A->B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속이면 이 릴레이션 R은 제 4정규형에 속한다.

(다치종속-A,B,C 세 개의 속성을 가진 릴레이션 ㄱ에서 어떤 복잡 속석에 대응하는 B 값의 집합이 A값이면 종속되고 C값에는 무관할 때 다치 종속 R'A-->-->R'B가 존재한다.)


5NF(제5정규형)

-릴레이션 R의 모든 조인 종속성의 만족이 R의 후보키를 통해서만 만족될 때 그 릴레이션 R은 제5정규형 또는 PJ/NF에 속한다. 


조인종속JD/정규화 과정 정리

조인종속

-어떤 릴레이션 R이 자신의 Projection에 대한 조인의 결과가 자신과 같을 때 조인 종속은  R의 속성 집합의 부분집합입니다.

정규화 과정 정리

도부이결다조

도메인이 원자값

부분적 함수 종속 제거

이행적 함수 종속 제거

결정자이면서 후보키가 아닌 것 제거

다치 종속 제거

조인 종속성 이용