【一般】MariaDBに接続してみる

**MariaDB**をインストールしたので、早速Sharperlightからアクセスしてみたいと思います。
MariaDBのインストールは各方面で紹介されているので、ここでは省略します。
### データベースの準備 ###
テーブルを作成したり、データを準備したりという作業がありますね。マイクロソフトSQLサーバーのような管理ツールがあるといいですね。
**HeidiSQL**というツールがあるようなので使用してみます。
HeidiSQLをインストールして起動したら、`新規`ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/a617920a-cbe3-5dc3-9dac-d99ad5c26a09.png)
`Unnamed`というエントリーが作成されるので適当に名前を付けます。
パスワードを入力し、`開く`ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/1ad5d0d6-a13c-7736-277e-c5ef5a9ee693.png)
管理画面に切り替わります。最上位のノードMyDatabaseの右クリックメニューから`新規作成` -> `データベース`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/d4642918-4872-0b46-56b4-dedbd63af67a.png)
データベース作成ダイアログが表示されるので、データベース名を入力し`OK`ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/7b6e392e-8582-6260-2aa3-f6b920d558fc.png)
出来たばかりのデータベースを選択し、右クリックメニューから`新規作成` -> `テーブル`を選択します。
**名前**および**コメント**、**カラム**を設定して`保存`ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/4902bc1a-77e3-619e-423c-1502107b6bab.png)
次はデータを準備します。`データ`タブに移動して右クリックメニューから`行の追加`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/fcc27619-2230-e2ad-22b6-956d9ccfb678.png)
値を入力して、3レコードほどデータを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/0900e8d7-51e0-6589-0fb2-41bee1296e16.png)
これでデータの入ったMariaDBが準備できました。Sharperlightとの会話に必要なデータモデルを作成します。
### データモデルの作成 ###
[Sharperlight](https://sharperlight.jp/)アプリケーションメニューから**スタジオ**を起動します。
`New`アイコンをクリックして、新しいデータモデル（Product:製品）の作成を開始します。
**Description**と**Unique Code**を記入して、**Target Platform**には**MySQL**を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/91323074-8621-6c2a-93c1-d5a8f65f896c.png)
接続情報入力画面になるので、MariaDBへの接続情報を設定し、`接続テスト`ボタンで確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/38718bb4-71ce-b547-6acc-477e26279a1a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/234d846e-465e-8a55-178d-8dd308d2abdd.png)
確認後、`OK`ボタンで接続情報を保存します。テーブルをインポートしますかという問い合わせダイアログが表示されるので、`Yes`ボタンで次に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/0b94a209-aa13-c618-2a4f-fcb64c93e24c.png)
データベースオブジェクトをインポートするダイアログが表示されるので、`Get Tables`ボタンをクリックします。Sharperlightエンジンが先ほどの接続情報を使用して、データベースのスキーマをチェックし、必要であろうテーブル／フィールド情報の読み込み準備を行います。今回は**qiitasample**テーブルのみが必要なので、必要ではないオブジェクトのチェックを外します。`OK`ボタンで読み込みを開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/12d0fd48-9ca9-dc56-c901-9abf57e755c7.png)
読込が終了するとこのようなメッセージが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/9f170ed3-be55-dc39-c3d0-499f97680467.png)
これでデータモデルの準備ができました。データモデルを所定の場所に保存します。
### 接続情報の定義 ###
先ほども接続情報を記入しましたが、あれはデータモデルにテーブル等のスキーマ情報をインポートするための接続だったので、今度はSharperlightアプリケーションがデータベースとの会話に使用する接続情報を定義します。
**クライアントのセットアップ**で行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/adae7940-c48c-9464-9a4d-bf219f88b04b.png)
設定が済んだら`接続テスト`ボタンで動作確認を行います。正常に接続ができれば`OK`ボタンで接続情報を保存します。
### クエリの作成と検証 ###
以上でSharperlightがMariaDBと会話できる準備が整ったので、早速クエリを作成して実行してみます。
[Sharperlight](https://sharperlight.jp/)アプリケーションメニューから**クエリビルダ**を起動します。
フィルター領域の`製品`（データモデル）に先ほど作成したデータモデル**My MariaDB**、`テーブル`には **Qiitasample Customer**を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/4d0acb02-8ad3-bc6e-dbb4-3abc62a86164.png)
全てのフィールドを出力領域に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/290a8033-d621-de01-9e38-416c857cc4fa.png)
`プレビュー`ボタンでクエリの動作確認を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/b4d871ba-9009-b79e-2940-1a653aa0fcd0.png)
正しくデータが返ってきましたね。

では、失礼します。