데이터베이스

../_images/33907152464_a99fdcc8de_k_d.jpg

DB-API

파이썬 데이베이스 API (DB-API)는 파이썬 데이터베이스 접근 모듈을 위한 표준 인터페이스를 정의합니다. PEP 249 에 문서화가 되어 있습니다. sqlite3, psycopg, 그리고 mysql-python 와 같이 거의 모든 파이썬 데이터베이스 모듈이 이 인터페이스를 따릅니다.

이 모듈이 어떻게 이 인터페이스를 따라 동작하는지 확인하고 싶으시다면 아래 튜토리얼을 확인해보세요. 요것이것.

SQLAlchemy

SQLAlchemy 는 일반적으로 사용되는 데이터베이스 툴킷입니다. 다른 데이터베이스 라이브러리와 달리 ORM 레이어를 제공할 뿐만 아니라 SQL 없이도 데이터베이스와 무관하게 코드를 작성할 수 있도록 일반화 된 API를 제공합니다.

$ pip install sqlalchemy

Records

Records 는 미니멀리스트 SQL 라이브러리입니다. 다양한 데이터베이스에 raw SQL 쿼리를 날릴 수 있도록 디자인되었습니다. 데이터는 프로그래밍방식으로 사용될 수도 있고 여러 유용한 데이터 포맷응로도 추출할 수 있습니다.

$ pip install records

SQL 데이터를 추출할 수 있는 커맨드라인 도구를 포함하고 있습니다.

PugSQL

PugSQL 은 파라미터를 집어넣어 SQL을 직접 작성하기 위한 간단한 파이썬 인터페이스입니다. ORM은 절대 아니지만 파이썬으로 깔끔한 인터페이스를 제공합니다.

$ pip install pugsql

장고 ORM

장고 ORM은 장고 가 데이터베이스에 접근하기 위해 사용하는 인터페이스입니다.

이는 모델 , 즉 파이썬으로 데이터를 조직하기 쉽게 해주는 추상화라는 아이디어에 기반하고 있습니다.

기본 지식:

  • 각 모델은 django.db.models.Model. 의 하위 클래스인 파이썬 클래스이다.

  • 모델의 각 속성은 데이터베이스의 필드를 나타낸다.

  • 장고는 자동으로 만들어진 데이터베이스 엑세스 API를 제공합니다. Making queries 문서를 확인하세요.

피위(peewee)

peewee 는 파이썬 2.6 이상을 지원하면서 3.2 이상도 지원하는 가벼운 ORM입니다. SQLite, MySQL, 그리고 PostgreSQL을 기본적으로 지원합니다. model layer 는 장고 ORM과 비슷합니다. SQL 비스무리한 메소드 로로 데이터를를 쿼리할 수도도 있습니다. SQLite, MySQL, PostgreSQL을 기본 지원하며 다양한 애드온 도 사용 가능합니다.

포니ORM(PonyORM)

PonyORM 은 데이터베이스 쿼리를 위한 새로운 접근방식을 취하는 ORM입니다. SQL과 비슷한 언어나 불리언 표현식을 작성하는 대신, 파이썬의 제너레이터 구문을 사용합니다. PonyORM 엔티티를 생성할 수 있는 그래픽 스키마 편집기도 제공합니다. 파이썬 2.6 이상과 파이썬 3.3 이상을 지원하고 SQLite, MySQL, PostgreSQL, Oracle에 연결할 수 있습니다.

SQLObject

SQLObject 도 또다른 ORM입니다. 다양한 데이터베이스를 지원합니다. MySQL, PostgreSQL, SQLite처럼 일반적인 데이터베이스 뿐만 아니라 SAP DB, SyBase, Microsoft SQL Server 같은 기묘한 데이터베이스 시스템도. 지원합니다.파이썬 2.6 이상의 파이썬2를 지원합니다다.