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 Anywhere サーバー SQL の使用法 » データ整合性 » ドメイン

 

ドメインの作成

管理者は、ドメインを作成し、これらを Sybase Central のカラムに割り当てることができます。

前提条件

DBA 権限。

内容と備考

SQL Anywhere には、定義済みドメインがいくつかあります。通貨データドメインの MONEY などがその例です。

 ♦ 新しいドメインの作成 (Sybase Central の場合)
  1. SQL Anywhere 12 プラグインを使用して、データベースに接続します。

  2. 左ウィンドウ枠で、[ドメイン] を右クリックし、[新規] » [ドメイン] をクリックします。

  3. ドメイン作成ウィザードの指示に従います。

 ♦ ドメインをカラムに割り当てる (Sybase Central の場合)
  1. SQL Anywhere 12 プラグインを使用して、データベースに接続します。

  2. 左ウィンドウ枠で、[テーブル] をダブルクリックします。

  3. テーブルをクリックします。

  4. 右ウィンドウ枠で、[カラム] タブをクリックします。

  5. [データ型] フィールドでカラムを選択し、省略記号 (ピリオド 3 つ) ボタンをクリックします。

  6. [データ型] タブをクリックし、[ドメイン] をクリックします。

  7. [ドメイン] リストからドメインを選択します。

  8. [OK] をクリックします。

結果

ドメインが作成され、指定されたカラムに割り当てられます。

次の手順

なし。

従業員名と住所をそれぞれ格納するカラムを含んだデータベースがあるとします。この場合、次のようなドメインを定義します。

CREATE DOMAIN persons_name CHAR(30)
CREATE DOMAIN street_address CHAR(35);

こうして定義されたドメインは、既存のデータ型と同様にいくらでも使用できます。たとえば、次のようにしてテーブルを定義できます。

CREATE TABLE Customers (
   ID INT  DEFAULT AUTOINCREMENT  PRIMARY KEY,
   Name persons_name,
   Street street_address);

前述の例では、テーブルのプライマリキーを整数型に指定しました。実際に、同じような識別子を各テーブルに持たせる必要がある場合が数多くあります。こうしたアプリケーションでは、整数型を指定する代わりに、識別子ドメインを作成すると大変便利です。

ドメインを作成するときにデフォルト値や検査制約を設定し、このドメインが割り当てられたカラムに不適切な値が入力されないように設定できます。

整数はテーブル識別子によく使われます。識別子をユニークにするには、正の整数を使うことをおすすめします。このような識別子はさまざまなテーブルで使用できるので、次の例に示すようなドメインを作成するとよいでしょう。

CREATE DOMAIN identifier UNSIGNED INT
DEFAULT AUTOINCREMENT;

この定義を使用して、上記の Customers テーブルの定義を書き換えることができます。

CREATE TABLE Customers2 (
   ID identifier PRIMARY KEY,
   Name persons_name,
   Street street_address
);

 参照