属性に対するデータ・タイプ

各属性ごとにデータ・タイプを指定する必要があります。

ほとんどの組織には、各種データ・タイプの使用に関する適切に定義されたガイドラインがあります。以下に、エンティティーの属性として使用可能な主要データ・タイプの概要を記載してあります。

ストリング
文字、数字、および特殊文字の組み合わせを含むデータ。 ストリング・データ・タイプの一覧を以下に示します。
  • CHARACTER: 固定長の文字ストリング。このデータ・タイプに対する共通のショート・ネームは CHAR です。
  • VARCHAR: 可変長の文字ストリング。
  • CLOB: 可変長の文字のラージ・オブジェクト・ストリングであり、VARCHAR データ・タイプの制限を超える可能性のある文字ストリングに対して、一般的に使用します。
  • GRAPHIC: 固定長のグラフィック・ストリングであり、2 バイト文字を含みます。
  • VARGRAPHIC: 可変長のグラフィック・ストリングであり、2 バイト文字を含みます。
  • DBCLOB: ラージ・オブジェクトにおける 2 バイト文字の可変長ストリングです。
  • BINARY: コード・ページに関連付けられていない一連のバイト列。
  • VARBINARY: 可変長のバイナリー・ストリング。
  • BLOB: ラージ・オブジェクトにおける可変長のバイナリー・ストリング。
  • XML: XML の内部表記である可変長ストリング。
数値
数字を含むデータ。数値データ・タイプの一覧を以下に示します。
  • SMALLINT: 短精度整数に対して指定。
  • INTEGER: 長精度整数に対して指定。
  • BIGINT: より大きな値に対して指定。
  • DECIMAL(p,s) または NUMERIC(p,s)。ここで、p は精度であり、s は位取りです (精度 p と位取り s を持つパック 10 進数の場合)。 精度 とは総桁数であり、位取り とは小数点の右側にある数値の個数です。
  • DECFLOAT: 10 進の浮動小数点数に対して指定。
  • REAL: 単精度の浮動小数点数に対して指定。
  • DOUBLE: 倍精度の浮動小数点数に対して指定。
Datetime
日付、時刻、またはタイム・スタンプを表すデータ値。Datetime データ・タイプの一覧を以下に示します。
  • DATE: 年、月、日を表す 3 部構成の値を持った日付。
  • TIME: 時、分、秒を表す 3 部構成の値を持った時刻。
  • TIMESTAMP: 日付と時刻を表す 7 部構成の値 (年、月、日、時、分、秒、およびマイクロ秒) を持ったタイム・スタンプ。
例: EMPLOYEE エンティティーの属性に、次のデータ・タイプを使用することがあります。
  • EMPLOYEE_NUMBER: CHAR(6)
  • EMPLOYEE_LAST_NAME: VARCHAR(15)
  • EMPLOYEE_HIRE_DATE: DATE
  • EMPLOYEE_SALARY_AMOUNT: DECIMAL(9,2)

選択するデータ・タイプは、ビジネス定義のデータ・タイプです。 物理データベース設計時に、データ・タイプ定義を変更、またはそのデータ・タイプのサブセットを使用する必要がある場合があります。データベースまたはホスト言語がこの定義のすべてをサポートしていない場合があり、あるいはパフォーマンス上の理由から別の選択を行う場合もあります。

例えば、金額を表現する必要がある場合がありますが、DB2® および多くのホスト言語にデータ・タイプ MONEY がありません。米国では、この場合の SQL データ・タイプに関する通常の選択は、ドルを表す DECIMAL(10,2) です。しかし、高速で効率的なパフォーマンスのために、データ・タイプ INTEGER を考慮することもあります。