はじめに
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文はこのようになっています。(日本語が潰れて表示されたますが気にしないでいいです)

あとがき
データモデルの作成から動作確認まで簡単にみてきました。
データモデルではもっともっといろんな設定を行うことができますが、それらはまた追々紹介できればと思っています。
この記事が皆さんの業務のお役に立てれば光栄です。