ORM(객체 관계 맵핑, Object-Relational Mapping)

2023. 9. 11. 00:03·항해
객체 지향 프로그래밍 언어와 관계형 데이터베이스 간 데이터변환을 자동화하기 위한
프로그래밍 기술 및 도구 집합 

 

ORM 은 객체 지향언어(ex. java, python, c#)와 관계형 DB(ex. MySQL, Oracle, PostgreSQL)사이에서 데이터를 주고 받는데 사용된다!

 

ORM 대표 예시

Hibernate(Java), Entity Framework(C#), Django ORM(Python), SQLAlchemy(Python) 등

 

 

✔️ORM의 주요 기능

객체와 테이블 맵핑 : 

객체 지향 프로그래밍에서 사용되는 클래스와 관계형 DB의 테이블 간 맵핑을 제공한다. 

각 클래스는 DB테이블과 연결되고 클래스의 속성은 테이블에 열에 대응되게 된다.

ex.  SELECT * FROM user; 라는 query   - ORM사용 시→  user.findAll() 라는 메서드

 

DB 조작 추상화 :

SQL쿼리를 직접 작성하지 않고도 DB를 조작할 수 있는 추상화 계층을 제공한다. 객체 지향 방식으로 데이터를 다룰 수 있고, DB의 세부 사항을 숨길 수도 있다.

 

DB 독립성 :

특정한 DB 관리 시스템에 종속되지 않게 설계되며, 서로 다른 DB 시스템에서 동작할 수 있도록 지원한다.

 

생산성 향상:

SQL쿼리를 직접 작성하는 번거로움을 줄여 주어 DB 작업을 단순화시켜 새발 시간을 단축할 수 있다.

 

객체지향 프로그래밍과 DB 통합 : 

객체지향 언어의 개념을 그대로 유지하면서 DB와 통합할 수 있다. 코드의 가독성, 유지보수성이 향상된다.

'항해' 카테고리의 다른 글

WIL : HTTP, MVC 패턴  (0) 2023.08.28
Parameter와 Argument의 차이  (0) 2023.08.23
프로그래머스 문제 풀이_푸드파이트 대회  (0) 2023.08.22
모듈화가 필요한 이유  (0) 2023.08.21
WIL : JVM이란 무엇인가?  (0) 2023.08.21
'항해' 카테고리의 다른 글
  • WIL : HTTP, MVC 패턴
  • Parameter와 Argument의 차이
  • 프로그래머스 문제 풀이_푸드파이트 대회
  • 모듈화가 필요한 이유
yeah구리
yeah구리
백엔드를 공부하는 초심자입니다.
  • yeah구리
    개발일지_헤맨만큼 내땅이다
    yeah구리
  • 전체
    오늘
    어제
    • 분류 전체보기 (114)
      • 스파르타 부트캠프(spring) (75)
      • 스파르타 기술면접 (10)
      • 코딩연습 (0)
      • 항해 (10)
      • 개발일지 (4)
        • 개인 회고 (1)
        • 개발로그 (실무) (2)
      • 공부노트 (0)
      • 코딩테스트 (0)
        • 프로그래머스 (0)
        • 백준 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    비전공개발자 #개발로그 #커리어
    X(Twitter) API #캐싱 #트러블슈팅 #개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
yeah구리
ORM(객체 관계 맵핑, Object-Relational Mapping)
상단으로

티스토리툴바