데이터베이스 MVC, ORM

이승현·2022년 11월 13일

웹 개발

목록 보기
14/20

MVC (Model-View-Controller)

라이브러리 개념은 아니고 서비스가 돌아가는 방식에 대한 아이디어 혹은 패턴이다.

Database ↔ Model ↔ Controller ↔ Client, View

와 같은 구조를 가지고 있다.

Express, Angular, Django 등등 많은 프레임워크 들이 이 방식을 사용하고 있다.

Model

  • knowledge
  • handles data
  • interaction with Database

View

  • visual representation of a model
  • what the users see(UI)

Controller

  • receives input
  • process requests
  • get data from a model
  • pass data to the view

require 디폴트

require(’폴더명’) 으로 받아오면 디폴트로는 index.js가 들어온다?

package.json → index.js → index.load? 이런 순으로 탐색

ORM

데이터베이스 테이블을 객체처럼 표현하는 것

객체지향에서 데이터를 방법과 관계형 데이터베이스의 데이터를 접근하는 방법이 다르다.

mysql 모듈을 쓰면 자바스크립트 코드를 sql문으로 변환 가능 ⇒ sql문 없이 관계형 데이터베이스에 접근 가능

Sequelize

  • a promise-based Node.js ORM
    • MySql, Postgres, MariaDB 등의 데이터베이스에 접근 가능
  • id(primary key)는 따로 안적어도 알아서 만들어줌
  • created At 도 따로 알아서 만들어줌

Association, Transaction at Sequelize

  • Association : join개념
  • Transaction : 쿼리의 조합을 작업단위로 보고 문제가 생기면 롤백
  • api 문서 참고
profile
매일 꾸준히

0개의 댓글