TIL 25 | [Django] ORM (Object-Relational Mapping) 이란?

Yoonsik·2022년 6월 6일

Django

목록 보기
4/5

ORM 이란?

ORM 이란 Object-Relational Mapping의 약자로, 객체(Object)와 관계형 데이터 베이스(Relational Databace)의 데이터를 매핑(하나의 값을 다른 값으로 대응) 해주는 것을 의미합니다.

원래 관계형 DB를 사용하기 위해서는 다음과 같이 데이터베이스와 코드를 만들고 SQL을 이용하여 DB를 Select 하고 데이터를 가져와서 코드에 데이터를 채우고 화면에 보여주는 방식을 사용해야 했었습니다.

하지만 ORM을 사용하는 경우, ORM은 객체를 기반으로 움직이기 때문에 객체 간의 관계를 바탕으로 SQL을 자동 생성하여 sql쿼리문 없이도 데이터베이스의 데이터를 다룰 수 있게 됩니다.

예를 들면 Code에 User라는 클래스를 생성하면 ORM이 해당 객체(User)와 DB를 마이그레이션(데이터를 맞춰서 이동) 해줍니다. 즉 DB에 User DB가 생기게 되는 것입니다.

이처럼 ORM을 사용하면 객체와 DB가 마이그레이션 되기 때문에 우리는 DB, 코드 양쪽을 관리할 필요 없이 코드만 관리하면 된다는 편의성을 얻게 됩니다.

또 추가적으로 ORM을 사용할 시, 프레임워크가 쿼리셋을 자동으로 SQL로 바꿔주기 때문에 쿼리문을 사용하지 않아도 됩니다.


profile
꾸준함의 힘

0개의 댓글