본문 바로가기

개발인생다반사/TIL(Today i learned)

TIL - 211116 [데이터베이스] MVC

Achievement Goal

MVC 패턴

  • MVC 디자인 패턴과 같이, 코드를 각각 다른 부분으로 나누어 작성해야 하는 이유를 이해할 수 있다.
  • Model, View, Controller가 각각 어떤 역할을 하는지 이해할 수 있다.

Cmarket Database

  • SQL을 Node.js 앱에서 쿼리할 수 있다.
  • 클라이언트의 HTTP 요청에 따라 CRUD API를 구현할 수 있다. (CRUD: Create, Read, Update, Delete)

Advanced

  • ORM의 장점을 이해할 수 있다.
  • Sequelize ORM과 관련 CLI 툴들을 공식 문서를 보고 사용할 수 있다.
    • Sequelize를 이용해 모델을 작성할 수 있다.
    • Sequelize를 이용해 마이그레이션을 할 수 있다.
  • 마이그레이션의 개념과 필요성을 이해할 수 있다.
  • Sequelize ORM으로 1:1. 1:N, N:N 관계를 표현할 수 있다.
  • MVC 디자인 패턴의 한계를 이해할 수 있다.

Chapter 1 - MVC Design pattern

몇몇의 프레임워크는 MVC 컨셉을 이용한다.

1. Model

  • knowledge
  • handles data
  • interaction with database

2. view

  • visual representation of a model
  • what the users see(ui_

3. controller

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

 

Credits

1. Traversy Media (youtube)

2. 생활코딩

3. Atom's Network

Capter 2 - ORM

ORM(Object Relational Mapping)

Object(객체)와 관계형데이터베이스를 중간에서 이어주는 도구

ORM을 사용하면 mysql과 같은 관계형데이터베이스에 JS의 객체에 접근하듯이 접근할 수 있다.

 

객체에서의 각 속성은 데이터베이스에서는 필드라고 볼 수 있다.

다대다의 관계는 JS에서 배열로 요소를 표현한다.

Sequelize는 sql 프로그래밍에 상관없이 호환 가능