投稿

[Python 100日チャレンジ] Day 79 - ORMの考え方

SQLAlchemyなどで使われるORMの考え方を、テーブルとPythonオブジェクトの対応関係から理解します。

[Python 100日チャレンジ] Day 79 - ORMの考え方

ORMとは

ORMは、データベースのテーブルをPythonのクラスやオブジェクトとして扱う考え方です。SQLを直接書く代わりに、コード上のモデルを通してデータを操作します。

1
2
3
4
class User:
    id: int
    name: str
    email: str

このようなクラスが、データベースのusersテーブルに対応するイメージです。

ORMのメリット

ORMを使うと、アプリのコードとデータ構造を近い形で扱えます。CRUD処理を整理しやすく、複雑なアプリでもデータ操作の見通しがよくなります。

注意点

ORMを使っていても、SQLの理解は必要です。JOIN、インデックス、トランザクション、集計の仕組みを知らないと、遅いクエリや意図しない取得が起きることがあります。

SQLAlchemy

PythonではSQLAlchemyが代表的なORMライブラリです。Webアプリや業務ツールでよく使われます。

今日のゴール

ORMは、SQLを隠す魔法ではなく、データベース操作をアプリのコードに合わせて整理する道具です。まずはテーブルとクラスの対応関係を理解しましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。