| RDB | MongoDB |
|---|---|
| Database | Database |
| Table | Collection |
| Tuple / Row | Document |
| Column | Field |
| Primary KEY | Primary KEY (_id) |
RDB는 테이블 구조가 리소스(현실의) 구조이다.
< Car Table >
Column: Kinds, User, Cost
1. 페라리, 송가희, 5000
2. 산타페, 송가희, 6000
3. 벤츠, 송가희, 8000
< User Table >
Column: User, Age, Gender
1. 송가희, 38, 여
위의 예제는 RDB 스키마 구조이다.
Car Table 과 User Table 에 공통된 User 필드가 존재하며, 이를 JOIN 할 것이다.
MongoDB는 비관계형 데이터베이스인 NoSQL이다.
MongoDB는 JOIN 대신, Embedded Document 구조를 통해 두 Collection을 합친다.
< User Collection >
{
송가희,
38,
여,
자동차: [
{
페라리,
5000
},
{
산타페,
6000
},
{
벤츠,
8000
}
]
}

자동차는 자주 변경되는 데이터가 아니다.
즉, Collection으로 따로 빼기 보다는 같은 Collection 안에서 Array 의 형태로 넣는 것이 좋다.
그러나 Array 안에 들어가는 객체나 필드 양이 많아진다면 따로 빼는 것도 고려해보자!