2.「テーブル定義」と「データモデル」を登録する

次のようなデータモデルを完成させるための手順を学びましょう。




1.「テーブルタイプ定義」を追加する
メインツリービューの「販売管理システム」のノードを選択して、「テーブルタイプ一覧」のタブを選んでください。そこで新規のテーブルタイプとして「マスター」と「トランザクション」を追加してください(これら以外のテーブルタイプはチュートリアルの中では使わないので、削除しておいてください)。これらは後述する「テーブル定義」の属性として利用されます。


2.「データタイプ定義」を追加する
同じページの「データタイプ一覧」のタブを選んで、新規のデータタイプとして「コード(CD_Code)」、「識別番号(NO_Sikibetsu)」、「行番号(NO_Gyou)」、「日付(DT_Hizuke)」、「金額(AM_Amount)」、「数量(QT_Quantity)」、「テキスト(TX_Text)」の7つの定義を追加してください(「」内は名称、( )内はID(一覧順)を示す)。これらは後述する「フィールド定義」の属性として利用されます。なお、これら以外のデータタイプはチュートリアルの中では使わないので、削除しておいてください。また、それぞれのデータタイプの名称とID以外の属性(桁数等)はとりあえずそのままでかまいません。


3.「サブシステム」を定義する
「サーバーモジュール」のツリーノードで右クリックして現れるポップアップメニューの「下位要素を追加」を利用して、新規のサブシステム定義を追加してください。追加されたノードを選択して、サブシステム名を「受注データ管理」としておいてください。これ以降のテーブルや機能はこのサブシステムに所属するものとして登録されます。


4.「顧客テーブル」を定義する
上で定義したサブシステムのツリーノードの下位に「DB構成」のノードがあります。これを右クリックして現れるポップアップメニューの「下位要素を追加」を利用して、新規のテーブル定義を追加してください。追加されたノードを選択して、テーブル名を「顧客」としてください。また、テーブルタイプには「マスター」を指定してください。




5.「顧客テーブル」にフィールド定義を組み込む
「顧客」のツリーノードの下位に「フィールド構成」のノードがあります。これを右クリックして現れるポップアップメニューの「一覧形式で追加」を利用して、フィールド定義を3つ追加してください。フィールド名をそれぞれ「顧客C」、「顧客名」、「与信限度額」としてください(フィールドのIDはブランクのままでかまいません)。追加後に、各フィールドの「タイプ(データタイプ)」にそれぞれ「コード」、「テキスト」、「金額」をセットしてください。




6.「顧客テーブル」のフィールド一覧をExcelで確認する
フィールド定義が出来上がったならば、もう一度「フィールド構成」のノードを選択してみてください。右ペインのフィールド一覧上で右クリックして現れるメニュー上の「一覧出力」を実行すれば、その一覧データがExcel等の表計算ソフト上にセットされた状態で現れます(Modeler上のすべての一覧でこの機能が使えます)。


7.「顧客テーブル」にキー定義を組み込む
「顧客」のツリーノードの下位に「KEY構成」のノードがあり、その下位に[PK]のノードがあります。これを選択するとコンテンツペインに「フィールド構成」と「テーブル関連一覧」が現れます。「フィールド構成」の一覧上に「顧客C」のツリーノードをドラッグ&ドロップしてください。これで顧客テーブルの一次識別子が定義されたことになります。



この段階でツリービュー上の「顧客」のノードをもう一度選択して、「CREATE文」のタブを選んでみてください。定義内容にしたがった、SQLのCREATE TABLE文が示されます。


8.「受注見出しテーブル」を定義する
「受注データ管理」のツリーノードの下位の「DB構成」のノードを右クリックして、新規のテーブル定義をもうひとつ追加してください。追加されたノードを選択して、テーブル名を「受注見出し」としてください。テーブルタイプには「トランザクション」を指定してください。


9.「受注見出しテーブル」にフィールド定義を組み込む
「受注見出し」のツリーノードの下位に「フィールド構成」のノードがあります。これを右クリックして現れるポップアップメニューの「一覧形式で追加」を利用して、フィールド定義を3つ追加してください。フィールド名をそれぞれ「受注av、「顧客C」、「受注日」としてください(IDはブランクのままでかまいません)。追加後に、フィールドの「タイプ(データタイプ)」にそれぞれ「識別番号」、「コード」、「日付」をセットしてください。


10.「受注見出しテーブル」にキー定義を組み込む
6と同様に、「受注見出し」のキー定義[PK]に「受注avをドラッグ&ドロップしてください。さらに、「KEY構成」のツリーノードを右クリックして「下位要素を追加」→「外部キー」を選択してください。追加された[FK]のノードには「顧客C」をドラッグ&ドロップしてください。


11.「受注見出しテーブル」と「顧客テーブル」との関連定義を組み込む
「受注見出し」のKEY構成の下位にある「[FK]顧客C」のツリーノードを選択してください。その「テーブル関連一覧」に、「顧客(顧客テーブル)」の「[PK]顧客C」のツリーノードをドラッグ&ドロップしてください。これで、受注見出しと顧客との間の参照関係が定義されます。



なお、ドラッグ&ドロップの方向を逆にしても同一の関連定義を登録できます。すなわち、「顧客」の「[PK]顧客C」のツリーノードを選択して、その「テーブル関連一覧」に、「受注」の「[FK]顧客C」のツリーノードをドラッグ&ドロップした場合でも同じ結果になります。


12.「受注明細テーブル」を定義する
「受注データ管理」のツリーノードの下位の「DB構成」のノードを右クリックして、新規のテーブル定義をもうひとつ追加してください。追加されたノードを選択して、テーブル名を「受注明細」としてください。テーブルタイプには「トランザクション」を指定してください。


13.「受注明細テーブル」にフィールド定義を組み込む
「受注明細」のツリーノードの下位に「フィールド構成」のノードがあります。これを右クリックして現れるポップアップメニューの「一覧形式で追加」を利用して、フィールド定義を5つ追加してください。フィールド名をそれぞれ「受注av、「行av、「商品C」、「受注数」、「出荷日」としてください(IDはブランクのままでかまいません)。追加後に、フィールドの「タイプ(データタイプ)」にそれぞれ「識別番号」、「行番号」、「コード」、「数量」、「日付」をセットしてください。


14.「受注明細テーブル」にキー定義を組み込む
6と同様に、「受注明細」のキー定義[PK]に「受注avと「行avをドラッグ&ドロップしてください。さらに、「KEY構成」のツリーノードを右クリックして「下位要素を追加」→「外部キー」を選択してください。追加された[FK]のノードには「商品C」をドラッグ&ドロップしてください。


15.「受注明細テーブル」と「受注見出しテーブル」との関連定義を組み込む
「受注明細」のKEY構成の下位にある「[PK]受注+行avのツリーノードを選択してください。その「テーブル関連一覧」に、「受注見出し(受注見出しテーブル)」の「[PK]受注avのツリーノードをドラッグ&ドロップしてください。これで、受注見出しと受注明細との間の親子関係が定義されます。



なお、ドラッグ&ドロップの方向を逆にしても同一の関連定義を登録できます。すなわち、「受注見出し」の「[PK]受注avのツリーノードを選択して、その「テーブル関連一覧」に、「受注明細」の「[PK]受注+行avのツリーノードをドラッグ&ドロップした場合でも同じ結果になります。


16.「商品テーブル」を定義する
「受注データ管理」のツリーノードの下位の「DB構成」のノードを右クリックして、新規のテーブル定義をもうひとつ追加してください。追加されたノードを選択して、テーブル名を「商品」としてください。テーブルタイプには「マスター」を指定してください。


17.「商品テーブル」にフィールド定義を組み込む
「商品」のツリーノードの下位に「フィールド構成」のノードがあります。これを右クリックして現れるポップアップメニューの「一覧形式で追加」を利用して、フィールド定義を5つ追加してください。フィールド名をそれぞれ「商品C」、「商品名」、「購入単価」、「販売単価」、「扱い単位」としてください(IDはブランクのままでかまいません)。追加後に、フィールドの「タイプ(データタイプ)」にそれぞれ「コード」、「テキスト」、「金額」、「金額」、「テキスト」をセットしてください。


18.「商品テーブル」にキー定義を組み込む
6と同様に、「商品」のキー定義[PK]に「商品C」をドラッグ&ドロップしてください。


19.「商品テーブル」と「受注明細テーブル」との関連定義を組み込む
「商品」のKEY構成の下位にある「[PK]商品C」のツリーノードを選択してください。その「テーブル関連一覧」に、「受注明細(受注明細テーブル)」の「[FK]商品C」のツリーノードをドラッグ&ドロップしてください。これで、受注明細と商品との間の参照関係が定義されます。

なお、ドラッグ&ドロップの方向を逆にしても同一の関連定義を登録できます。すなわち、「受注明細」の「[FK]商品C」のツリーノードを選択して、その「テーブル関連一覧」に、「商品」の「[PK]商品C」のツリーノードをドラッグ&ドロップした場合でも同じ結果になります。


20.「データモデル」を表示・編集する
「受注データ管理」のツリーノードの下位の「DB構成」のノードを選択してください。コンテンツペインに3つのタブをともなう一覧が現れます。このうちの「データモデル」のタブを選択してください。テーブルがいくつか重なって見えるはずです。上で定義した4つのテーブルが1箇所に固まって置かれているためで、これを冒頭の絵のように再配置してみてください。テーブル関連を示す曲線の位置を変更するためには、線の両端のマーク(十字架"+"、鳥の足"∈"、点線"…")をマウスでつまんで移動(クリックしてドラッグ)してください(関連線をモデル上で必要に応じて非表示にすることもできます)。これでデータモデルが完成です。

完成したテーブル間の関連線は優雅な曲線ですが、各テーブルが規定のレイアウトルールに従って配置されていない場合には無粋で無骨な直線として示されます。あるテーブルに対して多重度が1のテーブル(親や参照先)を左側多重度が複数のテーブル(子や参照元)を右側に配置するようにしてください。このルールに従うと標準的なレイアウトをとるため、モデルを直感的に把握しやすくなります。以上の考慮を含め、くれぐれも「見目麗しい図面」としてデータモデルをまとめてください。

なお、モデル上の関連線の両端のマークの上にマウスポインタを置くと、関連がどんなキー定義にもとづいて成立しているかがポップアップ表示されます。たとえば参照関係における参照元側のマーク"…"上にポインタを置くと、参照関係のもととなる外部キーが示されます。また、モデル上でテーブル関連を新規追加することも可能です。テーブル上のPKやSKを他のテーブル上のテーブル名の上にドラッグ&ドロップすれば、テーブル関連を追加するための確認ダイアログが開きます。


21.インスタンスの時系列変化をスライドショーで眺める

モデル上のテーブル名の付近で右クリックして現れる「インスタンス」のコンテキストメニューを用いて、インスタンス(実際値)を書き込めます。その際に、インスタンスのまとまり(スライド)毎に表示順序をあてがうことで、モデル全体でのインスタンスの時系列変化を眺めるための「スライドショー」を準備できます。テーブル毎のインスタンスを適当に登録したうえで、モデル上の何もないところで右クリックして現れる「スライドショー」を実行してみてください。


チュートリアルのトップへ戻る   3.「機能定義」と「機能階層ビュー」を登録する