210623_ORM

Bitnara Lee·2021년 6월 23일
0

Achievement Goal
MVC 디자인 패턴과 같이, 코드를 각각 다른 부분으로 나누어 작성해야 하는 이유를 이해할 수 있다.
Model, View, Controller가 각각 어떤 역할을 하는지 이해할 수 있다.
ORM의 장점을 이해할 수 있다.
Sequelize ORM과 관련 CLI 툴들을 공식 문서를 보고 사용할 수 있다.
Sequelize를 이용해 모델을 작성할 수 있다.
Sequelize를 이용해 마이그레이션을 할 수 있다.
마이그레이션의 개념과 필요성을 이해할 수 있다.
Sequelize ORM으로 1:1. 1:N, N:N 관계를 표현할 수 있다.
(Advanced) MVC 디자인 패턴의 한계를 이해할 수 있다.

Object-Realational Mapping

객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것

  • 객체 지향 프로그래밍은 객체/클래스를 사용, 관계형 데이터베이스는 테이블을 사용
    객체 모델과 관계형 모델 간에 불일치가 존재

ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결->SQL 필요 x

Relational Database와 OOP 사이의 중재자


(스프린트 파일 구성 분석)

Config

  • Node-config organizes hierarchical configurations for your app deployments.

    It lets you define a set of default parameters, and extend them for different deployment environments (development, qa, staging, production, etc.).

    Configurations are stored in configuration files within your application, and can be overridden and extended by environment variables, command line parameters, or external sources.

    This gives your application a consistent configuration interface shared among a growing list of npm modules also using node-config.

    (Deploy: 프로그램 등을 서버와 같은 기기에 설치하여 서비스 등을 제공하는 의미)

    앱 deployment(배포?) 위한 계층적으로 환경설정 구성을 정리한 것
    기본 parameter set을 정의하고 다른 deployment 환경들에 따라 확장시킬 수 있다.
    환경 변수, 커맨드 라인 패러미터 ,외부 소스등에 의해 재정의될 수 있다.

Model

  • 엔티티를 객체로 표현한 형태, 데이터 구조 기술하고, 데이터에 수행할 수 있는 명령의 모음(어플리케이션 정보)
  • DB와 연결되어, 데이터를 직접 요청하고 받는 곳- 데이터를 가지고 controller와 대화

View

  • 화면에 나타나는 부분,웹페이지/모바일 상에서 사용자에게 보여지는 페이지 구현
  • controller에게 액션이나 이벤트 전달 받아 역할 수행

Controller

  • 요청을 받고 응답을 조종, model과 view의 중간다리

  • view에게 받은 데이터 가공-model에게 전달(혹 요청)/ model에게 받은 db데이터 가공-view에 전달(혹은 요청)

migration

  • 스키마 변경에 따른 데이터 이주(migration)

  • With migrations you can transfer your existing database into another state and vice versa: Those state transitions are saved in migration files, which describe how to get to the new state and how to revert the changes in order to get back to the old state.
    you should simply perform whatever queries you need, with the help of sequelize.query

migration 공식문서

profile
Creative Developer

0개의 댓글