PyQチームのnao_yです。
Pythonにおけるデータベース操作の基礎を学ぶことのできる「データベース初級」をリリースしました。
データベース初級の紹介
「データベース初級」は2つのパートに分かれています。
- SQLiteでDBプログラミング
- SQLAlchemyでDBプログラミング
標準ライブラリから使うことのできるデータベースSQLiteと、PythonのORMとしては一番有名なSQLAlchemyを学ぶことのできる構成になっています。
どちらのパートも
- SELECT文の実行
- INSERT文、UPDATE文、DELETE文の実行
- トランザクション処理
というデータベース操作の基本を通してSQLite、SQLAlchemyの使い方を学びます。
ORMとは
ORMについて「馴染みのない言葉だな」と感じる方もいるかと思いますので、ORMについて説明いたします。
一言で表すとデータベースを利用したプログラムを書きやすくするライブラリーです。
ORMはPythonのオブジェクトとデータベースの関連付けを行ってくれます。
- オブジェクト: Object
- データベース: Relational Database(※)
- 関連付け: Mapping
それぞれの頭文字を取ってORMと呼びます。
ORMが用意している関数を使うことでSQL文が自動で組み立てられ、SELECT文やINSERT文などが実行されます。
※ システム開発で使うことの多いMySQLやPostgreSQLといったデータベースは正式にはリレーショナルデータベース(Relational Database
)と呼びます
ORMを使うメリット
ORMには以下のようなメリットがあります。
- Pythonのオブジェクトを通してSQLを扱うことができる。
ORMが自動でSQLを生成してくれるので、プログラムがPythonの世界で完結するようになります。 コマンドや実行結果をPythonから扱うことができ、柔軟なデータ操作が行えます。
- データベースごとの違いを吸収してくれる
MySQL、PostgreSQLなど様々なデータベースがありますが、それぞれコマンドなどに違いがあります(「SQLの方言」と呼びます)。 ORMは使用するデータベースに合わせたSQLを生成して実行してくれます。
ORMはSQLを多用する複雑なアプリケーションを実装するときに力を発揮します。
ぜひ「データベース初級」を通してPythonでのデータベース操作の基本を学んでみてください。