Zoho Reports の便利な機能の1つには、リレーショナルデータベースを作成できる機能があります。
定義されたリレーションシップを持つ複数のテーブルから成るリレーショナルデータベースを作成したり、インポートして利用することができます。
リレーショナルデータベースの世界では、テーブルは外部キーによって関係しています。
Zoho Reports では、これは ルックアップ列 機能によって実現しています。ルックアップ列は、あるテーブル内の1つの列が、他のテーブル内の列を参照しています。
ルックアップ列をもつ関係テーブル
Employee(従業員) データベースを例にして、詳細をご紹介します。このデータベースは、2つのテーブルDepartment(部署) と Employee(従業員)から構成されます。
Department(部署) テーブルには、2つの列 Department Name(部署名) と Department ID(部署ID)があります。
Employee(従業員) テーブルには、Employee Name(従業員名)と Employee ID(従業員ID)があります。
各従業員が所属する部署は、3つ目の列である Department ID(部署ID)によって参照されます。
Department(部署) テーブル内に列として定義された Department ID(部署ID) は、Employee(従業員) テーブルの Department ID(部署ID) 列 で参照されます。
Employee(従業員) テーブル内のEdit Design(デザインの編集) ボタンをクリックして、このリレーションシップを定義してみましょう。
ルックアップ列内のセルをダブルクリックして、異なるテーブル内の列の一覧を表示し、参照したい列を選択します。
この例では、Department(部署) テーブルにある Department ID(部署ID)を選択します。
クエリテーブルによってテーブルを結合する
リレーションシップによって相互に結合しているデータベーステーブルでは、 関係テーブルを組み合わせるデータを取得することができます。
Zoho Reports では、SQL Select Join クエリ を持つクエリテーブルを作成することによって、関係テーブル内のデータを結合することができます。
例えば、Employee(従業員)テーブルと Department(部署) テーブルを結合するクエリは、下記のように作成することができます。
上記のクエリの例では、Employee(従業員)テーブルと Department(部署) テーブルを結合します。また同時に、Department Name(部署名) を各 Employee(従業員)にマッピングします。
Zoho Reports では、必要なテーブルを結合することで作成したクエリテーブル上で、データ分析や視覚化のための各種のレポートを作成することができます。
Cascade-on-Delete を利用したデータ整合性の強化
Zoho Reports では、関係テーブルからデータレコードを削除する際に、データの整合性を維持するための Cascade-on-Delete 機能を利用することができます。
この機能は、親テーブルでレコードが削除された際に、子テーブル内の全ての対応レコードが自動で削除されます。
上記の例では、Department(部署) テーブル <親テーブル>内の Department(部署) を削除した際には常に、Employee(従業員) テーブル<子テーブル>内の Employee(従業員)がすべて自動で削除されます。
下のスクリーンショットでは、Department(部署)テーブルから、Accounts(会計) 部署 というレコードを削除します。
すると、Employee(従業員)テーブル内の対応レコードが自
動で削除されます。
Zoho Reports の便利なリレーショナルデータベース機能をご理解いただけたでしょうか。
是非、本機能をお試しになり、ご意見・ご要望をお寄せください。
今後も、Zoho Reports サービスでは、リレーショナルデータベール作成機能に関して、機能を強化して行く予定です。ご期待ください!
■Zoho Reports サービスページ: http://reports.zoho.com/
なお、このブログは、本社(AdventNet Inc.)のZohoブログを翻訳・加筆したものです。
元の記事(2009年3月23日投稿)はこちら (翻訳:清水)