ORM에 대해 Araboza

엄세욱·2025년 3월 27일

데이터베이스 공부 많이 어렵지? 오늘 우리 같이 ORM에 대해 이것저것 같이 한 번 알아보자!

ORM은 Object-Relational Mapping의 줄임말인데, 객체 지향 언어의 객체를 관계형 데이터베이스의 테이블과 매핑해주는 기술이야. 저게 뭔 소린가 싶지? 쉽게 말해, 데이터베이스를 코드에서 다룰 때 SQL을 직접 작성하지 않고, 객체(예: JavaScript의 클래스나 JSON)를 이용해서 데이터를 삽입, 조회, 수정, 삭제(CRUD)할 수 있게 해주는 도구라고 보면 돼.

아래의 그림을 보면서 좀 더 알아볼까?

그림에서 볼 수 있듯, ORM은 객체와 관계형 데이터베이스의 사이에서 중간 번역자 역할을 해.
아까전에 내가 ORM이 객체 지향 언어의 객체를 관계형 데이터베이스의 테이블과 매핑해주는 기술이라고 말한거 기억나지? ORM은 객체 데이터를 SQL 쿼리로 변환하고, 쿼리 결과를 다시 객체로 매핑해주는 기술이 핵심이라고 볼 수 있어.
양방향 흐름에 대해서 좀 더 설명하자면,
객체 → ORM → DB
객체 데이터를 저장하고 싶을 때, ORM이 SQL로 변환해서 DB에 저장하고

DB → ORM → 객체
DB에서 데이터를 가져오면 ORM이 객체로 변환해서 앱에서 사용할 수 있도록 제공해.

ORM의 정의와 어떤 역할을 하는지 알았으니 왜 ORM을 사람들이 쓰는지 궁금하지? 이번엔 그 이유에 대해 알아보자.

ORM을 사용하는 이유
1.복잡한 SQL을 일일이 작성할 필요 없이, 메서드 호출로 대부분의 데이터 작업 가능해서 생산성이 아주 향상해!

2.테이블 구조가 변경되면 코드 상의 객체 정의만 수정하면 됨. 쿼리 여러 곳을 고칠 필요 없으니깐 유지보수가 굉장히 용이하다고 보면 돼.

  1. PostgreSQL → MySQL 같은 데이터베이스 변경이 상대적으로 쉬운데, 이건 잠깐 부연설명을 해 줄게.
    ORM은 데이터베이스의 구체적인 쿼리 문법, 키워드, 인용 방식(", ', `), 데이터 타입 등 차이점을 개발자가 직접 처리하지 않도록 중간 계층에서 추상화하기 때문에 데이터베이스 종류를 바꾸더라도 코드 수준에서는 대부분 변경이 필요 없고, 설정만 조정하면 손쉽게 마이그레이션이 가능해져.

오늘 일단 간단하게 ORM에 대해 알아봤는데 좀 어때? 나도 이 글을 공부하면서 작성해서 꼭 들어가야 하는 내용이 좀 빠졌거나, 불필요한 내용이 들어갔을 수 있어. 이건 내가 나중에 좀 더 잘해지면 블로그 전체적으로 내용을 수정할거니깐 안심해!
그럼 다음에 보자!

profile
tpdnr0802

1개의 댓글

comment-user-thumbnail
2025년 4월 16일

리액트도 알려줭

답글 달기