このチュートリアルでは、pubs2 サンプル・スキーマが Adaptive Server Enterprise サーバにインストールされていることを前提としています。Adaptive Server Enterprise サーバは、ローカルのコンピュータにインストールされているものを使用するか、Sybase Open Client を使用してリモートでアクセスします。
pubs2 サンプル・スキーマは統合データベース・スキーマとして使用します。このスキーマには書店、タイトル、著者、出版社、販売に関する情報が格納されています。次の表は、Adaptive Server Enterprise データベースの各テーブルの説明です。
テーブル | Description |
---|---|
au_pix | 著者の写真。 |
authors | システムに登録されている各タイトルの著者。 |
discounts | 特定の書店で行われている各種の割引の記録。 |
sales | 各販売レコードは、特定の書店での 1 件の販売を表します。 |
salesdetail | 1 件の販売で対象となった各タイトルに関する情報。 |
stores | 各店舗レコードは、システムに登録されている 1 軒の書店または支店を表しています。 |
titleauthor | どのタイトルがどの著者によって執筆されたかを表します。 |
titles | システムに登録されているすべての本の記録。 |
blurbs、publishers、roysched | ここに保存されている情報は、このデモでは使用しません。 |
書店ごとに統合データベース全体をコピーしておくことは不要であり、非効率的です。リモート・スキーマでは同じテーブル名を使用しますが、各書店に関する情報だけが格納されます。これを実現するため、リモート・スキーマは統合データベースのサブセットとして次のように設計されています。
統合テーブル | リモート・テーブル |
---|---|
au_pix | すべての行を抽出。 |
authors | すべての行を抽出。 |
discounts | stor_id を基準にフィルタ処理。 |
sales | stor_id を基準にフィルタ処理。 |
salesdetail | stor_id を基準にフィルタ処理。 |
stores | stor_id を基準にフィルタ処理。 |
titleauthor | すべての行を抽出。 |
titles | すべての行を抽出。 |
blurbs | リモートでは使用しない。 |
publishers | リモートでは使用しない。 |
roysched | リモートでは使用しない。 |
各書店では、すべてのタイトルと著者の記録を保持し、顧客が在庫を検索できるようにする必要があります。一方で、出版社や印税に関する情報は書店では必要ないため、これらの情報は各書店に対しては同期されません。各書店では販売と割引に関する情報が必要ですが、他の書店の販売や割引に関する情報は必要ありません。そのため、ローは書店の識別子に基づいてフィルタされます。
リモート・データベースで不要になるカラムがある場合は、テーブルからカラムのサブセットを取得することもできます。
次に、各テーブルの同期の方向を選択します。リモート・データベースで読み込む情報と、リモート・データベースで作成、変更、または削除する情報について考慮する必要があります。この例では、書店は著者とタイトルのリストにアクセスする必要がありますが、新しい著者名をシステムに入力することはありません。このため、著者とタイトルは必ず本社の統合データベースから入力するという制限が適用されています。一方で、書店では新しい販売情報を常時記録できるようにする必要があります。これらの要因から、各テーブルの同期の方向は次のようになります。
テーブル | 同期 |
---|---|
titleauthor | リモートへのダウンロードのみ。 |
authors | リモートへのダウンロードのみ。 |
au_pix | リモートへのダウンロードのみ。 |
titles | リモートへのダウンロードのみ。 |
stores | リモートへのダウンロードのみ。 |
discounts | リモートへのダウンロードのみ。 |
sales | ダウンロードとアップロード。 |
salesdetail | ダウンロードとアップロード。 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |