본문 바로가기

항해

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

객체 지향 프로그래밍 언어와 관계형 데이터베이스 간 데이터변환을 자동화하기 위한
프로그래밍 기술 및 도구 집합 

 

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