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

SQL Anywhere 11.0.1 (日本語) » Ultra Light J » Ultra Light J の使用 » Ultra Light J アプリケーションの開発

 

スキーマ操作の実行

Ultra Light J には、テーブル、カラム、インデックス、キーをデータベースに作成できるスキーマ・メソッドがあります。この項では、スキーマ操作を行う方法について説明します。

スキーマ・オブジェクトのタイプ
  • テーブル・スキーマ   Connection インタフェースのメソッドを使用してテーブルのプロパティにアクセスします。スキーマには TableSchema インタフェースを使用して直接アクセスします。TableSchema インタフェースを参照してください。

  • カラム・スキーマ   TableSchema インタフェースのメソッドを使用してカラムのプロパティにアクセスします。スキーマには ColumnSchema インタフェースを使用して直接アクセスします。ColumnSchema インタフェースを参照してください。

  • インデックス・スキーマ   TableSchema インタフェースのメソッドを使用してインデックスにアクセスします。スキーマには IndexSchema インタフェースを使用して直接アクセスします。IndexSchema インタフェースを参照してください。

  • 外部キー・スキーマ   Connection インタフェースのメソッドを使用して外部キーにアクセスします。スキーマには ForeignKeySchema インタフェースを使用して直接アクセスします。ForeignKeySchema インタフェースを参照してください。

新しいテーブル、カラム、インデックス、キーの作成

テーブル、カラム、インデックス、キーのすべての操作は、API を使用して実行する必要があり、接続しているデータベースがスキーマ作成モードになっている場合に限られます。

♦  スキーマ操作を実行するには、次の手順に従います。
  1. Ultra Light J データベースに接続します。

    この例は、データベースが Connection オブジェクトである conn に接続していることを前提としています。Ultra Light J データベースへの接続方法については、Ultra Light J データベース・ストアへのアクセスを参照してください。

  2. 次のコードを使用して、Connection をスキーマ作成モードにします。

    conn.schemaCreateBegin();

    スキーマ作成モードでは、データ操作の実行が禁止され、データベースへの追加接続がロック・アウトされます。

  3. テーブル、カラム、インデックス、キーの操作をすべて実行します。

    次の手順は、emp_number という整数カラムを含む新しい Employee テーブルを作成する方法を示しています。emp_number カラムは Employee テーブルのプライマリ・インデックスであり、また Security テーブルの 整数カラムである access_numberを参照する外部キーとして機能します。

    • 新しいテーブルを作成するには:   createTable メソッドを使用してテーブルの名前を定義し、結果を TableSchema に割り当てます。
      TableSchema table_schema = conn.createTable("Employee");

      結果を TableSchema に割り当てると、テーブルに対してより詳細なスキーマ操作を実行できます。詳細については、TableSchema インタフェースを参照してください。

    • テーブルにカラムを追加するには:   createColumn メソッドを使用して、カラムの名前と型を定義します。
      table_schema.createColumn("emp_number", Domain.INTEGER);

    • カラムにプライマリ・インデックスを割り当てるには:  

      1. createPrimaryIndex メソッドを使用してテーブルに新しいプライマリ・インデックスを作成し、結果を IndexSchema に割り当てます。

        IndexSchema index_schema = 
            table_schema.createPrimaryIndex("prime_keys");
      2. addColumn メソッドを使用して、プライマリ・インデックス・カラムとソート順を指定します。

        index_schema.addColumn("emp_number", IndexSchema.ASCENDING);

    • カラムに外部キーを割り当てるには:   この手順は、access_number という整数カラムがある Security というテーブルがデータベース内にすでに存在することを前提としています。このテーブルが存在しない場合は、前述の手順で作成してください。

      1. createForeignKey メソッドを使用して、外部キーの作成に必要なテーブルを指定します。

        ForeignKeySchema foreign_key_schema = conn.createForeignKey(
            "Employee",
            "Security",
            "fk_emp_to_sec"
        );

        最初のパラメータは、外部キーを格納するテーブルを指定します。2 つ目のパラメータは、外部キーの参照先カラムを格納するテーブルを指定します。

      2. addColumnReference メソッドを使用して、外部キーの作成に必要な 2 つのカラムを指定します。

        foreign_key_schema.addColumnReference("emp_number", "access_number");

        最初のパラメータは、最初のテーブルで外部キーとなるカラムの名前を指定します。2 つ目のパラメータは、2 つ目のテーブルで外部キーの参照先となるカラムの名前を指定します。

  4. Connection のスキーマ作成モードを終了します。

    conn.schemaCreateComplete();
参照