ORM 이란
- Object Relational Mapping = 객체-관계 매핑.
- 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결).
- 객체 모델과 관계형 모델간에 불일치 존재함.
- ORM을 통해 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결.
- 데이터베이스 데이터 <=매핑=> Object Field
- 객체를 통해 간접적으로 데이터베이스 데이터를 다룸.
ORM 장단점
장점
- 객체 지향적인 코드로 직관적인 비지니스 로직 생성 가능.
- DBMS 종속성이 줄어들고 종류에 관계없이 빠르게 적용 가능.
- 쿼리에 집중하지 않고 빠르게 개발 가능.
- 재사용 유지 보수 편리성 증가.
단점
- 초기 적용에 러닝커브 존재.
- 사용할 프레임워크 또는 개념에 대한 공부가 필요함.
- 프로젝트 복잡성이 클시 난이도가 상승.
- 잘못 적용할 경우에 속도저하 유발.
- 복잡한 SQL 사용하기 어려움.
DBMS와 RDBMS
- DBMS란 DataBase Management System = 데이터베이스를 관리하는 시스템.
- RDB란 Relational Database = 관계형 데이터 베이스
- RDBMS란 Relational Database Management System = 관계형 모델을 기반으로하는 DBMS의 한 유형
- RDB를 생성 및 수정하고 관리하는 소프트웨어
- 테이블이 서로 연관되어 있음. = 일반 DBMS 보다 효율적으로 데이터 저장 및 구성과 관리가 가능함.
- 정규화를 통해 데이터의 중복성을 최소화 하며 트랜잭션 수행이 쉬워짐.
- Mysql,MSSQL, oracle이 예시임.
SQL Mapper 이란
- SQL Mapper는 작성한 SQL 구문으로 RDB에 직접 접근하여 그결과 값을 객체에 매핑 시켜줌.
장점
- 관계를 정확히 명시 가능함.
- 복잡한 SQL 문도 처리할 수 있음.
단점
- SQL 구문을 직접 작성해야함.
- 유지보수 하락(객체 모델, 관계 모델 등을 각각 개발해야 함)
- DBMS의 종속성(oracle , Mssql , Mysql)
도움받은 페이지
https://kingpiggylab.tistory.com/289