ORM이란?
ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객체로 관계형 데이터베이스를 관리하는 기술이다. 대부분의 개발 언어 platform마다 제공되고 있으며, 대표적으로 spring에는 JPA가, node의 sequalize, 또 Django에는 orm이 내장되어있다.
기존 SQL 방식의 문제점
기존의 SQL로 데이터베이스를 관리하던 때의 문제점은 계속되는 반복되는 코드의 문제점이 있었고, SQL을 확인하기 전까지는 Entity를 신뢰할 수 없다는 불편함이 있었다. 또한 SQL의 의존적인 개발을 피할 수 없고, 계층 분할의 어려움이 있었다.
ORM을 사용 했을 때의 장점
객체 관계 매핑(Object-relational Mapping)이란 말에 어울리게 ORM을 사용하면 객체는 객체대로 설계하고, 관계형 데이터베이스는 데이터베이스대로 설계하고 중간에서 ORM 프레임워크가 중간에서 매핑을 해주어 서로 의존성을 배제할 수 있다. 이를 통해 생산성과 유지보수 성에서 높은 이득을 얻을 수 있다.
주의점
ORM은 편리한 기술임에 틀림없다. 한번 ORM을 사용하고 나면 다시는 SQL문을 작성하고 싶지 않아 질지도 모른다. 따라서 ORM을 사용하면 SQL과 데이터베이스에 알 필요가 없다고 생각할 수 있다. 하지만 ORM은 객체와 데이터베이스 위에 있는 기술로, 데이터베이스에 대한 깊은 이해가 없다면 오히려 독이 될 수 있다. 때문에 먼저 데이터베이스에 대한 학습을 우선시하는 것을 권고한다.
'Computer Science > Database' 카테고리의 다른 글
[Database] 트랜젝션 (0) | 2020.03.23 |
---|---|
[Database] RDB(relational database)에서 테이블간의 관계 (1:1, 1:N, N:M) (0) | 2019.12.15 |
[Database] SQL - SELECT (0) | 2019.10.09 |
[Database] SQL - DDL (1) | 2019.10.09 |
[Database] 키의 개념 및 종류 (0) | 2019.10.09 |