Model
- View
- Controller
각자 영역으로 나눠진 디자인 패턴
Model
: DB, Controller와 연결됨
모델은 엔티티를 객체로 표현한 형태로, 데이터 구조를 기술하고, 데이터에 수행할 수 있는 명령의 모음을 의미
View
: UI
, Controller와 연결됨
Controller
: action을 input으로 받아 가공된 데이터를 Model로 보내주고 Model이 DB에서 받은 데이터를 다시 가공해 View에게 보내줌
장점: 코드 가독성/관리성/효율성 좋아짐
ORM은 바로 Model을 기술하는 도구(Object-Relational Mapping)
=> 데이터베이스 세계와 프로그래밍 언어 사이의 개념의 간극을 줄여줌
Object <===ORM===> 관계형 DB
장점
가독성이 좋음, SQL문 없이 OOP로 작성할 수 있음
Sequelize ORM: a promise-based Node.js ORM
Migration
마이그레이션은 스키마 변경에 따른 데이터 이주(migration)를 뜻함
=> 데이터를 선택, 준비, 추출 및 변환하여 한 컴퓨터 저장 시스템에서 다른 컴퓨터 저장 시스템으로 영구적으로 전송하는 프로세스를 뜻함
Associations - join table 구현