728x90
MongoDB에서의 명령어들을 배우기 전에 MongoDB에서 데이터 모델링의 기본을 먼저 보고 가겠다.
- schema 디자인할 때 고려사항
- 사용자 요구(User Requirement)에 따라 schema를 디자인한다.
- 객체들을 함께 사용하게 된다면 한 Document에 합쳐서 사용한다.(ex. 게시물 - 댓글 관계)
- 그렇지 않으면 따로 사용해야 한다.(join은 사용하지 않는다.)
- 읽을 때 join하는게 아니라 데이터를 작성할 때 join한다.
- 예제
- 간단한 블로그를 위한 데이터베이스를 디자인한다고 가정한다.
- 요구사항
- 게시글에는 작성자 이름, 제목, 내용이 담겨 있다.
- 각 게시글은 0개 이상의 태그를 가지고 있을 수 있다.
- 게시글엔 댓글을 달 수 있다. 댓글은 작성자 이름, 내용, 작성 시간을 담고 있다.
- RDMS에서 데이터베이스 schema 디자인
- RDMS라면 테이블 3개를 만들어야 효율적이다.
- NoSQL에서는 모든 것을 하나의 Document에 넣는다.
-
{ _id: **POST_ID**, title: POST_TITLE, content: POST_CONTENT, username: POST_WRITER, **tags**: [ TAG1, TAG2, TAG3 ], time: POST_TIME **comments**: [ { username: COMMENT_WRITER, mesage: COMMENT_MESSAGE, time: COMMENT_TIME }, { username: COMMENT_WRITER, mesage: COMMENT_MESSAGE, time: COMMENT_TIME } ] }
-
- 요구사항
- 간단한 블로그를 위한 데이터베이스를 디자인한다고 가정한다.
참고한 사이트 :
728x90
반응형
'Database > MongoDB' 카테고리의 다른 글
MongoDB - 배열 쿼리 - (1) (0) | 2021.12.19 |
---|---|
MongoDB - Document Query(조회) - (2) (0) | 2021.12.18 |
MongoDB - Document Query(조회) - (1) (0) | 2021.12.18 |
MongoDB - Database/Collection/Document생성,제거 (0) | 2021.12.18 |
MongoDB 소개, 설치 (0) | 2021.12.17 |