[Codestates] 2021. 7. 28~29

민병대·2021년 8월 13일

Codestates

목록 보기
39/45

[데이터베이스] ORM

  • MVC 디자인 패턴과 같이, 코드를 각각 다른 부분으로 나누어 작성해야 하는 이유를 이해할 수 있다.
    • MVC : model-view-controller 의 약자, 각각의 기능이 따로 설정되어 운영
    • 코드 가독성, 관리성, 퀄리티가 더 좋아지기 때문에 사용한다.
  • Model, View, Controller가 각각 어떤 역할을 하는지 이해할 수 있다.
    • Model :
      Database 와 대화한다, data를 controller 에게 전달한다, view 와 직접 대화하진 않는다, data와 관련된 영역
    • View :
      유저가 보는 화면, controller와만 대화한다
    • Controller :
      view 와 Model 사이를 연결해주는 영역, 서로가 알아들을 수 있는 언어, 코드, 형태로 가공하여 전달한다.
  • ORM의 장점을 이해할 수 있다.
    • ORM : Object-Relational Mapping의 약자, 관계형 DB를 객체를 다루듯이 사용할 수 있게 만들어준다.
    • 장점 :
      1. 접근 방법을 프로그래밍 언어에 맞춰 사용할 수 있기 때문에, 더 쉽게 관계형 DB를 사용할 수 있다.
      2. SQL문을 사용하지 않기 때문에 가독성이 좋아진다.
  • Sequelize ORM과 관련 CLI 툴들을 공식 문서를 보고 사용할 수 있다.
    • Sequelize를 이용해 모델을 작성할 수 있다.
      프로젝트 부트스트링 npx sequelize-cli init 을 진행하면 자동으로 구성파일이 생성된다.
      npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string 으로 모델 생성
    • Sequelize를 이용해 마이그레이션을 할 수 있다.
      npx sequelize-cli db:migrate 으로 마이그레이션 실행
  • 마이그레이션의 개념과 필요성을 이해할 수 있다.
    • 스키마 변경에 따른 데이터 이주(migration)를 뜻함. 이는 데이터를 선택, 준비, 추출 및 변환하여 한 컴퓨터 저장 시스템에서 다른 컴퓨터 저장 시스템으로 영구적으로 전송하는 프로세스를 뜻함.
    • 스키마 변경에 대한 기록을 위해 필요함
  • Sequelize ORM으로 1:1. 1:N, N:N 관계를 표현할 수 있다.
  • (Advanced) MVC 디자인 패턴의 한계를 이해할 수 있다.
profile
마케터 출신 개발자

0개의 댓글