サポート > チュートリアル > 「顧客管理データベース」の事例 (III) > 外部キーの利用 (1)
外部キーの設定
本章では、これまで構築した顧客管理システムをさらに発展させ、「サポート履歴管理」機能を用意してみます。
サポート履歴管理では、「顧客」と「サポート」の二つのモデルを扱います。 このとき、両者は「一人の顧客に対して、複数のサポート記録がある」という関係を持ちます。
Wagby では、このような関係を実現するために「外部キー」という考え方を用意しています。 具体的には、図1のようになります。
サポートモデル側の定義で、外部キーとして顧客モデルの主キーを指定します。 それでは、定義方法を紹介します。
サポートモデルの作成
はじめに、サポートモデルの追加定義を行います。メインシートに「support」モデルを用意します。
Wagby 定義ファイルは、1 つの Excel ファイル中に 5 つまでのモデル定義を行うことができます。
これを超えるモデル定義を行う場合は、(xls-model フォルダに含まれている)base.xls ファイルをコピーしてお使いください。
次にサポートモデルの定義を行います。サポートモデルのモデル定義シートを開きます。 日本語のモデル名は「サポート」とします。 項目はそれぞれ、次のように指定します。
| 項目名(日本語) | 項目名(英語) | 項目の型 | 主キー | 外部キー | ソートキー | 検索条件 | 一覧表示 |
|---|---|---|---|---|---|---|---|
| サポートID | supportid | 整数 | ○ | ||||
| 顧客ID | customerid | 整数 | customer | ||||
| サポート日付 | supportdate | 日付 | -1 (*2) | ○ | ○ | ||
| サポート内容 (*1) | content | 文字列 | ○ | ○ | |||
| 記入者 | inputuser | 固定値(作成したユーザのID) | ○ | ○ |
※1 「サポート内容」は「テキストエリア」を指定します。
テキストエリアの指定については、「顧客管理データベース」の事例 (I) - 「テキストエリアの作成」を参照してください。
※2 ソートの指定については、「Wagby 定義ファイル」-「モデルの定義」-「ソートキーを指定する」を参照してください。
テキストエリアの指定については、「顧客管理データベース」の事例 (I) - 「テキストエリアの作成」を参照してください。
※2 ソートの指定については、「Wagby 定義ファイル」-「モデルの定義」-「ソートキーを指定する」を参照してください。
サポートモデルのポイントは、「顧客ID」は外部キーであることを指定している部分です。
Wagby では、その項目が別のモデルの主キーである場合、これを外部キーとして扱うことができます。
モデル定義シートでは、「外部キー」の列に、英語のモデル名を記入します。
外部キーとして定義する項目は、関連モデルの主キーと異なる項目名(英語)としても構いません
(R6.1.0より)。
例えばサポートモデルの「顧客ID」を「customerid」ではなく「custid」なども指定可能です。
その場合は、モデル項目定義シートで参照する項目名を指定します。
詳細は「モデル連携」-「外部キーの利用」を参照してください。




