[데이터베이스] 데이터베이스 정규화
관계 스키마 설계
데이터베이스 설계에서 중요한 사항 중 하나가 현실 세계를 가장 정확하게 표현하기 위한 데이터의 논리적 구조를 결정하는 것
설계 원칙
필요한 속성, 개체, 관계성을 식별하여 릴레이션을 구성
불필요한 데이터의 중복이 발생하지 않도록 설계
속성 사이의 관계성과 데이터의 종속성을 고려하여 설계
효율적 데이터 처리와 일관성 유지 방법 등을 고려하여 설계
스키마 변환(Schema Transformation)
관련된 어트리뷰트를 수집하고 이들 간에 존재하는 종속성
을 파악하여 어트리뷰트의 집합인 릴레이션으로 만든 다음 보다 바람직한 형태의 릴레이션으로 다시 변환하는 과정
- 스키마 변환 원칙
공해의 원칙
정보 무손실 원칙
데이터 중복 감소의 원칙
이상(Anomaly) 현상
관계 스킴이 잘못되면 불필요한 데이터 중복을 초래하게 된다. 이러한 데이터 중복은 릴레이션을 조작할 때 곤란한 현상을 발생시키는 현상을 의미
-
삭제 이상(Delete Anomaly)
임의의 튜플을 삭제했을 때 그것과 관계를 형성하고 있는 관계성까지 모두 삭제되는 현상 -
삽입 이상(Insert Anomaly)
임의의 튜플을 삽입했을 때 삽입 의도가 없는 관계까지도 삽입되는 현상 -
갱신 이상(Update Anomaly)
임의의 데이터를 갱신했을 때 그것과 관계를 맺고 있는 데이터에 대해 일관성을 유지할 수 없는 현상
정규화 과정
하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해 나가는 과정
-
목적 구성되는 릴레이션이 중복되지 않게 효과적으로 데이터베이스 내에 표현이 가능하도록 한다 보다 간단한 연산자에 의해 효과적인 연산이 가능하도록 한다 릴레이션에 삽입 이상, 삭제 이상, 갱신 이상의 목제가 발생하지 않도록 한다 새로운 형태의 데이터가 삽입될 때 릴레이션을 재구성할 필요성을 감소시키도록 한다
-
필요성 자료의 저장 공간을
최소화
자료의 불일치를최소화
자료 구조안정화
자료의 삽입, 삭제, 갱신 시 이상 현상을방지
함수 종속
어떤 릴레이션 R에서 A, B가 릴레이션 R의 부분 속성이라고 할 때,
임의 시점에서 A의 어떤 값도 반드시 B의 하나의 값에 대응되지만, B의 하나의 값이 A의 복수의 값에 대응되는 경우 B는 A의 함수 종속이라 하고, A → B로 표기한다. 여기서 A는
결정자
, B는종속자
라 한다.
기본 정규형
제1정규형
어떤 릴레이션 R에 속한 모든 도메인이 원자값
(분해될 수 없는 값)으로만으로 되어 있다면 제1정규형에 속한다.
제2정규형
어떤 릴레이션 R이 제1정규형에 속하고 기본키에 속하지 않는 모든 속성이 기본키에 완전 함수적 종속
(부분 함수 종속 제거)이면 제 2정규형에 속한다.
기본키의 부분집합이 결정자가 되어선 안된다는 것을 의미.
- 완전 함수 종속성
A, B가 각각 관계 R의 속성이고 B가 A에 함수 종속(A→B)인 경우, A의 임의의 부분 집합에 대하여 B의 어떤 값도 A의 부분 집합의 값에 대응하지 않으면 B는 A에 완전함수(적) 종속
제3정규형
어떤 릴레이션 R이 제2정규형에 속하고 기본키에 속하지 않는 모든 속성이 기본키에 이행적 함수 종속
이 아니면 제3정규형에 속한다
- 이행 함수 종속성
A, B, C가 각각 관계 R에 상호 중복되지 않는 속성(다만, A는 1차 키 이외의 속성)인 경우에, A가 B에 함수 종속적이 아니면 이때 C는 A에 이행함수 종속이라고 한다. A->B 이고 B->C 일 경우에만 A->C 이면 이행함수(적) 종속이라고 한다.
보이스 코드 정규형(Boyce-Codd Normal Form : BCBF)
릴레이션 R의 모든 결정자
가 후보키
이면 릴레이션 R은 BC(Boyce-Codd)정규형에 속한다.
-
슈퍼키
레코드를 유일하게 식별해낼 수 있는 속성들의 집합이다. 한 개의 테이블은 여러 개의 슈퍼키를 가질 수 있다. -
후보키
슈퍼 키에서 레코드를 유일하게 식별하는데 있어서 필요없는 속성을 제거한 슈퍼 키의 부분집합
제4정규형
릴레이션 R에 비당연 MVD
A-»B가 존재할 때 R의 모든 속성도 A에 함수 종속이면 릴레이션 R은 제4정규형에 속한다
- 다치 종속성(MVD)
어떤 레코드의 존재가 다른 레코드의 존재로 이어짐을 의미한다. 다치종속성은-»으로 표시하는데, R{A,B,C}일 때 (A,C)-»{B}≡(A) ->{B} 성립한다. , A-»B이면 A-»C도 성립하고 A-»B│C이다.
제5정규형
릴레이션 R에 존재하는 모든 조인 종속
(JD)이 릴레이션 R의 후보키를 통해서만 성립된다면 릴레이션 R은 제5정규형 또는 PJ/NF(Projection-Join Normal Form)에 속한다
- 조인 종속
릴레이션 R이 그의 프로젝션 A,B,…..,Z의 조인과 동일하면 R은 JD*(A,B,….,Z )를 만족한다. 이때 A,B,….,Z는 R의 애트리뷰트에 대한 부분집합이다.
다시말해서, 테이블 R이 R의 속성의 부분집합을 가지는 여러 개의 테이블들을 조인하여 만들어질 수 있을 때, R은 조인 종속성을 가진다고 한다.
댓글남기기