Programming

[OOP]ORM(Object-Relational-Mapping)

물에빠진사람 2024. 6. 28. 00:02
반응형

ORM이란?

ORM(Object Relational Mapping)은 객체 지향 프로그래밍과 관계형 데이터베이스를 연결하는 기술입니다. ORM은 객체지향 프로그램과 관계형 데이터베이스의 다리를 만드는데 주로 사용되는 기술로 객체와 데이터베이스 간의 상호 작용을 쉽게 만들어줍니다. 

 

출처: https://medium.com/@grover.vinayak0611/what-is-orm-why-to-use-it-and-brief-introduction-of-orm-frameworks-b61b16d02a3c

 

ORM을 왜 쓸까?

객체지향 언어를 사용하여 데이터베이스와 상호 작용할 때는 데이터베이스에서 데이터를 생성, 읽기, 업데이트, 삭제(CRUD)와 같은 다양한 작업을 수행해야 합니다.  관계형 데이터베이스는 이런 작업을 수행하기 위해서는 설계상 SQL을 사용하게 되는데,

SQL을 사용하는 것은 나쁜게 아니지만 ORM은 이러한 작업을 객체지향적으로 더 간단하게 처리할 수 있도록 도와줍니다.

 

예를 들어, SQL 쿼리를 사용하면 아래와 같게 됩니다. 

SELECT id, name, email, country, phone_number FROM user WHERE id = 20

 

 

user라는 테이블에서 id가 20인 것의 각 지정된 컬럼을 가져오게 합니다. ORM을 사용하면 조금 더 간단하게 사용할 수 있습니다.

 

user = users.getById(20)

 

언어마다 차이가 있겠지만 보통은 메소드를 사용하여 위와 같은 식으로 SQL쿼리와 동일한 작업을 수행시킵니다. 특히 클래스가 수백, 수천개씩 있는 대규모 프로젝트일 수록 ORM이 더 유용해집니다. 

반응형