MVC Design Pattern - ORM

Verba volant, scripta manent·2021년 3월 2일
0

ORM이란?

풀네임은 Object-Relation Mapping.
객체(클래스)와 관계(관계형 데이터 베이스)와의 설정을 의미한다.
차이점은 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터 베이스는 테이블을 사용한다는 것이다.
=> Object와 DB데이터 사이에서 매핑의 역할을 한다!

ORM을 사용하는 이유

객체 모델과 관계형 모델간에 불일치가 존재 하는데 이 객체간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결해준다.

ORM 장점

  1. 객체 지향적 코드로 인해 더 직관적이고 비즈니스 로직에 집중할 수 있도록 도와준다.
  2. 재사용 및 유지보수의 편리성이 증가한다.
  3. DBMS에 대한 종속성이 줄어든다.
    (종속성: 프로그램 구조가 데이터 구조에 영향을 받는 것을 의미함.)

ORM 단점

  1. 완벽한 ORM만으로는 구현하기가 어렵다.
  2. 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기 어렵다.
    (프로시저: 특정작업을 위한 프로그램의 일부. 함수와 같은 의미)

Sequelize

Node.js에서 가장많이 사용되고 있는 ORM.
MySQL, PostgreSQL, MariaDB, SQLite, MSSQL, 그 외에도 트랜잭션이나 relation, read replication등을 지원한다.

=> Promise(비동기작업 제어방식)를 기본으로 지원 해준다는 점입니다.

<Promise의 장점>
1) 복잡한 비동기 코드를 깔끔하고 쉽게 만들 수 있도록 한다.
2) Chaining을 통해 값을 전달하거나 연속된 일련의 작업을 처리 할 수 있다.
3) Error handling에 대한 처리를 깔끔하게 할 수 있다.

profile
말은 사라지지만 기록은 남는다

0개의 댓글