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 チュートリアル » チュートリアル:SQL Anywhere 統合データベースでの Mobile Link の使用

 

レッスン 2:統合データベースの準備

このレッスンでは、統合データベースに接続し、CustomerProducts テーブルを作成し、地域情報を含めるように Customers テーブルを変更します。

前提条件

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

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

内容と備考

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

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

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

 ♦ タスク
  1. [スタート]  » [プログラム]  » [SQL Anywhere 16]  » [管理ツール]  » [Sybase Central] をクリックします。

  2. [接続]  » [SQL Anywhere 16 に接続] をクリックします。

  3. [接続] ウィンドウで次のタスクを実行します。

    1. [アクション] ドロップダウンリストで、[ODBC データソースを使用した接続] を選択します。

    2. [ODBC データソース名] フィールドに SQL Anywhere 16 Demo と入力します。

    3. [接続] をクリックします。

  4. Interactive SQL の統合データベースに接続します。

    コマンドプロンプトで次のコマンドを実行します。

    dbisql -c "DSN=SQL Anywhere 16 Demo"
  5. Interactive SQL で、次の文を実行し、CustomerProducts テーブルを作成してデータを挿入します。



    CREATE TABLE CustomerProducts
        (ID int default AUTOINCREMENT PRIMARY KEY,
        SalesOrderID int NOT NULL, 
        CustomerID int NOT NULL, 
        ProductID int);
    
    INSERT INTO CustomerProducts (SalesOrderID,CustomerID,ProductID)
        SELECT SalesOrders.ID, SalesOrders.CustomerID, SalesOrderItems.ProductID
        FROM SalesOrders, SalesOrderItems
        WHERE SalesOrders.ID = SalesOrderItems.ID;
  6. Interactive SQL で、次の文を実行し、Customers テーブルのそれぞれの顧客に地域情報を追加します。

    ALTER TABLE Customers
        ADD Region VARCHAR(255);
    
    UPDATE Customers
        SET Region = (SELECT TOP 1 SalesOrders.Region
        FROM SalesOrders 
        WHERE Customers.ID = SalesOrders.CustomerID
        ORDER BY Region);
    COMMIT;

結果

SQL Anywhere Demo データベースとの接続が確立され、CustomerProducts という名前のテーブルが作成され、地域情報を含むように Customers テーブルが変更されます。

次の手順

レッスン 3:同期モデルの作成に進みます。

 参照