왜 ORM을 쓰는걸까?
orm(object relational mapping)
객체의 관계적 매핑이라는 뜻을 가지고 있는데 이게 무슨 의미일까?
(보통 매핑이란 개념은 기존에 가지고 있던 개념을 다른 개념과 관계짓는 것을 의미한다.)
이를 이해하기 위해서는 객체-관계 미스매치 라는 개념을 이해해야 근본적인 이해를 할 수 있다.
객체-관계 미스매치라는 개념은 객체지향 패러다임과 관계형 패러다임이 다르다는 의미다.
객체지향은 객체(object)로 모든것을 설명한다.
관계형db의 경우 테이블로 설명하지만 서로의 관계를 표현하기위해 테이블이나 외래키를 이용한다. 이는 객체지향으로 표현하기 힘든 부분이다.
orm은 이런 관계형을 객체지향을 패러다임으로 쓸 수있게끔 만들어준다.
관계형 db의 본질적 존재이유(데이터의 정합성 유지)를 지키면서 객체지향의 장점이자 존재이유(encapsulation, abstraction, inheritance and polymorphism)를 함께 쓸 수 있게 되는것이다.
마치 우성 유전자만 물려받은 자식같은 존재라고 할 수 있다. ㅎㅎ
'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 |