Django ORM이란?

이승아·2023년 1월 5일
0

ORM

ORM은 (Object-Relational Mapping)의 약자이다.
SQL쿼리문 없이도 객체(Object)와 관계(Relational)를 연결해 DB의 데이터를 쉽게 조작할 수 있게 해준다.
즉, ORM은 데이터들을 객체처럼 사용할 수 있도록 도와준다.

  • 객체(Object)
  • 관계형(Relational)데이터베이스 DB
  • 위 2개를 Mapping(연결) 시켜주는 것

기존에는 관계형 DB를 사용하기 위해서는 SQL을 필요 했었지만 ORM을 사용함으로써 작성한 파이썬 코드를 SQL쿼리로 자동 변환 시켜, 개발자가 따로 SQL쿼리를 작성해 줘야 하는 번거로움이 사라졌다

ORM 사용

객체 조회 방법 (all, get)

User.object.all()
User.objects.get()

User객체에 저장된 모든 데이터를 가져올 수 있다.

데이터 추가 (create)

User.objects.create()

()필드에 데이터를 입력하여 새로운 데이터를 추가 할 수 있다.

ORM을 사용하는 이유

  • ORM은 독립적으로 작성되기 때문에 객체들을 재사용할 수 있다.
  • ORM은 DB에 종속되지 않는다.
  • 개발자는 객체 모델을 이용해서 프로그래밍을 할 수 있기 때문에 DB가 아닌 Object 에 집중할 수 있다.

ORM의 단점

  • 프로젝트 복잡성이 커질 경우 난이도가 높아진다.
  • 잘못 구현하게 되면 속도가 저하되고 일관성이 없어질 수 있다.
  • SQL 쿼리문으로 다루지 않다 보니 정확한 원리를 이해하는데 어려움이 발생할 수 있다.

0개의 댓글