본문 바로가기
Dev DBAN/개발 용어 핥아보기

개발용어 핥아보기 - ORM을 알아보자

by 디반 2021. 11. 1. 17:38
반응형

ORM (Object Relational Mapping)

현재 개발 완료한 프로젝트(3 Line News)를 조금 더 발전 시키기 위해 공부하는 중

데이터 베이스와 객체 지향 언어(python)간의 호환이 되지 않기에 이걸 변환, 맵핑하는 프로그래밍 기법이다.
객체 지향 프로그래밍(OOP, Object Oriented Programming) 언어 는 클래스라는 개념이 존재하고 RDBMS에는 테이블이라는 개념이 존재한다.

EX : OPP => python code [class name:] / RDBMS => sql [CREATE TABLE name ; ]

Sql문으로 DB 관리 하는게 너무 귀찮아! 매번 commit,close도 해야되고
매번 구문을 직접 넣어서 써야돼 이걸 해결할 방법이 없을까?

위와 같은 이유로 나온 것이 ORM인 것 같다 (뇌피셜)

현재 ORM을 공부하는 이유도 이러한 이유 때문이다.
SQLalchemy를 배우려고 찾다가 ORM이 뭔지 궁금해 찾아보고 공부 중인 것이다...

 

ORM 장 단점

장점

  1. SQL문을 쓰는 것이 아닌 자기가 쓰는 언어 그대로 사용 가능 (Python, JAVA ....)
  2. OOP를 사용하기에 생산성이 증가한다(왜냐하면 다 다른 함수에 담아서 재사용 할 수 있어서)
  3. DBMS 종속성이 줄어든다 (OOP를 사용하기 때문에 사용 코드 구조와 DB구조 간의 간격이 좁혀짐)

단점

  1. ORM 단독으로 서비스 구현이 어렵다.
  2. SQL보다 복잡할 수 있다(자동 생성 쿼리)
반응형

댓글


"); wcs_do();