Search

ORM(Object-Relational Mapping)

태그

정의

객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법
관계형 데이터베이스의 테이블은 객체 지향 언어에서 클래스와 매핑되며, 테이블의 레코드는 클래스의 인스턴스나 객체에 패밍
ORM은 개발자가 SQL 쿼리 없이도 데이터베이스 작업을 수행할 수 있게 해줍니다.

장점

1.
생산성 향상 SQL 쿼리를 직접 작성하는 대신 고수준 언어를 사용하여 코드를 작성할 수 있습니다.
2.
유지보수 용이 데이터 모델을 변경해야 할 때 ORM 시스템은 일부 변경 사항을 자동으로 처리해주므로 유지보수 가 더 쉬워집니다.
3.
데이터베이스 독립성 ORM은 다양한 종류의 DBMS에 대한 호환성을 제곱하니다. 따라서 애플리케이션 코드 변경 없이 다른 DBMS로 전환할 수 있습니다.

단점

1.
복잡한 쿼리 작성 어려움 복잡하고 최적화된 쿼리를 작성하는 것은 종종 ORM에서 어렵거나 비효율적일 수 있습니다.
2.
애플리케이션 성능 저하 자동화된 쿼리 생성과 추가 계층 때문에 성능 저하가 발생할 가능성도 있습니다.

예시

Java : Hibernate
Python : SQL Alchemy