CustDB データベースのテーブル定義は、samples-dir\MobiLink\CustDB にあるプラットフォーム固有のファイル内に格納されています。samples-dir の詳細については、サンプル・ディレクトリを参照してください。
CustDB テーブルの ER (実体関連) 図については、CustDB サンプル・データベースについてを参照してください。
次の 5 つのテーブルは統合データベースとリモート・データベースの両方にありますが、その定義は両者で少し異なります。
ULCustomer テーブルには、顧客リストがあります。
リモート・データベースの ULCustomer には、次のカラムがあります。
cust_id 顧客を識別するユニークな整数を保持するプライマリ・キー・カラム。
cust_name 顧客の名前を保持する 30 バイトの文字列。
統合データベースの ULCustomer には、次のカラムもあります。
last_modified ローが最後に変更されたときのタイムスタンプ。このカラムは、タイムスタンプベースの同期に使用されます。
ULProduct テーブルには、製品リストがあります。
リモート・データベースと統合データベースの両方の ULProduct に、次のカラムがあります。
prod_id 製品を識別するユニークな整数を保持するプライマリ・キー・カラム。
price 単価を識別する整数。
prod_name 製品の名前を保持する 30 バイトの文字列。
ULOrder テーブルには受注リストがあります。注文した顧客の情報、受注した従業員、注文された製品についての詳細が含まれています。
リモート・データベースの ULOrder には、次のカラムがあります。
order_id 注文を識別するユニークな整数を保持するプライマリ・キー・カラム。
cust_id ULCustomer を参照する外部キー・カラム。
prod_id ULProduct を参照する外部キー・カラム。
emp_id ULEmployee を参照する外部キー・カラム。
disc 注文に適用される値引きを保持する整数。
quant 注文された製品の数を保持する整数。
notes 注文に関する注記を保持する 50 バイトの文字列。
status 注文のステータスが記述された 20 バイトの文字列。
統合データベースの ULOrder には、次のカラムもあります。
last_modified ローが最後に変更されたときのタイムスタンプ。このカラムは、タイムスタンプベースの同期に使用されます。
ULOrderIDPool テーブルは、ULOrder のプライマリ・キー・プールです。
リモート・データベースの ULOrderIDPool には、次のカラムがあります。
pool_order_id 注文 ID を識別するユニークな整数を保持するプライマリ・キー・カラム。
統合データベースの ULOrderIDPool には、次のカラムもあります。
pool_emp_id 注文 ID が割り当てられたリモート・データベースの所有者の従業員 ID を保持する整数カラム。
last_modified ローが最後に変更されたときのタイムスタンプ。
ULCustomerIDPool テーブルは、ULCustomer のプライマリ・キー・プールです。
リモート・データベースの ULCustomerIDPool には、次のカラムがあります。
pool_cust_id 顧客 ID を識別するユニークな整数を保持するプライマリ・キー・カラム。
統合データベースの ULCustomerIDPool には、次のカラムもあります。
pool_emp_id リモート・データベースで生成された新しい従業員に使用される従業員 ID を保持する整数カラム。
last_modified ローが最後に変更されたときのタイムスタンプ。
以下のテーブルは、統合データベースにのみ存在します。
ULIdentifyEmployee_nosync テーブルは、統合データベースにのみ存在します。これには、次の 1 つのカラムがあります。
emp_id このプライマリ・キー・カラムには、従業員 ID を示す整数が保持されています。
ULEmployee テーブルは、統合データベースにのみ存在します。これには、営業担当者リストが格納されています。
ULEmployee には、次のカラムがあります。
emp_id 従業員を識別するユニークな整数を保持するプライマリ・キー・カラム。
emp_name 従業員の名前を保持する 30 バイトの文字列。
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 ローが最後に変更されたときのタイムスタンプ。このカラムは、タイムスタンプベースの同期に使用されます。
これらのテーブルは、統合データベースにのみ存在します。また、競合を解決するために使用され、ULOrder と同じカラムが含まれています。SQL Anywhere と Microsoft SQL Server では、これらはテンポラリ・テーブルです。Adaptive Server Enterprise の場合、これらのテーブルは通常のテーブルであり、@@spid です。DB2 LUW と Oracle にはテンポラリ・テーブルがないため、同期ユーザに属するローを Mobile Link が識別できるようになっている必要があります。これらのテーブルはベース・テーブルであるため、5 人のユーザが同期している場合は、これらのテーブルのローを各ユーザが同時に保持することがあります。
@@spid の詳細については、変数を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |