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

SAP Sybase SQL Anywhere 16.0 » Mobile Link クイックスタート » Mobile Link チュートリアル » チュートリアル:Oracle Database 10g での Mobile Link の使用

 

レッスン 3:ユニークなキーの統合データベースへの追加

同期システムでは、テーブルのプライマリキーは、異なるデータベース内の同じローを識別する唯一の方法であり、競合を検出する唯一の方法です。使用する各テーブルには、プライマリキーが必要です。プライマリキーが更新されることはありません。また、1 つのデータベースに挿入されたプライマリキーの値が別のデータベースに挿入されないようにする必要があります。

前提条件

このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:スキーマの設計を参照してください。

このレッスンでは、このチュートリアルの冒頭の「パーミッションと権限」セクションに一覧になっているロールおよび権限を持っていることを前提としています。 チュートリアル:Oracle Database 10g での Mobile Link の使用

内容と備考

ユニークなプライマリキーを生成する方法は複数あります。このチュートリアルでは、簡単に操作を行うため、複合プライマリキー方式を使用します。この方式では、統合データベースとリモートデータベースにまたがってユニークな複数のカラムを使用してプライマリキーを作成します。

 ♦ タスク
  1. コマンドプロンプトで次のコマンドを実行します。

    sqlplus SYS/your password for sys as SYSDBA
  2. SALES_REP_ID に追加する値は HR.EMPLOYEES テーブルに存在する必要があります。ORDERS_SALES_REP_FK 外部キーによりこのルールが強制的に適用されます。次の文を実行して外部キーを削除します。

    ALTER TABLE OE.ORDERS 
    DROP CONSTRAINT ORDERS_SALES_REP_FK;
  3. SALES_REP_ID カラムには NULL 値が含まれているため、このカラムをプライマリキーとして追加することはできません。このチュートリアルでは、NULL 値は 1 に置き換えます。次の文を実行します。

    UPDATE OE.ORDERS
    SET SALES_REP_ID = 1
    WHERE SALES_REP_ID IS NULL;
  4. ORDER_ID カラムは ORDERS テーブルの現在のプライマリキーです。現在のプライマリキーを削除するには、次の文を実行します。

    ALTER TABLE OE.ORDERS 
    DROP PRIMARY KEY CASCADE;
  5. 複合プライマリキーは SALES_REP_ID カラムと ORDER_ID カラムにより構成されます。複合プライマリキーを追加するには、次の文を実行します。

    ALTER TABLE OE.ORDERS
    ADD CONSTRAINT salesrep_order_pk PRIMARY KEY (sales_rep_id, order_id);

結果

これらの文を実行した後、Mobile Link サーバでは統合データベースに接続し、任意の数のリモートデータベースとの同期を設定できるようになります。

あとのレッスンでは、統合スキーマからリモートスキーマを作成するため、リモートスキーマは統合スキーマと同じプライマリキーを持つことになります。

プライマリキーがすべてのデータベースに対してユニークになるようにカラムが選択されています。ORDERS テーブルでは、プライマリキーは SALES_REP_ID カラムと ORDER_ID カラムで構成されています。リモートデータベースの sales テーブルに挿入されるすべての値には、ユニークな注文番号が必要です (SALES_REP_ID の値は常に同じです)。これにより、リモートの各 ORDERS テーブルで一意性が確保されます。統合データベースの ORDERS テーブルのプライマリキーは、複数の販売担当者がデータがアップロードした場合の競合を防止する役割があります。販売担当者ごとに SALES_REP_ID の値が異なるため、1 人の販売担当者が行うアップロードはいずれも他の販売担当者に対してユニークです。

次の手順

レッスン 4:Mobile Link の接続に進みます。