반응형
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 장 단점
장점
- SQL문을 쓰는 것이 아닌 자기가 쓰는 언어 그대로 사용 가능 (Python, JAVA ....)
- OOP를 사용하기에 생산성이 증가한다(왜냐하면 다 다른 함수에 담아서 재사용 할 수 있어서)
- DBMS 종속성이 줄어든다 (OOP를 사용하기 때문에 사용 코드 구조와 DB구조 간의 간격이 좁혀짐)
단점
- ORM 단독으로 서비스 구현이 어렵다.
- SQL보다 복잡할 수 있다(자동 생성 쿼리)
반응형
'Dev DBAN > 개발 용어 핥아보기' 카테고리의 다른 글
개발 용어 핥아보기 - 프로세스와 스레드 (0) | 2021.12.28 |
---|---|
개발 용어 핥아 보기 - TCP와 UDP 간단 정리 (0) | 2021.12.23 |
개발 용어 핥아 보기 - OSI 7계층? (0) | 2021.12.22 |
개발 용어 핥아보기 - 네트워크 주소 변환 NAT (0) | 2021.10.12 |
개발 용어 핥아보기 - 트러블 슈팅 (0) | 2021.10.10 |
댓글