Computer Theory/Web

ORM(Object Ralational Mapping)

JHeaon 2023. 12. 9. 15:22

 

오늘은 ORM에 대해서 알아보고자 한다. 

 


ORM

ORM은 객체를 연결해준다는 의미로 어플리케이션과 데이터베이스 연결 시 SQL언어가 아닌 어플리케이션 개발 언어로 데이터 베이스에 접근 할 수 있게 해주는 툴을 의미한다. 

 

ORM은 SQL문법 대신 어플리케이션 개발언어를 그대로 사용함으로써, 개발 언어의 일관성과 가동성을 높여준다는 장점을 가지고 있다. 

아래는 Django에서 사용하는 ORM과 실제 SQL질의문을 나타낸 예이다. 

>>> queryset = Event.objects.all()
>>> str(queryset.query)

SELECT "events_event"."id", "events_event"."epic_id",
    "events_event"."details", "events_event"."years_ago"
    FROM "events_event"

 

 

ORM의 장단점

ORM은 여러 장단점을 가지고 있다. 

 

장점

  • 객체 지향적인 코드로 인해 더 직관적으로 비즈니스 로직에 집중할 수 있다. 
  • 재사용 및 유지보수의 편리성
  • DBMS에 대한 종속성이 줄어든다. 

단점

  • 완벽한 ORM으로 서비스를 구현하기는 어렵다. 
  • 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기가 어렵다. 

'Computer Theory > Web' 카테고리의 다른 글

API에 대하여  (0) 2023.12.12
Transaction과 ACID  (0) 2023.12.09
RDB와 NOSQL DB  (0) 2023.12.09
브라우저 작동 방식  (0) 2023.12.09
HTTP 와 HTTP Request/Response 구조  (0) 2023.12.09

'Computer Theory/Web'의 다른글

  • 현재글 ORM(Object Ralational Mapping)

관련글