キー属性の値

データベースを設計する場合、エンティティーのさまざまな属性に許容される値を決定する必要があります。

例えば、個人の名前の属性には数値データを使用できないようにすることがあります。選択したデータ・タイプで、特定の属性に適用される値が限定されますが、他のメカニズムを使用することもできます。この他のメカニズムには、ドメイン、NULL 値、およびデフォルト値があります。

ドメイン

ドメインで、属性値が有効な値であるために、満足する必要のある条件を記述します。ドメインで、有効な値の範囲を識別することがあります。 特定の属性のドメインを定義し、ビジネス・ルールを適用してデータが意味のあるものにします。

例:
  • ドメインで、電話番号属性は数値のみの 10 桁の値と記述することがあります。電話番号が不完全であることは望まず、また英字や特殊文字を使用して、このために無効になることも望みません。 数値データ・タイプかまたは文字データ・タイプの使用を選択することがあります。 しかし、ドメインのビジネス・ルールには、値は数値から構成される 10 桁の値でなければならないと定められています。この規則を最終的に決定する前に、異なるフォーマットを持った国際電話番号のニーズがあるかどうかを検討してください。
  • ドメインで、月属性は 01 から 12 の 2 桁の値と記述することがあります。ここでも、この値に日時、文字、または数値データ・タイプの使用を選択できますが、ドメインで、値は 01 から 12 までの範囲でなければならないと要求しています。この場合は、月を日時データ・タイプにすることが、おそらくは最適の選択です。この判断は、物理データベース設計時に再検討する必要があります。

NULL 値

エンティティーの属性を設計しているときに、エンティティーの一部のインスタンスの値が属性にないことが分かる場合があります。例えば、個人のミドルネームの属性を必要とすることがありますが、ミドルネームのない人がいるので、値を必須にできません。この場合には、属性に NULL 値を使用できるように属性を定義します。

NULL 値は特殊なインディケーターで、値がないことを表します。 値が不明、まだ指定されていないか存在しないために、値がないことがあります。 DBMS は NULL 値を、ゼロ値、ブランク、または空ストリングではなく、実際の値として取り扱います。

NULL 値を使用できる属性があるように、NULL 値を使用できない属性もあります。

例: EMPLOYEE エンティティーの場合、属性 EMPLOYEE_LAST_NAME に NULL 値を許可しないことがあります。

デフォルト値

ある場合には、特定の属性に NULL 値を使用できないようにしますが、ユーザーまたはプログラムが常に値を指定することを必須にしないことがあります。 この場合には、デフォルト値が適切なことがあります。

デフォルト値とは、他の有効な値が使用可能でない場合に、属性に適用する値です。

例: EMPLOYEE_HIRE_DATE 属性には NULL 値を使用できないようにするが、ユーザーがこのデータを指定することを必須にしないと想定します。新しい従業員に関するデータは通常、従業員の雇用の初日にデータベースに追加される場合は、デフォルト値として現在日付を定義します。