시작하며
이번주에는 Section 3의 데이터베이스 파트를 마무리하였다. MySQL을 이용한 스프린트를 진행하고 Sequelize를 통해 쿼리문을 사용하지 않고 객체 형태로 관계형 데이터베이스를 관리하는 방법을 익히며 SQL에 대한 이해를 높일 수 있었고, 추가로 NoSQL의 한 종류인 도큐먼트 데이터베이스 MongoDB를 학습하였다.
학습목표
관계형 데이터베이스
Cmarket Database
- ✅ SQL을 Node.js 앱에서 쿼리할 수 있다.
- ✅ 클라이언트의 HTTP 요청에 따라 CRUD API를 구현할 수 있다. (CRUD: Create, Read, Update, Delete)
ORM
NoSQL
MongoDB
- ✅ NoSQL의 장점 및 특징에 대해서 이해 할 수 있다.
- ✅ MongoDB의 도큐먼트(Document)와 컬렉션(Collection)에 대해 이해할 수 있다.
- JSON과 BSON의 차이점을 이해하고, 도큐먼트를 가져오거나 내보낼 수 있다.
- ✅ MongoDB의 Atlas에 대해 이해할 수 있다
- 클러스터(Cluster)와 레플리카 세트(Replica set)에 대해 이해할 수 있다.
- Atlas를 GUI(Graphical User Interface)와 shell 쿼리문으로 사용할 수 있다.
- ✅ MongoDB에서 CRUD를 할 수 있다.
- Insert(C), Find(R), Update(U), Delete(D)에 대한 쿼리문을 작성 할 수 있다.
- 연산자와 프로젝션(Projection)을 사용 할 수 있다.
- 배열과 서브 도큐먼트를 쿼리할 수 있다.
- ✅ Aggregation Framework를 사용하여 aggregate 명령어로 쿼리할 수 있다.
- $match, $project, $group 연산자를 사용할 수 있다.
마치며
한 주에 많은 내용을 압축해서 배운 느낌이라 복습하면서 머리속에 풀어서 넣는 과정이 필요하다고 느꼈다. SQL의 쿼리문, Sequelize를 통해 대신 사용할 수 있는 메소드들, 그리고 MongoDB까지 내용이 어렵지는 않았지만, 프로젝트를 진행할 때 적재적소에 사용할 수 있을 만큼 숙달되지 않기 때문에 연습이 많이 필요하다고 생각한다. 진행했던 스프린트들을 보고 작성했던 코드들을 다시 짚어보면서 복습할 예정이다. 그리고 다음주는 인증/보완 파트에 대해서 배우고 컴퓨터 공학에 대해서 학습하기 때문에 관련 내용들을 미리 찾아보면서 준비할 것이다.