ORM(Object Relational Mapping)

객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 기술

애플리케이션과 데이터베이스 연결 시 SQL 언어가 아닌 애플리케이션 개발 언어로 데이터베이스에 접근할 수 있게 해주는 툴이다

왜 매핑이 필요할까?

객체지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하여 두 모델 간에 불일치가 발생하게 된다.

이러한 문제를 ORM이 중간에서 객체 간의 관계를 바탕으로 RDB와 매핑하여 불일치를 해소할 수 있다

SQL을 직접 다룰 때의 문제점

장점

SQL 문법 대신 애플리케이션의 개발 언어를 그대로 사용할 수 있게 함으로써, 개발 언어의 일관성과 가독성을 높여준다

단점

ORM만으로는 SQL의 모든 부분을 다루기 어렵다

종류

Python

Node.js

Java