CodeZine(コードジン)

特集ページ一覧

Visual Studio Codeを使ってIRISのクラスを定義してみよう

InterSystems IRISでシンプルに開発するIoTアプリケーション 第4回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

SQLでデータにアクセス

 先ほど述べたように、IRISではクラス定義を行うと同時にテーブル定義も行われます。IRISはグローバルと呼ばれる高速・軽量なデータベースが基礎になっており、テーブルやクラスは、グローバルに保存されたデータをどのようにアクセスするかという「アクセス・レイヤー」の定義によって実現されます。このことによりIRISでは、同一のデータに対して必要に応じてSQLを使用したり、オブジェクト指向アクセスを使用したりすることが可能となります。

 今回は、管理ポータルから、SQLによるアクセスについて簡単に説明します。管理ポータルのメニューから[システムエクスプローラ]→[SQL]を選んでください。次の図のような画面が開くので、ネームスペースが”DRIVE”となっていることを確認してください。”DRIVE”になっていない場合は、隣の「変更」をクリックしてネームスペースを変更してください。

SQL画面
SQL画面

 画面右側の「クエリ実行」タブをクリックし、

select * from drivedemo_data.carlatest

と入力して「実行」ボタンを押してみてください。今はデータが入っていないので、一件もヒットしない(0 row(s) affected)と表示されます。

注意

 クラス名はDriveDemo.Data.CarLatestですが、テーブル名はDriveDemo_Data.CarLatestとなっていることに注意してください。クラス定義では、”.”で区切られたパッケージを複数階層つなげることができますが、SQLで使用するテーブル名ではパッケージは1つのみです。従って、DriveDemo.Data→DriveDemo_Dataのように、最後の”.”以外は”_”に変換されます。

 次に、以下のようなInsert文を実行します。

insert into drivedemo_data.carlatest (CarId, Tm, Speed, BrakeSW, aX, aY, aZ) values ('car1', to_timestamp('2020-01-14 9:00:00', 'YYYY-MM-DD HH:MI:SS'), 30.0, 0, -100, 200, 1000)

 1 row(s) affectedと表示されたらInsertは成功です。そして、先ほどのSelect文を再度実行してみてください。そうすると、次の図のように、先ほどInsertした行が表示されます。

SELECT結果
SELECT結果

 ここで、クラス定義のプロパティが、テーブルのフィールドに対応していることに注意してください。

 今回は管理ポータルからSQLを発行しましたが、IRISはJDBCなどの標準プロトコルもサポートしているので、他のクライアントプログラムからRDBMSと同様にデータにアクセスできます。

まとめ

 今回の記事では、Visual Studio Codeを用いて、IRISにクラスを定義する方法を紹介しました。IRISのデータベースは、高速・軽量なグローバルと呼ばれる構造を基礎としており、クラスのインスタンスはグローバルとして保存されます。また、クラス定義と同時にテーブル定義も自動的に行われます。これにより、必要に応じてSQLによるアクセスとオブジェクト指向アクセスとを自由に選ぶことができます。このような仕組みにより、高速で自由度の高いデータベースを簡単に構築することが可能になります。

 次回は、前回構築したインタオペラビリティ機能を拡張して、IRISのデータベースにデータを格納する手順について紹介する予定です。

参考

 インターシステムズでは、開発者の皆様にIRISを知っていただくために、いろいろな機能を紹介する短い動画を作成しています(日本語字幕付き)。

 インターオペラビリティ機能は以下のURLで説明されています。ぜひご覧ください。



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 堀田 稔(インターシステムズジャパン)(ホリタ ミノル)

    SEマネージャー。 1992年大阪大学基礎工学部情報工学科卒。同年日本ディジタルイクイップメント(株)入社。電気通信など様々な業界向けプロジェクトにシステムエンジニアとして携わる。1996年InterSystems Data Platform製品の日本語版開発プロジェクトに従事し、同製品の販売・サ...

バックナンバー

連載:InterSystems IRISでシンプルに開発するIoTアプリケーション
All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5