SQLite 中級から上級

このコースでは、高度な SQLite のテクニックを深く掘り下げます。制約、インデックス作成、結合、サブクエリ、トランザクション、トリガー、ビュー、全文検索、JSON、バックアップ、PRAGMA チューニング、CTE、ウィンドウ関数などをマスターしましょう!

データベースSQLite

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

17 のガイド付きラボで、より高度なクエリ、整合性、自動化、専門検索、分析、バックアップ、チューニング、保守へ SQLite スキルを広げます。各ラボは小さなローカルデータベースを使い、SQL または CLI コマンドを実行して、スキーマ、行、クエリプラン、状態を確認します。

幅広い中上級トピックを扱いながら、学習形式は段階的です。制約とインデックスから、JOIN、サブクエリ、トランザクション、トリガー、ビュー、FTS5、CTE、ウィンドウ関数、運用コマンドまで進みますが、1 つの大規模アプリを設計するものではありません。

学習内容

  • 外部キー、CHECK 制約、複合キー、ON CONFLICT アクションで整合性を保つ
  • インデックスを作成・削除し、EXPLAIN QUERY PLAN を調べ、再構築、ANALYZE、VACUUM を実行する
  • 内部・左・複数テーブル JOIN、集約、GROUP BY、HAVING、相関サブクエリでデータを結合・要約する
  • BEGIN、COMMIT、ROLLBACK、セーブポイント、不正残高を拒否する制約で変更を制御する
  • トリガーで監査記録を自動化し、単純・結合・集約・トリガー対応更新可能ビューを構築する
  • FTS5 仮想テーブルを作成し、MATCH、前方一致、列指定、Boolean 全文検索を使う
  • JSON をテキストとして保存し、抽出・絞り込み・更新用の独自 Python SQL 関数 json_extract を公開する
  • SQL dump の書き出しと復元、PRAGMA、テンポラリテーブル、単純・再帰 CTE、ウィンドウ関数による順位と累積値を実践する

このコースの対象者

このコースは、SQLite のデータベースとテーブルを作成し、基本的な SELECT、INSERT、UPDATE、DELETE を書ける開発者、アナリスト、データベース学習者向けです。大きなプロジェクトで使う前に、多様な SQLite 固有機能をガイド付きで体験できます。

前提知識: テーブル作成、主キー、単純な絞り込み、CRUD を含む SQLite CLI と SQL の基礎を推奨します。JSON ラボでは Python の基礎が役立ちますが、ほとんどの内容には不要です。

学習環境: 17 の初級ガイド付きラボはすべて Ubuntu 22.04 デスクトップ VM で、主に sqlite3 CLI を使います。84 のタスクステップと 101 の自動チェックがあり、JSON ラボでは標準 sqlite3 と json モジュールを使う Python スクリプトも作成・実行します。

よくある質問

実際にはどの程度高度なコースですか?

再帰 CTE、ウィンドウ関数、FTS5、トリガー、クエリプランなど、基本 SQL を超えるトピックがあります。ただし 17 のラボはすべて初級に分類され、小さなデータベースでコマンドを段階的に示すため、独立したデータベース設計より機能のガイド付き練習が中心です。

JSON ラボは SQLite のネイティブ JSON 関数を使いますか?

いいえ。JSON をテキストとして保存し、Python で json_extract 関数を定義して Python の SQLite 接続に登録します。SQLite 組み込みの JSON 演算子や関数を練習する内容とは異なります。

どのようなバックアップを行いますか?

CLI の .dump でテキスト SQL dump を作成し、その SQL を新しいデータベースに入力して復元します。オンラインバックアップ API、安全なバイナリコピー、定期バックアップ、ポイントインタイム復旧は扱いません。

本番データベースのチューニングに備えられますか?

インデックス、クエリプラン、ジャーナルモード、外部キー検査、キャッシュ、整合性検査、ANALYZE、VACUUM は学びます。実負荷のベンチマーク、同時書き込み、アプリ接続管理、障害試験、本番監視は対象外です。

講師

labby
Labby
Labby is the LabEx teacher.

おすすめ

no data