DB

[DB] ORM

오선지♬ 2022. 1. 27. 10:28
728x90
반응형

ORM이란 ?

Object Relational Mapping, 객체-관계 매핑


 - OOP(Object Oriented Programming)에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블 자동으로 매핑(연결)하는 것을 의미.

- 클래스와 테이블은 서로가 기존부터 호환가능성을 두고 만들어진 것이 아니기 때문에 불일치가 발생하는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 불일치를 해결한다. 따라서 ORM을 이용하면 따로 SQL문을 짤 필요없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있게 된다.

 

장점

- 완벽한 객체 지향성 코드

    : 더 직관적이고 비즈니스 로직에 더 집중할 수 있게 도와주어 생산성이 증가한다.

- 재사용, 유지보수, 리팩토링 용이성

- DBMS에 대한 종속성이 줄어든다.

 

단점

- 사용하기는 편하지만 설계는 매우 신중하게 해야한다.

    : 잘못 구현된 경우에 속도 저하 및 심각할 경우 일관성이 무너지는 문제점이 생길 수 있다.

- 프로젝트의 복잡성이 커질경우 난이도 또한 올라갈 수 있다.

 

종류

728x90
반응형