이 글은 아래의 영상을 보고 작성했다.
https://www.youtube.com/watch?v=rVxcheAkMSk
정규화란
- 데이터 중복을 해소하기 위해서 Relation을 분해화는 과정이다
예시)함수적 종속 관계 FD 다이어그램
{학번, 과목번호} -> 성적
학번 -> 지도교수
학번 -> 학과
지도교수 -> 학과
제 1 정규형 : 원자값이 아닌 도메인(속성)을 분해 (중복되는 속성이 원자값을 가질 때까지 분해)
- 원자값이 아닌 도메인을 분해한다 --> 1 정규형을 만족한다
- 즉 중복된 속성을 제거한다.
- 어떤 Relation R에 속한 모든 모데인이 원자값으로 구성되어 있다면 1NF(제 1 정규현)를 만족한다.
제 2 정규형 : 부분함수 종속성 제거
- 기본키를 중심으로 종속이 되지 않는 경우
- (B -> C) B가 C를 결정하는 경우(B : 결정자, C : 종속자)
제3 정규형 : 이행(이동할 이, Transfer)함수 종속성 제거
- (E -> F) E가 F를 결정하는 경우(E : 결정자, F : 종속자)
BCNF(Boyce-Codd Normal Form) : 결정자가 후보키가 아닌 함수 종속성 제거
예시)함수적 종속 관계 FD 다이어그램
{학번, 과목} -> 교수
교수 -> 과목
- (D->A) D가 A를 결정하는 경우(D : 결정자, A : 종속자) 에 종속되는 부분
--> 결정자가 후보키가 아닌 함수를 제거한다.
--> 결정자가 후보키가 아니고 종속자가 기본키의 부분집합인 속성을 분해
- A가 부분 기본키인데, BCNF가 발생하면 B만 기본키로 남기때문데 다시 Table과 Attribute의 속성을 대해 재구성 여부 확인에 들어간다.
제 4 정규형 : 다중 종속성 제거
- 릴레이션 R에서 속성 A ->> B가 존재할 때 모든 속성도 속성 A에 종속될 수 있도록 분해(A기준 분해)
제 5 정규형 : 후보키를 통하지 않은 조인 종속성 제거
- 릴레이션 R을 셋으로 분해하여야만 조인을 통해서 원본 조회가 가능
참조
'나의 FE피봇이야기 > Dev_Knowledge' 카테고리의 다른 글
[Machine Learning]공부해보기 (0) | 2023.04.09 |
---|---|
[DMBS] 데이터 모델링 관점 (0) | 2023.03.01 |
[DBMS]Nested Loop, Sort_Merge and Hashed Join (0) | 2023.02.26 |
[DMBS]식별자 비식별자, 외래키 (0) | 2023.02.25 |
[DBMS]ERD 모델을 Relational Model 변환 규칙 (0) | 2023.02.22 |