3. 1차 정규형은 각 로우마다 컬럼의 값이 1개씩만 있어야 합니다. 이를 컬럼이 원자값(Atomic Value)를 갖는다고 합니다
2차 정규형은 테이블의 모든 컬럼이 완전 함수적 종속을 만족하는 것입니다. 기본키 중에 특정 컬럼에만 종속된 컬럼(부분적 종속)이 없어
야 한다는 것입니다.
3차 정규형은 기본키를 제외한 속성들 간의 이행적 함수 종속이 없는 것 입니다. 풀어서 말하자면, 기본 키 이외의 다른 컬럼이 그 외 다른
컬럼을 결정할 수 없는 것입니다.
4. 구조가 다르기에 One by One으로 옮기는 것은 무의미 하다.
Document에 컬럼명이 같이 들어간다.
5.
6.
7.
8.
9. 1차 정규화를 통한 데이터의 중복성 해결
1차 정규형은 각 로우마다 컬럼의 값이 1개씩만
있어야 합니다.
이를 컬럼이 원자값(Atomic Value)를 갖는다고
합니다. (RDBMS에서는 XML, JSON을 넣는 경우
도 있다)
2차, 3차를 통해 종속성
-> 데이터 무결성, 리소스 낭비를 방지
10. 정규화는 귤을 까는 것을 이야기할 수 있고, 쿠키 통의 쿠키를
먹는 것이 MongoDB의 스키마 결정이라고 할 수 있다.
RDBMS와 MongoDB는 귤과 쿠키를 먹는 방법이 다르듯이
데이터에 접근하는 방식이 다르다.
11. RDBMS에서는 배열 정보를 위해서
XML용 필드를 별도로 주는 경우도 있다.
RDBMS의 1차 정규화에 관련하여
MongoDB에서도 중복은 발생하지 않게 할 수 있다.
(2개의 테이블을 하나의 다큐먼트로 표시한 예
중복은 없음)
12. MongoDB의 스키마 디자인 기본 원칙은 다음과 같다.
기존 RDBMS는 데이터의 관점이지만 MongoDB는 어플리케이션 관점이다.