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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » データ整合性の確保 » ドメインの使い方

 

ドメインの作成 (SQL の場合)

CREATE DOMAIN 文は、ドメインの作成と定義に使用できます。CREATE DOMAIN 文を参照してください。

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

♦  新しいドメインを作成するには、次の手順に従います (SQL の場合)。
  1. データベースに接続します。

  2. CREATE DOMAIN 文を実行します。

例 1:簡単なドメイン

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

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);
例 2:デフォルト値、検査制約、識別子

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

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

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

CREATE DOMAIN identifier UNSIGNED INT
DEFAULT AUTOINCREMENT;

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

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