サポート > チュートリアル > 「顧客管理データベース」の事例 (III) > 外部キーの利用 (1)

外部キーの設定

本章では、これまで構築した顧客管理システムをさらに発展させ、「サポート履歴管理」機能を用意してみます。

サポート履歴管理では、「顧客」と「サポート」の二つのモデルを扱います。 このとき、両者は「一人の顧客に対して、複数のサポート記録がある」という関係を持ちます。

Wagby では、このような関係を実現するために「外部キー」という考え方を用意しています。 具体的には、図1のようになります。


図1 外部キーによる連携

サポートモデル側の定義で、外部キーとして顧客モデルの主キーを指定します。 それでは、定義方法を紹介します。

サポートモデルの作成

はじめに、サポートモデルの追加定義を行います。メインシートに「support」モデルを用意します。


図2 サポートモデルを追加する

Wagby 定義ファイルは、1 つの Excel ファイル中に 5 つまでのモデル定義を行うことができます。 これを超えるモデル定義を行う場合は、(xls-model フォルダに含まれている)base.xls ファイルをコピーしてお使いください。

次にサポートモデルの定義を行います。サポートモデルのモデル定義シートを開きます。 日本語のモデル名は「サポート」とします。 項目はそれぞれ、次のように指定します。

項目名(日本語) 項目名(英語) 項目の型 主キー 外部キー ソートキー 検索条件 一覧表示
サポートID supportid 整数
顧客ID customerid 整数 customer
サポート日付 supportdate 日付 -1 (*2)
サポート内容 (*1) content 文字列
記入者 inputuser 固定値(作成したユーザのID)

※1 「サポート内容」は「テキストエリア」を指定します。
テキストエリアの指定については、「顧客管理データベース」の事例 (I) - 「テキストエリアの作成」を参照してください。
※2 ソートの指定については、「Wagby 定義ファイル」-「モデルの定義」-「ソートキーを指定する」を参照してください。


図3 サポートモデルの定義シート

サポートモデルのポイントは、「顧客ID」は外部キーであることを指定している部分です。
Wagby では、その項目が別のモデルの主キーである場合、これを外部キーとして扱うことができます。 モデル定義シートでは、「外部キー」の列に、英語のモデル名を記入します。

外部キーとして定義する項目は、関連モデルの主キーと異なる項目名(英語)としても構いません (R6.1.0より)。 例えばサポートモデルの「顧客ID」を「customerid」ではなく「custid」なども指定可能です。 その場合は、モデル項目定義シートで参照する項目名を指定します。
詳細は「モデル連携」-「外部キーの利用」を参照してください。

[ 1 | 2 | 3 ] 次へ

このページ

「顧客管理データベース」の事例 (III)