Data Synchronization のためのデータベース デザインの例
 
このページをシェアする                  
Data Synchronization のためのデータベース デザインの例
Data Synchronization のためのデータベース デザインに関する考慮点の理解
Data Synchronization のためのデータベース デザインを理解する効果的な方法は、例をよく見て学ぶことです。Pervasive DataExchange ではデータベースのバックアップと同期化のためのレプリケーション ソリューションを提供しますが、この章では、Pervasive DataExchange が提供するサンプル データベースの Tracker を使用した Data Synchronization デザイン例について詳しく説明します。このデータベースを使用して Pervasive DataExchange Data Synchronization Edition で使用できる機能について実例を挙げて説明します。
この章では、以下の項目について説明します。
Data Synchronization デザインの考慮点
基本の Data Synchronization デザイン
セキュリティ
Tracker サンプル データベース
Data Synchronization デザインの考慮点
このセクションでは、Data Synchronization を使用して新規データベース スキーマを作成する際のデータベース デザインの考慮点について説明します。これらの考慮点は、既存のデータベースをレプリケートする場合も当てはまります。このデザインでは、サンプル データベースの Tracker を使用します。
メモ: Tracker データベースがお使いのコンピューターから削除されてしまっている場合は、サンプルの Tracker.SQL スクリプトを使用して再作成することができます。Tracker サンプル データベースを参照してください。
アプリケーションの概要
ある販売会社は、Tracker という追跡プログラムを使用して顧客と製品の情報を蓄積し、注文書を通じて販売を追跡しています。この業務の規則は以下のようになっています。
この会社には、地理的に割り当てられた多数の販売区域があります。
この会社の従業員は、それぞれ特定の販売区域に所属しています。
従業員は顧客登録を編集し、顧客をそれに割り当てることができます。
従業員は、注文書を作成する責任があります。
1 つの製品リストがすべての区域で共有されています。
上記の業務の規則に基づき、以下のデータベース スキーマが使用されます。
Purchase および PurchDet テーブルは多対多のリレーションシップを回避するのに役立ちます。1 つの注文書には多数の注文明細が含まれ、明細は本質的に 1 つの注文書の細目です。つまり、注文は一定の日に存在し、その注文書によって購入されるすべての品目は PurchDet テーブルにリストされます。
テーブルには以下のフィールドが含まれます。アスタリスク記号は主キー フィールドを表し、2 つのアスタリスクは外部キー フィールドを表します。構造に関してはこれが最初の試みであり、レプリケーションにとって望ましいデザイン要素を考慮した後に変更を行う場合があります。
図 6‑1 Tracker のスキーマ
Region テーブル
フィールド
データ型
説明
RegionID*
Long Integer
Region テーブルの主キー
NameStr
Char[100]
区域の名前
Employee テーブル
フィールド
データ型
説明
EmpID*
Long Integer
Employee テーブルの主キー
FName
Char[30]
ファースト ネーム
Initial
Char[5]
ミドル イニシャル
LName
Char[30]
ラスト ネーム
RegionID **
Long Integer
区域名へのインデックス
Customer テーブル
フィールド
データ型
説明
CustID*
Long Integer
Customer テーブルの主キー
NameStr
Char[100]
会社名
Street
Char[100]
街路の名前
City
Char[30]
市の名前
State
Char[50]
州、省、または国名
ZIP
Char[10]
ZIP コードまたは郵便番号
Phone
Char[20]
電話番号
CntEmail
Char[100]
会社代表連絡先の電子メールアドレス
CntName
Char[50]
会社代表連絡先の名前
Comments
Char[255]
会社に関するコメント
SlsRepID **
Long Integer
その会社に勤める従業員へのインデックス
Purchase テーブル
フィールド
データ型
説明
PurID*
Long Integer
Purchase テーブルの主キー
PurDate
Date/Time
発注書の日付と時刻
CustID **
Long Integer
注文した顧客の名前へのインデックス
EmpID **
Long Integer
その注文を受けた従業員へのインデックス
DelInst
Char[50]
配達指示
PurchDet テーブル
フィールド
データ型
説明
PurDetID*
Long Integer
PurchDet テーブルの主キー
PurchID **
Long Integer
注文書へのインデックス
ProdID **
Long Integer
注文された製品へのインデックス
PurchQty
Integer
注文数量
Cost
Char[12]
注文明細の総額
Product テーブル
フィールド
データ型
説明
ProdID*
Long Integer
Product テーブルの主キー
ProdName
Char[50]
製品名
ProdDesc
Char[248]
製品の説明
Price
Char[12]
製品の価格
基本の Data Synchronization デザイン
Pervasive DataExchange Data Synchronization Edition は、分散型の業務の性質を反映するデータベース デザインを簡単に構成できる機能を提供します。データ同期のデザインは、業務の必要性と要求により簡単にも難しくもなります。
DataExchange Deployment Wizard は、データ同期をデザインする手続きを順を追って案内します。Deployment Wizard は、第 1 サイトおよびパートナー サイトにレプリケーションを配置する段階的なウィザードです。また、これにはレプリケーション スケジュールを作成する方法も含まれます。Deployment Wizard を使用したレプリケーション配置を参照してください。
簡単に説明すると、データ同期のデザインには、デザインするプロジェクト、ネットワーク、およびリリースと、レプリケートしたいデータ ファイルの識別が含まれます。
プロジェクト、ネットワーク、およびリリース
プロジェクトは、レプリケートされる 1 つのデータベースを表し、1 つ以上のレプリケーション ネットワークと関連付けることができます。レプリケーション ネットワークは、レプリケーションに参加しているレプリケーション サイトをグループ化したものです。リリースは、レプリケーション データベース デザインのためのバージョン番号のようなものです。
プロジェクト、ネットワーク、およびリリースは、レプリケーション エンジンが使用するシステム データベースに追加されます。レプリケーション ユーティリティは、それらを使用して特定の操作を許可または拒否します。たとえば、複数のデータベースでリリースのみが異なる場合は、それらを一緒にレプリケートすることが許可されます。レプリケーションを許可するには、プロジェクト名とネットワーク名が一致する必要があります。
レプリケートするデータ ファイル
Deployment Wizard でも、レプリケートしたいデータ ファイルを選択することができます。レプリケーション用と識別されないデータ ファイルは、データ同期から除外されます。
セキュリティ
Pervasive DataExchange は 2 つのサイト間で転送されるすべてのデータを自動的に暗号化します。レプリケーション エンジンはあなたに代わって暗号化を制御します。
Pervasive PSQL セキュリティの詳細については、Pervasive PSQL データベース エンジンに含まれる『What Is New in Pervasive PSQL』を参照してください。
Tracker サンプル データベース
Tracker データベースが Pervasive PSQL Control Center の一覧にない場合は、Tracker.sql ファイルから作成することができます。Tracker.sql は Pervasive DataExchange のインストール(<インストール ディレクトリ>\Replication\Demodb ディレクトリ)にあります。このファイルには Tracker デモ データベースを再作成する SQL ステートメントが含まれています。
Tracker.sql を使用して Tracker データベースを作成するには
1 まだ実行していない場合は PCC を起動します(オペレーティング システムの[スタート]メニューまたはスタート画面から[Control Center および PSQL ドキュメント]を選択します)。
2 データベース]を右クリックし、次に[新規作成|データベース]を選択します。
[データベースの新規作成]ダイアログ ボックスが表示されます。
3 データベース名およびデータベース ディレクトリのオプションを次のように入力します。
データベース名:Tracker
場所:C:\Program Files\Pervasive Software\PSQL\Replication\DemoDB
フォルダーが既に存在して、Pervasive PSQL データベース ファイル(.ddf または .mkd の拡張子を持つファイル)を含まない場合は、別のディレクトリを指定することができます。
4 完了]をクリックします。
空のデータベースが作成され、Tracker.sql で SQL ステートメントを実行する準備ができます。
5 PCC で[ファイル開く]をクリックします。
[ファイルを開く]ダイアログ ボックスが表示されます。
6 C:\Program Files\Pervasive Software\PSQL\Replication\DemoDB を参照して tracker.sql ファイルを開きます。
SQL Editor が起動します。
SQL ステートメントを実行するデータベースを選択する画面が表示されます。
7 OK]をクリックします。
SQL Editor は Tracker.sql で SQL ステートメントを表示します。
8 SQLすべての SQL ステートメントを実行]を選択します。
この SQL ステートメントは Tracker データベース テーブルを作成し、テーブルにデータを入れます。
9 すべての SQL ステートメントを実行し終えたら、SQL Editor を終了します。
10 データベース]を右クリックし、[更新]を選択します。これにより、データベースおよびそのテーブルの一覧が再表示されます。