ORM

Chang22·2022년 11월 15일
0

ORM 이란?

Object Relational Mapping, 객체-관계 매핑

  • 객체(클래스)와 관계(RDB, Relational Database)와의 설정을 의미
    객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터 베이스는 테이블을 사용
    여기서 객체 모델과 관계형 모델간에 불일치가 발생하게 되는데 ORM은 이러한 불일치를 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결함

ORM 장점

  • 객체 지향적 코드를 사용함으로서 직관적이고 비지니스 로직에 집중할 수 있도록 도와줌
    https://mommoo.tistory.com/67 비즈니스 로직 설명

  • CRUD를 위한 SQL문을 작성할 필요는 없음(쿼리 작성은 필요)

  • 각 객체(Model)별로 코드를 작성하므로 가독성이 높아짐

  • 재사용 및 유지 보수의 편리성이 증가함
    - ORM은 독립적으로 작성되어 있고 해당 객체들은 재사용이 가능

  • DBMS에 대한 종속성이 줄어듦

  • 대부분 ORM은 DB에 비종속적임

ORM 단점

  • 사용하기는 편하지만 설계는 신중해야 함

  • 프로젝트의 복잡성이 높아질 경우, 난이도가 높아짐

  • 잘못 구현하는 경우 속저 저하 및 심한 경우, 일관성이 무너질 수도 있음

  • 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기 어려움

    프로시저란?
    https://scoring.tistory.com/54

ORM의 종류

https://hello-bryan.tistory.com/318

profile
FE Dev

0개의 댓글