본문 바로가기

programming/Javascript

Node-Sequelize-Mysql (1) ORM 개념

orm 사용해 봅시다

 

ORM 개념

  • ORM 이란
    • Object Relational Mapping : 객체-관계 매핑
    • 객체와 관계형 데이터베이스(RDB) 데이터를 자동으로 매핑해주는 툴
    • mysql로 tb_member이라는 테이블을 만들어서 데이터 관리를 한다
    • orm으로 Member 객체를 만들어서 sql 쿼리 없이 테이블을 객체처럼 관리한다
    • 객체지향 프로그래밍은 클래스(Class) 개념을 사용하는데, 중간중간 RDB의 테이블 개념이 이질적인 현상을 해소할 수 있다. → 전체적으로 객체지향(Class)로 프로그래밍이 가능
  • 장점
    • 객체 지향적인 코드로 전체적으로 직관적이고, 비즈니스 로직에 집중할 수 있게 해준다
    • 재사용 및 유지보수의 편리성이 증가한다
    • DBMS에 대한 종속성이 줄어든다 (DB 솔루션과 상관없다)
  • 단점
    • 프로그램의 복잡서이 커질 수록 ORM 난이도가 오히려 더 복잡해진다
    • 잘못 구현된 경우 속도 저하, 성능 저하, 일관성 무너짐 발생 가능

 

Node-Sequelize-Mysql (2) Sequelize 설치