ORM 과 SQL Mapper

TigerStoneV·2022년 9월 20일
0
post-custom-banner

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

profile
개발 삽질하는 돌호랑이
post-custom-banner

0개의 댓글