はじめに
こんにちは。インシュアランスサービス部の土居です。
突然ですが、みなさんはA5:SQL Mk-2をご存知でしょうか。
多種多様な機能を提供しているこのツールは、データベースを扱う開発を円滑に進めるための重要な存在です。
本記事ではA5:SQL Mk-2の利用事例をご紹介し、開発効率向上の一助になることを目指します。
また、ご紹介する事例の多くは他のSQLクライアントツールでも応用可能ですので、SQLクライアントツールの活用方法を知りたい方の参考になれば幸いです。
A5:SQL Mk-2
A5:SQL Mk-2は、Windows環境で動作する無料のSQLクライアントツールです(2025年6月時点)。
このツールはデータベース管理やSQLクエリの実行を効率的に行うための機能を提供します。
主な特徴として、さまざまな種類のデータベースに対応し、直感的なユーザーインターフェース、そしてSQLの作成や実行をサポートする機能があります。
※「A5SQL」や「A5M2」と略されることもありますが、本記事では正式名称の「A5:SQL Mk-2」で呼称します
※本記事はVersion 2.18.2(x64-edition)をもとに執筆しています。バージョンによってはツールの挙動が異なりますのでご注意ください
※本記事では機能や操作方法の説明は必要最低限にとどめます。機能や操作方法の詳細は公式サイトをご確認ください。
利用プロジェクトの例
参考として、A5:SQL Mk-2を利用したプロジェクト(以下「当プロジェクト」)の概要を示します。
当プロジェクトは長期間にわたり多くのメンバーが関わる中、要件の頻繁な変更がありました。
そのため、ソースコード並びにデータベースまわりでも作業を効率化する便利なツールの活用が必要でした。
それを踏まえ、当プロジェクトはSQLクライアントツールであるA5:SQL Mk-2を有効活用して対応しました。
- プロジェクト
- 概要:バックエンドAPI(約50本)の新規開発
- 期間:約2年
- 人数:約4~10人
- 利用技術
- データベース:MySQL
- インフラ:Microsoft Azure
- データベース
- テーブル数:約40テーブル(うちマスタテーブルが20テーブル)
上記は本記事をお読みいただく際の参考情報です。
SQLクライアントツールで得られる恩恵
利用事例紹介の前に、SQLクライアントツールで得られる恩恵を例としてご紹介します。
本記事ではA5:SQL Mk-2を取り上げますが、多くのSQLクライアントツールは同様の機能を備えているため、「SQLクライアントツールで得られる恩恵」といたします。
SQLクライアントツールは、たとえば以下のようなものをデータベースやER図をもとに生成・出力できるため、作業時間の短縮や開発効率の向上が期待できます。
- DDL
- テーブル定義書
- テストデータ
- マスタデータ
また、出力したデータは登録用にも利用できるため、チーム内外でスムーズに情報連携ができます。例えばマスタデータやテーブル定義を簡単に出力・配布できるため、手作業によるミスを減らすことができます。加えて、先述の通り、直感的なユーザーインターフェースやSQLの作成及び実行をサポートしているため、設計書作成やレビューの作業効率を向上することもできます。
このように、SQLクライアントツールを利用することで、さまざまな恩恵を得られます。
A5:SQL Mk-2の利用事例
設計
ER図を作成できる
ER図(Entity Relationship Diagram)はデータベースの設計図であり、データ構造やテーブル間の関係を表します。
開発者はER図をもとにデータベース全体の構成を俯瞰し、高品質な成果物を作成できます。
当プロジェクトでは、まずエクセルで論理レベルのER図を作成し、その後、設計を具体化する段階でA5:SQL Mk-2を使ってER図を作成することで、データベースの設計を効率化していました。
A5:SQL Mk-2は「なにを」「どのように」作成するかがわかりやすく、誰でも簡単にデータベース定義の更新をすることができるため、設計工程で大いに役立ちました。
頻繁にデータベース定義の更新が必要でも誰でも対応できるため、設計で強力な補助になりました。
以下にER図作成における操作の一部を例示します。
作成したER図用のボードが表示された状態でオブジェクトを選んで追加します。
追加したエンティティに項目を追加したい場合は、下図のようにプロパティを表示し、編集します。

以上が、ER図を新規作成する際の例の説明です。
📒 ちなみに
接続中のデータベースをもとにER図をリバース生成できます。リバース生成を使えば、既存のデータベースを参考にER図を作成する際に便利です。
ER図をもとにDDLを生成できる
DDL(Data Definition Language)は、データベースの構造を定義するためのSQLの分類の1つ(CREATE、DROP、ALTER、TRUNCATEなど)です。
当プロジェクトでは、テーブルをDDLを使って構築し、要件の変更が発生した場合はER図を更新してからDDLを生成・実行することで最新化していました。
DDLはER図を開いている状態で生成でき、生成内容を細かく設定可能です。
当プロジェクトでは
①「Create tableの前にDrop tableステートメントを生成する」
②「Drop tableやCreate tableでデータを保持する(BackupToTempTable, RestoreFromTempTable疑似命令)」
を有効にしてDDLを生成していました。
それぞれ順番に説明いたします。

①Create tableの前にDrop tableステートメントを生成する
この設定により、生成されたDDLには、Create tableコマンドの前に、Drop tableコマンドが含まれるようになります。
つまり、このDDLを実行すれば
- 既存のテーブルを削除し
- 新しいテーブル定義でテーブルを作成し直す
という動きになり、スムーズにテーブルを最新化することができます。
②Drop tableやCreate tableでデータを保持する(BackupToTempTable, RestoreFromTempTable疑似命令)
A5:SQL Mk-2には疑似命令という概念があり、SQL実行時にA5:SQL Mk-2に特別な命令を与えることができます。
以下画像ではテーブルを削除する前にバックアップテーブルにデータを保存する「BackupToTempTable」コマンドと、
テーブル作成後にバックアップテーブルからデータを復元する「RestoreFromTempTable」コマンドが各DDL(drop/create)の前に付与されています。
これにより、既存テーブルに登録されているデータも継続して新しいテーブル定義のテーブルでも保持できます。

ただし、RestoreFromTempTableによるデータの復元はカラム名に基づき行われますが、文字列型の長さが短くなったり互換性のないデータ型変更された場合は復元に失敗します。データの復元に失敗した場合はエラーとなります。
📒 ちなみに
先にご紹介した接続中のデータベースからER図をリバース生成する手法を応用すれば、
接続中のデータベースをもとにDDLを生成できます(接続中のデータベース→ER図→DDL)。
接続中のデータベースをもとにテーブル定義書を生成できる
テーブル定義書は、テーブルの構造や属性、制約などを詳細に記述した文書です。
A5:SQL Mk-2は、接続中のデータベースからテーブル定義書を生成できます。
当プロジェクトでは、ER図をもとにDDLを生成し実行した後、テーブル定義書を生成し、最新化していました。
これにより、要件変更があっても最新のテーブル定義書を容易に生成できました。
📒 ちなみに
ER図をもとに「エンティティ定義書」という類似のドキュメントを生成できますが、その場合はRDBMS固有の情報や型定義が生成されないため、注意が必要です。エンティティ定義書とテーブル定義書は別物、と捉えておくとよいでしょう。
開発・テスト
データのインポート・エクスポートができる
A5:SQL Mk-2では、SQLエディタでINSERT文を実行したり、テーブルに直接キーボード入力したりすることでデータを登録できるだけでなく、ファイルからデータをインポートすることも可能です。
また、データをエクスポートすることで再利用可能なものとして、データベースの外で管理できます。
以下、より詳しく説明します。
データのインポート
CSVまたはTSV拡張子のデータをデータベースにインポートできます。
データのインポートには、後述するデータのエクスポートでエクスポートしたCSVファイルを使えるため、
当プロジェクトではマスタデータをCSV形式でエクスポートし、マスタデータの管理・共有に活用していました。
データのエクスポート
以下いずれかのファイル形式で、データをエクスポートできます。
- CSV
- TSV
- XML
- JSON
- DbUnit
- Insert(SQL)
- Update(SQL)
また、「CSV」、「TSV」、「Insert(SQL)」、「Update(SQL)」のいずれかでエクスポートした場合は、データの登録にそのまま利用することもできます。
📒 ちなみに
SQLファイルでエクスポートした場合、そのファイルは実質、DMLで構成されたものになります。DML(Data Manipulation Language)とは、データの操作を行う際に使用する、SQLの分類の1つであり、SELECT、INSERT、UPDATE、DELETEが主に利用されるコマンドとして挙げられます。
テスト用ダミーデータの生成ができる
A5:SQL Mk-2ではテスト用のダミーデータを生成できます。
少量なら手作業でもデータを用意できますが、大量データが必要な場合はこの機能を利用すると効率的です。当プロジェクトでは、APIの単体テスト用のテストデータ作成に活用していました。
GUI上で「テスト用ダミーデータの作成」ボタンを押下すると、以下のようなダイアログが表示されるので、
適宜入力内容を更新して、データの作成を開始します。
以下参考です。詳しくは公式サイトをご確認ください。
- 開始値~終了値:データの値の開始値と終了値です
- ステップ:開始値~終了値までの間のIDの値の間隔です。「1」の場合は「1,2,3…」という刻みでレコードが登録されます
- ‘%d’:フォーマットで、連番の値を使用する場合に記述します

データの登録が完了すると、以下図のようにレコードが追加されていることがわかります。

SQLの実行計画を取得できる
A5:SQL Mk-2では、SQLの実行計画を出力できます。
実行計画は、SQLがデータベース内部でどのように実行されるかを記したものであり、SQLの実行効率を高めたり、リソース消費を抑えたりするための参考に利用されます。
当プロジェクトでは、機能実装や性能テストの際にこの実行計画を参照し、SQLの品質向上に役立てていました。

おわりに
ここまで、A5:SQL Mk-2の利用事例をご紹介しました。
A5:SQL Mk-2だけでなく、SQLクライアントツールの多くはデータやテーブル定義の効率的な管理が可能なため、
どのSQLツールを使うにあたっても、開発で有効活用することで開発効率向上に繋げることができます。
ここでご紹介した以外にも利用事例は数多くあり、あくまで事例の一部の列挙にはなりましたが、
本記事がデータベースを扱うプロジェクトの一助となれば幸いです。
関連