본문 바로가기

Backend/DB

why ORM?

왜 ORM을 쓰는걸까?

 

orm(object relational mapping)

객체의 관계적 매핑이라는 뜻을 가지고 있는데 이게 무슨 의미일까? 

(보통 매핑이란 개념은 기존에 가지고 있던 개념을 다른 개념과 관계짓는 것을 의미한다.)

 

이를 이해하기 위해서는  객체-관계 미스매치 라는 개념을 이해해야 근본적인 이해를 할 수 있다.

객체-관계 미스매치라는 개념은 객체지향 패러다임과 관계형 패러다임이 다르다는 의미다.

객체지향은 객체(object)로 모든것을 설명한다.

관계형db의 경우 테이블로 설명하지만 서로의 관계를 표현하기위해 테이블이나 외래키를 이용한다. 이는 객체지향으로 표현하기 힘든 부분이다.

 

테이블이 클래스화 될 수 있는 매직!

 

orm은 이런 관계형을 객체지향을 패러다임으로 쓸 수있게끔 만들어준다.

관계형 db의 본질적 존재이유(데이터의 정합성 유지)를 지키면서 객체지향의 장점이자 존재이유(encapsulation, abstraction, inheritance and polymorphism)를 함께 쓸 수 있게 되는것이다.

 

마치 우성 유전자만 물려받은 자식같은 존재라고 할 수 있다. ㅎㅎ

 

 

 

 

 

출처 : https://dev.to/tinazhouhui/introduction-to-object-relational-mapping-the-what-why-when-and-how-of-orm-nb2

 

 

 

 

 

 

 

'Backend > DB' 카테고리의 다른 글

null은 언제 허용해야 하는가?  (0) 2021.07.20
mysql - like문  (0) 2021.07.13
db의 유효성 검사기준을 확인하자 - sql_mode  (0) 2021.07.09
Json in DB  (0) 2020.12.07