제 1정규형
정의) 릴레이션R의 모든 속성 값이 원자값을 가지면 제 1정규형이라고 함.
방법) 한 튜플의 한 속성에서 여러 값을 가지지 않도록 만들어주면 된다.
ex) 밑처럼 바꾸면 제 1정규형 만족
원래 릴레이션
이름 |
취미들 |
코몽 |
인터넷, 운동 |
정규화 후
이름 |
취미 |
코몽 |
인터넷 |
코몽 |
취미 |
제 2정규형
정의) 제 1정규형을 만족하고, 기본키가 아닌 속성이 기본키에 완전 함수 종속.
종속: A값만으로도 B값을 알 수 있음. 완전 종속 : A->B일 때, B가 A 속성 전체에만 함수 종속
(일부(부분집합)만으로도 종속관계 성립하면 불완전: (A1, A2)->B이면서 A1->B도 성립하면 불완전)
방법) 함수종속이 만족되는 부분집합을 없애버린다.
ex) (주민번호, 주소) ->이름 : 불완전 => 2정규화 => 주민번호->이름 : 완전
제 3정규형
정의) 2만족하고, 기본키가 아닌 속성이 기본키에 비이행적(non-transitive)으로 종속할 때(직접종속)
이행적 종속: A->B->C 일 때, A->C 성립되는 함수 종속
방법) 한 릴레이션에 묶여있는 속성들을 두 개의 릴레이션으로 나눠준다.
EX) 학생번호 -> 강좌이름 -> 수강료 (하나의 표로 묶여 있음) = 학생번호 -> 수강료
이걸 학생번호 -> 강좌이름, 강좌이름 -> 수강료 두 개로 나눠주면 3정규화 한 거
BCNF 보이스코드형 정규형
정의) X->Y(함수종속)가 성립할 때, 모든 결정자 X가 후보키
방법) 기본키가 아닌 애가 기본키처럼 다른 애와 종속관계를 맺는 것을 못하게 끊어버리면 됨
EX) 특강 릴레이션의 속성은 (교수번호, 특강이름, 교수이름)이고 후보키가 (교수번호, 특강이름)일 때, 교수번호는 교수이름과, 교수이름은 특강이름과 함수종속관계가 되어버림.
=> 특강릴레이션을 R1 (교수번호, 특강이름), R2 (특강이름, 교수이름)으로 분해
'데이터베이스 DB > 서버 디비' 카테고리의 다른 글
쿠키 Cookie 뜻, 특징 (0) | 2021.05.24 |
---|---|
XML, HTML, JSON 차이 (0) | 2021.05.24 |
데이터 비식별화 (0) | 2020.08.16 |
ORM, JPA (0) | 2020.06.04 |
H2 connection (0) | 2020.06.04 |
댓글