はじめに
Sharperlightという製品を利用したビジネスソリューションのTipsをこれまで投稿してきましたが、Sharperlightを使用する上で基本となる、いやこれ無しでは始まらないもの、データモデルの作成方法をみてみようと思います。
Sharperlightは動的にクエリを生成し、それを発行してデータベースからデータを抽出してくれます。
Sharperlightエンジンがクエリを生成する手助けするのがデータモデルです。
データモデル
Sharperlightの核です。接続するデータベースのスキーマ情報ならびに拡張ビジネスロジック等が、Sharperlightエンジンの理解できる方法で定義されています。
まあ、こうのように表現すると"なんか難しいのでは?"なんて思いますが、基本的なものを作成するのは簡単なので、その方法を一緒にみていきましょう。
例として使用するデータベースはこれにしましょうか。
スタジオ
データモデルの作成には、Sharperlightスタジオを使用します。
起動
Sharperlightアプリケーションメニューからスタジオを起動します。
スタジオが起動したらNew
アイコンで作成開始といきましょう。
基礎情報の設定
New Productダイアログで、DescriptionとUnique Codeを指定します。Unique Codeは、今後このデータモデルを使用していく上でキーとなるコードなので短くても理解しやすいコードを与えるようにします。
あとは接続するデータベースのプラットフォームを指定してOK
ボタンで先に進みます。
データベース接続情報の設定
ここではデータベースへの接続を設定します。これは新規データモデルにデータベースのスキーマ情報を読み込むためのものです。接続情報を入力し接続テストで動作を確認!成功すればOK
ボタンで先に進みます。
スキーマを読み込みますか?というメッセージが表示されるので、Yes
ボタンで先に進みます。
スキーマのインポート
このダイアログではスキーマをインポートします。Get Tables
ボタンでスキーマ情報を取得します。取得された情報はツリー形式で表示されます。必要なスキーマ情報にチェックを入れてOK
ボタンでインポートします。
複数のスキーマがデータベースにある場合等は、Schema Owner
やTables
フィルターを使用できます。
正常にスキーマがインポートされるとこのようなメッセージが表示されます。OK
ボタンで先に進みます。
データモデルにデータベーススキーマがインポートされました。
ここで、様々な調整をお好みに合わせて加えることができますが、ここでは省略します。
保存
Save
アイコンでデータモデルを保存します。
注意を促すメッセージが表示されるのでOK
ボタンで先に進みます。
"データモデルをSharperlight指定のフォルダに保存しないと使用できません"っていう注意です。
これが指定の場所なのでSave
ボタンで保存します。
次に全てのSharperlightアプリケーションがこのデータモデルを使用する上で必要なデータベース接続情報の設定を促すメッセージが表示されます。Yes
ボタンで先に進みます。
Sharperlightクライアントセットアップが起動するので、データベース接続情報を入力しテストも行いOK
ボタンで保存します。
動作確認
Sharperlightクエリビルダをアプリケーションメニューから起動します。
起動したら製品の検索
ボタンで検索ウインドウを開きます。先ほど作成したデータモデルが見えましたね。選択してみます。全てのSharperlightアプリケーションでは、製品
とはデータモデル
を指します。
次にテーブル検索
ボタンをクリックします。いかがですか?データモデルにインポートしたスキーマ情報が確認できますね。ここではSales Detailテーブルを選択してみます。
選択
領域に選択したテーブルのフィールド一覧が表示されました。
右クリックメニューよりすべてを出力
を選択します。
全てのフィールドが出力
領域に設定されました。プレビュー
ボタンでクエリを実行してみます。
データが抽出されました。
情報アイコンのサブメニューで、どのようなSQL文が生成されたのか確認できます。
生成されたSQL文はこのようになっています。(日本語が潰れて表示されたますが気にしないでいいです)
あとがき
データモデルの作成から動作確認まで簡単にみてきました。
データモデルではもっともっといろんな設定を行うことができますが、それらはまた追々紹介できればと思っています。
この記事が皆さんの業務のお役に立てれば光栄です。