자격증

정보처리기사 정규화 과정(2) 4NF, 5NF

soup_ 2024. 1. 24. 09:30
반응형

제4정규형(4NF)

4NF는 BCNF를 만족하면서 다치 종속을 제거하는 과정이다.

다치 종속은 아래와 같다.
A, B, C 3개의 속성을 가진 릴레이션에서 복합 속성 (A, C)에 대응하는 B값의 집합이
A에만 종속되고, C에는 무관하다면 B는 A에 다치 종속이라 한다. (A->>B)

즉 4NF는 모든 속성이 A에 함수적 종속 관계를 만족하도록 해야한다.

이름 자격증 언어
홍길동 정보처리기사 C
김철수 SQLD C++
박이동 빅데이터분석기사 JAVA

위의 테이블을 보면 이름, 자격증에 대응하는 언어의 집합이 이름에만 종속되고, 자격증과는 무관한 관계이다.
이때 다치 종속을 제거하려면 아래와 같이 릴레이션을 분리하여 제거한다.

이름 자격증
홍길동 정보처리기사
김철수 SQLD
박이동 빅데이터분석기사
이름 언어
홍길동 C
김철수 C++
박이동 JAVA

 

제5정규형(5NF)

4NF를 만족하면서 조인 종속성을 제거하는 과정이다.

조인 종속성하나의 릴레이션을 여러개의 릴레이션으로 분해하였다가, 다시 조인했을 때 데이터 손실이 없고 필요없는 데이터가 생기는 것을 말한다. 조인 종속성은 다치 종속의 개념을 더 일반화한 것이다.

이름 자격증
홍길동 정보처리기사
김철수 SQLD
박이동 빅데이터분석기사
자격증 언어
정보처리기사 C
SQLD C++
빅데이터분석기사 JAVA

4NF에서 분해했던 위의 테이블을 조인하면 원래의 테이블보다 데이터가 더 늘어난다.

이름 자격증 언어
홍길동 정보처리기사 C
홍길동 정보처리기사 C++
홍길동 정보처리기사  JAVA
홍길동 SQLD C

.(생략)
.
,

5NF를 만족하기 위해 테이블을 분리하면 아래와 같다.

이름 자격증
홍길동 정보처리기사
김철수 SQLD
박이동 빅데이터분석기사
자격증 언어
정보처리기사 C
SQLD C++
빅데이터분석기사 JAVA
이름 언어
홍길동 C
김철수 C++
박이동 JAVA
반응형