[Database] MVC, ORM

Steve·2021년 6월 23일
0

웹개발 코스

목록 보기
48/59

MVC pattern

Model, View, Controller


https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

  • 디자인 패턴 중 하나.
  • 코드를 기능별로 나누는 작업.
  • 코드의 가독성을 높인다.

usercontroller 사이에 router 가 위치한다.

Controller

클라이언트의 요청에 따라 Model 에 데이터를 요청하고
Model 로부터 받은 데이터를 가공하여 View 로 건네준다.

Model

데이터를 갖고 있거나, 데이터베이스와 연결되어 있어서 데이터를 가져올 수 있다.

View

데이터를 받아 유저가 보는 화면을 만든다.
서버에서 만들어 질 수도 있고 (SSR), 클라이언트에서 만들어질 수도 있다. (CSR)

ORM

Object-Relational Mapping


https://www.yaplex.com/blog/micro-orm-vs-orm

관계형(relational) 데이터베이스의 table, record 들을 객체(object)로 mapping 하는 방식.

table -> class definition
records -> class instances
columns -> class attributes

N:N 관계 표현 -> 배열에 담아 표현한다.

장점

  • 가독성이 조금 더 좋다.
  • JS 로 database 쿼리 가능.

Seqeulize

A promise-based Node.js ORM.

지원 RDBMS - Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server

더 공부해볼 주제

  • Association - join table
  • Transaction
profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글