객체 관계 매핑(Object-relational mapping; ORM)은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법이다. 객체 관계 매핑을 가능하게 하는 상용 또는 무료 소프트웨어 패키지들이 있고, 경우에 따라서는 독자적으로 개발하기도한다.
네. 이게 위키백과 한국어판 의 모든 내용입니다. 영문판에 보다 더 상세하게 설명되어 있는데 아직 번역이 되지 않은 것 같아요. ㅠㅠ
영문판의 추가내용을 짧게 정리하면 다음과 같습니다. 널리 사용되는 DBMS 들이 간단한 문자 또는 숫자의 값으로 이루어진 (객체지향적이지 않은) 테이블의 형태이기 때문에, 객체의 값들을 좀 더 세분화(또는 원자화, atomize)할 수 있어야 이런 DBMS 툴을 사용할 수 있게 된다는 것이죠. ORM 은 이를 돕는 도구라고 볼 수 있겠습니다.
객체를 세분화해서 저장해야 할 뿐만 아니라 언제든 필요할 때 다시 객체의 형태로 변환할 수 있어야 하는 점이 ORM 을 사용하는데 따르는 어려움이라고 하는데요. 그럼에도 불구하고 ORM 이 사용되는 것은 이를 사용할 때 여러가지 장점들이 있기 때문이라고 합니다.
https://geonlee.tistory.com/207
https://gmlwjd9405.github.io/2019/02/01/orm.html
https://velog.io/@alskt0419/ORM%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C...-iek4f0o3fg
ORM 으로 구글링해서 참고했던 블로그 자료들을 소개합니다. 이해가 조금 덜 된 것 같아서 공부를 더 하고 다시 참고해볼 요량으로 기록해두려고 합니다.
저는 Node.js 에서 가장 많이 사용된다고 하는 ORM 인 Sequelize 를 공부하게 되었는데, 진짜 섹션 3 는 하루하루가 쉬운 날이 없는 듯 합니다.
섹션 3가 끝나면, 그 다음부터는 실전이나 다름 없다보니, 제공되는 자료는 적고 알아서 공부해야 할 것들이 늘어난 상황인데요. 공식문서와 씨름하면서 더 알아가봐야겠습니다. 핑계삼아 오늘은 아주 간단하게 정리하고 마무리합니다.