데이터베이스

../_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

쟝고(Django) ORM

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

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

기본 지식:

  • 각 모델은 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를 지원합니다다.