데이터베이스 공부 많이 어렵지? 오늘 우리 같이 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.테이블 구조가 변경되면 코드 상의 객체 정의만 수정하면 됨. 쿼리 여러 곳을 고칠 필요 없으니깐 유지보수가 굉장히 용이하다고 보면 돼.
오늘 일단 간단하게 ORM에 대해 알아봤는데 좀 어때? 나도 이 글을 공부하면서 작성해서 꼭 들어가야 하는 내용이 좀 빠졌거나, 불필요한 내용이 들어갔을 수 있어. 이건 내가 나중에 좀 더 잘해지면 블로그 전체적으로 내용을 수정할거니깐 안심해!
그럼 다음에 보자!
리액트도 알려줭