SQLテストツール

APSQLtestについて

SQLについては、インターネット上の公開された知識や様々な関連書籍が出版されています。SQLはデータベース言語としてISO(国際標準化機構)で規格化されているため、一つのデータベース用のSQLが理解できると、基本的には、ほとんどのRDBで同じように利用できます。
RDB(リレーショナルデータベース)の製品としては、IBM社のDB2、ORACLE社のOracle Database、Microsoft社のMicrosoft SQL ServerやAccess、オープンソースのMySQLやPostgreSQLなどがあります。異なるデータベース・エンジンとなっており、コミットメントの方式の違いやローカライズされた特有の言語機能などもありますが、基本的な部分は共通のSQLとなっています
このSQLを学習するツールとしてSQLテストツール(APSQLtest)を開発しました。利用者が実際にSQLを発行することで、SQLへの理解が進むことを意図しています。また、開発時に発生する複雑なSQLの事前開発やSQL不良の早期発見などにも効果があります。ツールに保存されているSQL例は、インターネット上の様々なコンテンツを参考としています。リソースアクセス機能により、元のURLを記載していますので、併せて、ご参照頂ければと思います。

APSQLtestについて

SQLの種類

SQLはRDB(リレーショナルデータベース)型のDBMS(データを管理するプログラム)データベースを操作する言語です。SQLは、大きく分けて3種類の内容から構成されています。

❶ データ定義言語 DDL(Data Definition Language)
データ定義言語は、RDBMSで扱うオブジェクト(テーブルやインデックスなど)の構造や、オブジェクト同士の関係を定義します。

❷ データ操作言語 DML(Data Manipulation Language)
データ操作言語は、データベースを操作するための中心的な要素です。さまざまな条件を示すキーワードと組み合わせて使われ、データ定義言語により複数のオブジェクトの指定も可能です。また、SQL関数と呼ばれる関数を使用することもできます。

❸ データ制御言語 DCL(Data Control Language)
データ制御言語は、データへのアクセスを制御する構文です。トランザクションやシステムを管理したり、ユーザーのアクセス権を制御したりするために使用します。

SQLテストツールの使い方

SQLテストツールは、下記の画面の4機能により構成されています。

❶ テストSQLの登録とテストSQLの実行
テストSQLの選択により実行可能なSQLを展開します。「SQL実行及びQUERY結果をエクセル出力」のボタンによりSQLを実行し、QUERY型の場合は結果をエクセルに表示します。*のコメント行の【xxx】内にカーソルを指定することで、水色のリソース表示に連携され、ダブルクリックすることで、当該のリソースを表示します。SQLテストは、連続した3ステップまでのSQLが実行可能です。
また、作成したSQLを新規に保存する場合には、名前を指定し「テストSQL内容を更新」を行います。作成したSQLを削除する場合には、一旦、状態「DEL」を指定し、「テストSQL内容を更新」にて更新後に「テストSQLの削除」を行うことで削除できます。

❷ テーブルス情報
ナビゲーション更新ボタンは、新規テーブル作成時に表示させるボタンです。
テーブルのスキーマ情報を取得しスキーマ情報テーブルに登録します。登録データが0件の場合には、データシート表示によりデータを登録し、スキーマ情報を作成します。

❸ テーブルのエクスポート/インポート
指定されたテーブルのエクスポート/インポートを行います。
エクスポートする場合は、テーブルを選択し、エクスポートボタンを押します。結果は指定したフォルダーにエクセル形式にて出力します。
インポートする場合は、プルダウンにより当該インポートデータを選択し、「インポート前にテーブルデータを削除」をチェックすることで全件削除後にインポートを行います。また、インポートデータ選択時に水色のリソース表示に連携され、ダブルクリックすることで、当該のリソースを表示できます。

❹ データ+PGMソース保存
フルバックアップは、プログラム、画面、テーブルデータなどすべての情報を保有しているaccdbのコピーをサポートします。最新の3世代のみを保有し、それ以外は、フルバックアップ時に削除します。

APSQLtestのインストール方法について

APSQLtestのインストール方法についての説明となります。

❶ ダウンロード

公開されたAPSQLtestのプログラムや関連ファイルのダウンロードを行います。
ダウンロードのファイル名は、[DEV_ENVD230507.zip]となります。

 ダウンロードファイルの展開(関連連ライブラリの作成を含む)

ダウンロードファイルをAPフォーキャストを稼動させるホルダー配下にコピーし解凍することでプログラムや関連ファイルを作成します。
例えば、[Forecast]のホルダーを作成し、その配下にダウンロードファイル[DEV_ENVD230507.zip]を置き、すべて展開(T)…を選択します。


次に、[¥DEV_ENVD230507]の部分を削除し  展開(E) を選択します。

ファイルの展開時に下記のポップアップが発生した場合は、「ファイルごとに決定する」を選択します。


競合しているファイルの対応については、
・日付とサイズが同じnファイルをスキップするをチェックし
・@batch.bat  変更なしの為、チェック不要
・@batch.ini  変更のある場合は更新
・APSQLtest.accdb リリース要(必須)
・template~ 変更のある場合は更新

展開することで[DEV_ENV]配下に必要なファイルが転送されます。

次に、DEV_ENVと同じ階層で[DLD_ENV]を作成しにD230507フォルダを作成し、[DEV_ENVD230507.zip]を移動しておくことをお勧めします。
誤って、再度、解凍することを防止するためです。

 起動バッチ及びINIファイルの対応(内容を必要に応じて変更要、特にPASSCDの指定は月次利用パスコードを参照の事)

起動バッチのINIファイルの指定内容


起動バッチのDBの指定の変更(下記の淡い青で指定した部分)を行います。 (新規のインストールの場合は必要です)

 リリース後のAPフォーキャストの起動確認

起動バッチにより起動します。起動バッチのショートカットを作成しておくことを推奨します。

最初のバッチファイル実行時に下記のメッセージが出力されるケースがあります。
詳細情報を選択し、次画面の実行を選択してください。

アクセスの本体がインストールされている環境やRUNTIME環境などでいくつかのメッセージが出力されるケースがあります。
アクセスが導入されているケースでは、最初に下記のメッセージが出力されますのでコンテンツの有効化を指定します。

SQLテストツールの概算開発規模

総モジュール数 -----------------------------8 個
プロシージャー 数 ------------------------72 個 
ソースコード行数 ------------------- 4.6KLOC

その他

何かお気づきの点やご意見など有りましたらお問い合せからご連絡頂けると幸いです。