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

SQL Anywhere 12.0.1 » SQL Remote » チュートリアル:SQL Remote システムの作成

 

レッスン 1:統合データベースの作成

 ♦ チュートリアル用の統合データベースとディレクトリを作成する
  1. ディレクトリ c:\tutorialc:\tutorial\hq、および c:\tutorial\fieldを作成します。

  2. c:\tutorial ディレクトリから次のコマンドを実行して、統合データベースを作成します (hq)。

    dbinit hq.db
  3. Interactive SQL から統合データベース (hq) に接続します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=server_hq;DBF=c:\tutorial\hq.db"
    
  4. 次の文を実行して、統合データベース (hq) 内に 2 つのテーブルを作成します。



    CREATE TABLE SalesReps (
     rep_key CHAR(12) NOT NULL,
     name CHAR(40) NOT NULL,
     PRIMARY KEY ( rep_key )
    );
    
    CREATE TABLE Customers (
     cust_key CHAR(12) NOT NULL,
     name CHAR(40) NOT NULL,
     rep_key CHAR(12) NOT NULL,
     FOREIGN KEY ( rep_key )
      REFERENCES SalesReps (rep_key ),
     PRIMARY KEY (cust_key)
    );

    次の数字は、チュートリアル用の統合データベース (hq) スキーマを示します。

    Customers テーブルには、SalesReps テーブルへの外部キーがあります。
    • 各営業担当は SalesReps テーブルの 1 つのローで表されています。

    • 各顧客は Customers テーブルの 1 つのローで表されています。

    • 各顧客は 1 人の営業担当に割り当てられており、この割り当ては Customers テーブルから SalesReps テーブルへの外部キーとしてデータベースに組み込まれています。Customers テーブルと SalesReps テーブルとの関係は、多対 1 です。

    テーブル名 説明
    SalesRep

    SalesReps テーブルには、会社の営業担当それぞれに 1 つのローがあります。SalesReps テーブルには、次のカラムがあります。

    • rep_key   各営業担当の識別子。これがプライマリキーです。

    • name   各営業担当の名前。

    Customers

    Customers テーブルには、会社と取引がある顧客それぞれに 1 つのローがあります。Customers テーブルには、次のカラムがあります。

    • cust_key   各顧客の識別子。これがプライマリキーです。

    • name   各顧客の名前。

    • rep_key   取引を行う営業担当者の識別子。これが SalesReps テーブルへの外部キーです。

  5. 次の文を実行して、SalesReps および Customers テーブルにサンプルデータを追加します。



    INSERT INTO SalesReps (rep_key, name)
    VALUES ('rep1', 'Field User');
    INSERT INTO SalesReps (rep_key, name)
    VALUES ('rep2', 'Another User');
    COMMIT;
    
    INSERT INTO Customers (cust_key, name, rep_key)
    VALUES ('cust1', 'Ocean Sports', 'rep1' );
    INSERT INTO Customers (cust_key, name, rep_key)
    VALUES ('cust2', 'Sports Plus', 'rep2' );
    COMMIT;
  6. 次の文を実行して、テーブルが作成されたことを確認します。

    SELECT * FROM SalesReps;

    上記のクエリは、SalesRep テーブルから次のデータを返します。

    rep_key name
    rep1 Field User
    rep2 Another User
    SELECT * FROM Customers;

    上記のクエリは、Customers テーブルから次のデータを返します。

    cust_key name rep_key
    cust1 Ocean Sports rep1
    cust2 Sports Plus rep2