データを保持するために表の列を定義します。列を作成するときに、次の属性を指定します。
データ型の属性は、列に格納されるデータの種類を定義します。 表を作成する場合、各列のデータ型を指定する必要があります。
データ型は各列に含むことができる値のドメインを定義します。たとえば、DATE
列では値February 29
(うるう年を除く)、値2
またはSHOE
は使用できません。その後、列に挿入した各値はその列をデータ型と想定します。たとえば、17-JAN-2004
を日付列に挿入する場合、有効な日付に変換したことを確認した後にOracle Databaseは文字列を日付値として処理します。
表8-1に、一般的なOracle Database組込みデータ型の一部を示します。
表8-1 一般的なデータ型
制約により列の有効な値が決定します。SQL Developerでは、「表の作成」ダイアログ・ボックス・ページの列レベルで定義できる制約は、行が挿入または更新されるたびに列に値があることを要求するNOT NULL
制約のみです。「表レベルの制約について」で説明されている、列定義の一部または表定義の一部として定義できるその他の制約とは異なり、NOT NULL
制約は列定義の一部として定義する必要があります。
データベースの整合性のため列にデータを指定する必要がある場合は、NOT NULL
制約を使用します。たとえば、すべての従業員が特定の部門に所属する必要がある場合、部門の識別子を含む列はNOT NULL
制約を付けて定義される必要があります。ただし、行が追加または変更される際にデータが不明または存在しない可能性があるときは、NOT NULL
として列を定義しないでください。NOT
NULL
制約を使用しない列の例として、メール・アドレス内の2番目のオプション行があります。
データベースは列または表の主キーを含む列にNOT NULL
制限を自動的に追加します。
列に値が入力されないまま新しい行が挿入されると、この値が列に自動的に格納されます。デフォルト値はリテラルに、または式として指定できます。ただし、式を作成する方法には制限があります。詳細は、『Oracle Database SQL言語リファレンス』を参照してください。