ORM

강현구·2021년 12월 12일
0

ORM

ORM을 알기 위해서는 먼저, SQL에 대해 알아야한다.

SQL (Structured Query Language)
SQL은 직역하면 구조화된 질의문으로 관계형으로 구조화된 데이터베이스에 데이터를 생성,검색,수정,삭제(C.R.U.D.)를 하는데 사용되는 언어이다.

그러면 ORM은 무엇인가.

ORM(Object Relational Mapper)은 객체 지향적인 방법을 이용하여 데이터베이스를 조작할 수 있게 해준다.
원래 데이터베이스를 조작하려면 위에서 언급한 SQL을 알아야하고 이를 통해서 데이터를 접근해야 하지만, django의 ORM은 SQL문을 직접 사용하지 않고도 python을 통해서 Database를 접근할 수 있게 해주는 통역사의 역할인 것이다.
Model의 각각의 Class로 객체를 만들고 이 객체를 통해서 Database에 접근하는 방식이다.

ORM의 장점

  • 불필요한 코드가 줄어들어 빠르게 개발이 가능하고 생산성이 좋아진다. 사소한것들을 자동으로 처리해줘서 개발의 효율성이 좋아진다.
  • 선언, 할당, 종료와 같은 코드가 줄어들고, 객체에 대한 코드를 별도로 작성하기 때문에 가독성이 좋아진다.
  • 유지보수가 편리하고 코드의 재사용성이 높아진다.

ORM의 단점

  • 해당 프로그래밍 언어와 별개로 ORM을 따로 배워야한다.
  • 정확히 원리를 이해하지 않은 경우 문제에 대한 대처능력이 떨어질 수 있다.
    > SQL 구문 생성을 추상화했기 때문에, 복잡한 쿼리는 오히려 비효율적인 SQL구문이 생성될 수 있다.

참고 사이트
Magit님의 블로그

이어서 공부할 사이트
장고걸스 튜토리얼

profile
한걸음씩

0개의 댓글