Python - 3 Ways to Work with Databases (SQL, ORM, Query Builder)
Medium
Python과 같은 모던(modern) 프로그래밍 언어에서는 데이터베이스 내 데이터를 검색하고 연산을 수행하고 저장하는 작업들을 수행하는 다양한 방법을 제공하는데요, 관련 기사 공유합니다.😃
<Python - 데이터베이스로 작업하는 3가지 방법(SQL, ORM, 쿼리 빌더)>
Python에서는 데이터베이스 연동방법을 위한 여러가지 방법을 제공합니다. 대표적인 방법으로 SQL, ORM 그리고 쿼리 빌더를 들 수 있는데요, 각 방법별로 장단점 알아봅시다.
Raw SQL
장점
사용하기 쉽습니다.
SQL 언어의 모든 기능을 사용할 수 있습니다.
단점
데이터베이스별 SQL dialect에 따라 다를 수 있습니다.
대규모 애플리케이션에서 확장성 및 가독성 문제가 발생합니다. 대규모 애플리케이션에서 작업할 때는 여러 개의 SQL 스크립트를 처리하는 것이 복잡할 수 있습니다. 즉, 확장 가능하고 읽기 쉬운 코드를 개발하기 위한 최적의 접근 방식이 아닐 수도 있습니다.
ORM (Object Relational Mapping)
ORM(객체 관계형 매핑)은 시간이 지남에 따라 많은 애플리케이션에서 널리 사용되고 있는 기술입니다. 클래스와 객체를 사용해 테이블을 표현하고, 이러한 클래스를 사용해 레코드로 작업할 수 있습니다. 기본적으로 데이터베이스 테이블을 Python 클래스로 변환한 다음 이 언어에서 사용하는 것을 의미합니다.
Python에서 ORM을 위한 가장 널리 사용되는 프레임워크는 SQLAlchemy입니다.
장점
가독성, 보안, 텍스트 SQL 쿼리가 없으므로 확장 및 새로운 기능 추가가 용이합니다.
모든 데이터베이스에 대해 하나씩 제공됩니다.
코드가 더 길고 복잡해 보일 수 있지만, 보시다시피 전적으로 Python으로 작성되었으며(SQL 문 없이) 유연한 클래스를 사용합니다.
단점
추가 학습, 구현에 더 많은 노력 필요합니다.
기능이 제한될 수 있습니다.
ORM마다 엄격한 스키마 및 attitude가 다를 수 있습니다.
SQL 쿼리 빌더(Query Builder)
Python에서 쿼리 빌더를 사용하는 것은 원시 문과 ORM의 중간 옵션입니다. 각 테이블에 대한 스키마를 정의할 필요 없이 테이블 이름만 사용하면 됩니다.
쿼리 빌더에는 따라야 하는 특정 구문이 있습니다. 그 목적은 Python 코드를 SQL 문으로 변환한 다음 데이터베이스로 전송하는 것입니다.
장점: 각 테이블에 대한 클래스(모델)를 결정하지 않고 여전히 Python 코드만 사용하며, 가독성 및 기타 장점을 유지하면서 ORM보다 구현하기 쉽습니다.
단점: 각 라이브러리에 대한 특정 구문, 일부 SQL 기능이 여전히 누락될 수 있습니다.
원본 기사 링크는 아래와 같습니다. 감사합니다.🙏
[Source Link] https://blog.stackademic.com/python-3-ways-to-work-with-databases-sql-orm-query-builder-e2a2d3cbe437
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 3월 30일 오전 6:22
1. 20대의 스티브 잡스가 했던 행동과 50대에 그가 보여주었던 효율적인 리더십을 혼동하면 안 된다.
‘경영의 신’이란 칭호를 받은 마쓰시타 고노스케는 경영자가 가져야 할 가장 중요한 자질을 ‘인간에 대한 이해’라고 했다. 경영의 진짜 핵심을 찌른 이야기다. 경영이란 무엇인가? 한마디로 ‘사람을 움직여 가치를 창조하는 업(業)’이다.
... 더 보기“To jobs that pay the rent! 집세 내주는 직장을 위해!” 영화 <악마는 프라다를 입는다>에 나온 대사다. 저널리스트를 꿈꾸는 대학 졸업생인 주인공. 하지만 그녀는 당장 생계를 위한 일자리가 급하다.
... 더 보기하나부터 열까지 리더가 상세히 설명해 주기를 바라는 구성원이 있습니다. 반대로 큰 얼개만 듣고 나머지는 자율적으로 하고 싶어 하는 경우도 있죠. 회식에 참여하는 것을 너무나 힘겨워 하는 구성원이 있는 반면, 동료들과 함께 시간을 보내며 가까워지는 것을 원하는 구성원도 있습니다.
... 더 보기1. 굿즈 사업의 미래는 밝아 보인다.