6.2 ORM

구보선·2023년 1월 25일
0

ORMObject Relational Mapping의 줄임말로 객체 관계 매핑을 의미한다.이는 자바와 같은 객체지향 언어에서 의미하는 객체와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법이다.
이러한 매핑이 필요한 이유는 객체 지향 언어(Object Oriented Language)과 관계형 데이터베이스(Relational Database)에서 데이터를 표현 하는 방식이 다르기 때문이다.
지금 얘기하는 객체지향 언어에서의 객체는 클래스를 의미한다. 클래스는 데이터베이스의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB테이블과 불일치가 존재한다.
이 둘 간의 차이 때문에 개발자는 더 많은 코드를 작성해야 하며, 이는 반복적이고 실수하기 쉬운 작업이 된다.
ORM은 이 둘의 불일치와 제약사항을 해결하여 개발자가 더욱 편리하게 작업을 할 수 있도록 해준다.

ORM을 이용하면 SQL쿼리문 작성이 아닌 코드(메소드)로 데이터를 조작할 수 있다.
ORM 장점

  • 데이터베이스 쿼리를 객체지향적으로 조작 가능
    개발비용 감소, 가독성 향상
  • 재사용 및 유지보수의 편리성
    ORM을 통해 매핑된 객체는 모두 독립적으로 작성되어 재사용 용이, 객체들이 각 클래스로 나뉘어 유지보수 수월
  • 데이터베이스에 대한 종속성 감소
    ORM을 통해 자동 생성된 SQL문은 객체를 기반으로 데이터베이스 테이블을 관리함

ORM 단점

  • ORM만으로 온전한 서비스 구현은 한계가 있음
  • 애플리케이션의 객체 관점과 데이터베이스의 관계 관점의 불일치
    세분성, 상속성, 식별성, 연관성, 탐색

0개의 댓글

관련 채용 정보