Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - クイック・スタート » Mobile Link テクノロジの概要 » Mobile Link CustDB サンプルの解説

 

CustDB データベース内のテーブル

CustDB データベースのテーブル定義は、samples-dir\MobiLink\CustDB にあるプラットフォーム固有のファイル内に格納されています。samples-dir の詳細については、サンプル・ディレクトリを参照してください。

CustDB テーブルの ER (実体関連) 図については、CustDB サンプル・データベースについてを参照してください。

次の 5 つのテーブルは統合データベースとリモート・データベースの両方にありますが、その定義は両者で少し異なります。

ULCustomer

ULCustomer テーブルには、顧客リストがあります。

リモート・データベースの ULCustomer には、次のカラムがあります。

  • cust_id   顧客を識別するユニークな整数を保持するプライマリ・キー・カラム。

  • cust_name   顧客の名前を保持する 30 バイトの文字列。

統合データベースの ULCustomer には、次のカラムもあります。

  • last_modified   ローが最後に変更されたときのタイムスタンプ。このカラムは、タイムスタンプベースの同期に使用されます。

ULProduct

ULProduct テーブルには、製品リストがあります。

リモート・データベースと統合データベースの両方の ULProduct に、次のカラムがあります。

  • prod_id   製品を識別するユニークな整数を保持するプライマリ・キー・カラム。

  • price   単価を識別する整数。

  • prod_name   製品の名前を保持する 30 バイトの文字列。

ULOrder

ULOrder テーブルには受注リストがあります。注文した顧客の情報、受注した従業員、注文された製品についての詳細が含まれています。

リモート・データベースの ULOrder には、次のカラムがあります。

  • order_id   注文を識別するユニークな整数を保持するプライマリ・キー・カラム。

  • cust_id   ULCustomer を参照する外部キー・カラム。

  • prod_id   ULProduct を参照する外部キー・カラム。

  • emp_id   ULEmployee を参照する外部キー・カラム。

  • disc   注文に適用される値引きを保持する整数。

  • quant   注文された製品の数を保持する整数。

  • notes   注文に関する注記を保持する 50 バイトの文字列。

  • status   注文のステータスが記述された 20 バイトの文字列。

統合データベースの ULOrder には、次のカラムもあります。

  • last_modified   ローが最後に変更されたときのタイムスタンプ。このカラムは、タイムスタンプベースの同期に使用されます。

ULOrderIDPool

ULOrderIDPool テーブルは、ULOrder のプライマリ・キー・プールです。

リモート・データベースの ULOrderIDPool には、次のカラムがあります。

  • pool_order_id   注文 ID を識別するユニークな整数を保持するプライマリ・キー・カラム。

統合データベースの ULOrderIDPool には、次のカラムもあります。

  • pool_emp_id   注文 ID が割り当てられたリモート・データベースの所有者の従業員 ID を保持する整数カラム。

  • last_modified   ローが最後に変更されたときのタイムスタンプ。

ULCustomerIDPool

ULCustomerIDPool テーブルは、ULCustomer のプライマリ・キー・プールです。

リモート・データベースの ULCustomerIDPool には、次のカラムがあります。

  • pool_cust_id   顧客 ID を識別するユニークな整数を保持するプライマリ・キー・カラム。

統合データベースの ULCustomerIDPool には、次のカラムもあります。

  • pool_emp_id   リモート・データベースで生成された新しい従業員に使用される従業員 ID を保持する整数カラム。

  • last_modified   ローが最後に変更されたときのタイムスタンプ。

以下のテーブルは、統合データベースにのみ存在します。

ULIdentifyEmployee_nosync

ULIdentifyEmployee_nosync テーブルは、統合データベースにのみ存在します。これには、次の 1 つのカラムがあります。

  • emp_id   このプライマリ・キー・カラムには、従業員 ID を示す整数が保持されています。

ULEmployee

ULEmployee テーブルは、統合データベースにのみ存在します。これには、営業担当者リストが格納されています。

ULEmployee には、次のカラムがあります。

  • emp_id   従業員を識別するユニークな整数を保持するプライマリ・キー・カラム。

  • emp_name   従業員の名前を保持する 30 バイトの文字列。

ULEmpCust

ULEmpCust テーブルは、どの顧客の注文をダウンロードするかを制御します。従業員が新しい顧客の注文を必要とする場合は、従業員 ID と顧客 ID を挿入すると、その顧客の注文がダウンロードされます。

  • emp_id   ULEmployee.emp_id の外部キー。

  • cust_id   ULCustomer.cust_id の外部キー。プライマリ・キーは、emp_id と cust_id で構成されています。

  • action   従業員のレコードをリモート・データベースから削除するかどうかを決定するのに使用される文字。従業員が顧客の注文を必要としなくなった場合は、D (削除) に設定します。注文が必要な場合、action は NULL に設定してください。

    この場合は、ULOrder テーブルから削除するローを統合データベースが識別できるようにするため、論理削除を使用する必要があります。削除情報がダウンロードされると、action が D に設定されたその従業員のすべてのレコードは統合データベースからも削除できます。

  • last_modified   ローが最後に変更されたときのタイムスタンプ。このカラムは、タイムスタンプベースの同期に使用されます。

ULOldOrder と ULNewOrder

これらのテーブルは、統合データベースにのみ存在します。また、競合を解決するために使用され、ULOrder と同じカラムが含まれています。SQL Anywhere と Microsoft SQL Server では、これらはテンポラリ・テーブルです。Adaptive Server Enterprise の場合、これらのテーブルは通常のテーブルであり、@@spid です。DB2 LUW と Oracle にはテンポラリ・テーブルがないため、同期ユーザに属するローを Mobile Link が識別できるようになっている必要があります。これらのテーブルはベース・テーブルであるため、5 人のユーザが同期している場合は、これらのテーブルのローを各ユーザが同時に保持することがあります。

@@spid の詳細については、変数を参照してください。