インテリジェントなデータベースウィザードを使ったアプリケーション開発
データ駆動型のソリューション、例えばデータベースやエンタープライズアプリケーションは、バックエンドデータベースへの接続と、それとの連携に依存しています。しかし、バックエンドのリレーショナルデータベースは、複雑なデータ関係を反映したテーブルにデータを格納しています。これにより、効果的なデータ管理とデータ整合性の維持に多くの利点がありますが、格納されているデータを新しい方法でアクセスしたり、扱ったりすることが難しくなる場合があります。アプリケーション開発者は、データベース設計の原則やSQLクエリ言語について、ある程度の知識を持っている必要があります。
一方、現実世界のデータ関係は、多くの場合、親子関係や、さらに複雑な階層構造を表しています。そのため、親子関係などをツリー構造で可視化できる階層データを取り扱うことは、よりシンプルで柔軟性が高く、開発速度の向上につながります。また、この手法は、高度なSQLの知識を持たない開発者にとっても理解しやすく、利用しやすいという利点もあります。
今日の企業で広く利用されているバックエンドのリレーショナルデータベースに接続するアプリケーションを、より簡単、より迅速に、そしてより多くの開発者が利用できるようにするために、Altova MobileTogetherは全く新しいアプローチを採用しています。そのビジュアルデータベースウィザードを使用することで、開発者は容易に階層構造のデータを取得するクエリを作成し、そのデータをアプリケーション内で処理し、その後、そのデータを階層構造のまま簡単に保存できます。MobileTogetherは、データの正規化処理と、対応する関連テーブルへのデータ書き込みを自動的に行います。それでは、その仕組みを見ていきましょう。

階層構造データを取り扱う
リレーショナルデータベースは、データを行と列で構成し、それらが組み合わさってテーブルを形成します。データは通常、複数のテーブルにまたがって構造化されており、主キーと外部キーによってデータ間の関係が示されます。これらのキーは、データの重複を排除しつつ、複雑な関係性を定義することを可能にします。リレーショナルモデルには多くの効率性と利点がありますが、特定の用途には適さない場合があります。例えば、2つのテーブルのデータを1つのフォームに表示し、そのデータを編集可能に保つためには、2つの異なるデータベースクエリが必要となり、かなりの量のSQLコードを手動で記述する必要があります。このようなフォームに入力されたデータをデータベースに保存するには、さらに複雑な処理が必要になります。このプロセスは時間のかかるだけでなく、アプリケーション開発者は、他のスキルに加えてSQLに関する深い知識も必要とされます。これは、現在不足している優秀なソフトウェアおよびアプリケーション開発者の不足をさらに深刻にする大きな課題です。
視覚的な モバイルアプリケーション開発を容易にするローコードツール、例えばMobileTogetherなど バックグラウンドで作業を行い、バックエンドデータに接続するアプリケーションの開発をできる限り容易にすることで、開発者が複雑なSQL文の記述に時間を費やすことなく、アプリケーションの見た目や機能、そして何よりもユーザーエクスペリエンスに集中できるよう支援しています。 (補足:この記事ではデータベースを利用したアプリケーションに焦点を当てていますが、MobileTogetherはXML、JSON、HTML、SOAP、RESTなど、他の形式のデータソースにも接続できます。また、Excel、EDI、テキストなどの既存のデータソースも、容易に接続できます。) MapForce Server (統合)
データソースに関わらず、MobileTogetherは、バックエンドのデータを階層的なツリー形式で表示します。これにより、開発者はアプリケーションの機能や操作を定義しながら、バックエンドデータベースにどのようにデータが格納されているかにかかわらず、データの関連性をすぐに理解し、必要な要素を操作することができます。
データベースウィザード:データベースの階層構造のインポート
MobileTogetherでアプリケーションのデータストアに初めて接続する際、サポートされている様々なリレーショナルデータベースと接続オプションから選択できます。
接続ウィザードが、その手順を段階的に案内してくれます。

接続が確立されると、「ページソースの追加」ダイアログに、利用可能なテーブルの一覧が表示されます。以下は、書籍カタログアプリを作成するために使用されている、比較的シンプルなバックエンドデータベースの例です。

アプリケーションに必要な列を選択するには、データベースウィザードのビジュアルSQLステートメントビルダーを使用すると、クリック操作だけでSELECTステートメントを簡単に作成できます。これは、SQLステートメントを手動で記述するよりもはるかに高速です。まず、「Authors」テーブルを選択すると、ダイアログにはデフォルトで全ての列を選択するSQLステートメントが表示されますが、これは必要に応じて調整できます。今回は、全ての列を保持しつつ、SQLステートメントを編集して、データを「AuthorName」でアルファベット順に並べ替えるようにします。最終的なSQLステートメントは、コンテキストに応じたインタラクティブなツールバーボタン、コンボボックス、ドロップダウンメニューなどを利用して、完全にクリック操作だけで構築されます。

MobileTogetherを使ってデータベースを扱う際の大きな利点の一つは、データベース全体の構造を一度にインポートできることです。これにより、事前に定義されたテーブル間の関係を有効にしたり、さらに「関係の追加/編集」ダイアログを通じて、その場で新しいテーブル間の関係を定義したりすることができます。
もし、メインテーブルに関連する追加のデータベーステーブルがある場合、どのテーブルとの関連性を維持したいかを選択できます。(これらの関連性は、主キーと外部キーを使用して構築されます。)例えば、以下に示すように、BooksテーブルにはAuthorIDという外部キーがあり、これにより各書籍レコードがAuthorsテーブルの著者と関連付けられています。この関連性を維持したい場合は、Booksテーブルの横にあるチェックボックスにチェックを入れることができます。その場合、BooksテーブルがAuthorsテーブルの子として階層的に関連付けられるように、ページソースが生成されます。Booksテーブルのすべての列が自動的に選択されます。

これにより、データベース全体の構造が、ページソース表示領域内にツリー構造で表示されるようになります。

各列は、アプリケーションのユーザーインターフェースと機能を構築するために利用できるようになりました。
最も重要な点として、MobileTogetherは、ユーザーが変更したデータをデータベースに保存する際の手順を非常に簡素化します。階層的なツリー構造で表現されたリレーショナルテーブルの各レベルにおいて、保存時にテーブルのすべての行を置き換えるか、変更された部分のみを保存するかを決定できます。そして、この設定は、階層構造の各レベルに対して個別に適用できます。

データベースウィザードは、アプリケーション開発の全プロセスにおいて役立ちます。例えば、アプリケーションのデザインにおける様々なサブページで使用するデータを、ソースからフィルタリングするために利用できます。ここでは、著者の詳細を表示・編集するためのサブページを定義する際に、現在の著者IDを持つ著者を選択するために、データをフィルタリングする処理を視覚的に表現しています。

単一のテーブルを扱う場合でも、複数の関連テーブルを扱う場合でも、データベースウィザードを使用することで、データベースから必要なデータを取り出すためのクエリを簡単に定義できます。MobileTogetherに組み込まれた機能を活用することで、データをデータベースに書き戻す作業は、単に「保存」コマンドを実行し、MobileTogetherに階層構造全体における変更のみを保存するように指示するだけで済む場合があります。
もちろん、SQLコマンドを直接使用することを好む開発者の方にも、MobileTogetherは対応可能です。トランザクション、一括挿入など、あらゆる詳細な制御が可能であり、任意のSQLステートメントを直接実行することもできます

詳細はこちらをご覧ください。今すぐお試しください
これらの機能が実際にどのように動作するかを確認するには、ぜひ当社の製品をご覧ください アプリケーション開発に関するハウツー動画 データベースを活用した書籍カタログアプリが、最初から最後までどのように開発されたのかを解説しています。
バックエンドデータベースに接続するアプリケーションを開発するには、まず無料で利用できるMobileTogether Designerをダウンロードしてください。