目次へ

2.5. SQL によるデータベース操作

2.5.1. 基本的なデータ型

リレーショナル型データベースの場合、複数の列によって表が構成されます。列という単位には同様の形式の情報が入ることになります。これはたとえば氏名や住所などの文字情報の場合もありますし、金額などの整数の場合もあります。また確率のように小数点付きの情報、日付情報などなど、それぞれは列という概念において同一の形式の情報が集合化されているわけです。

このような、それ以上は論理的に分割されることはない情報の値の集合が列であり、この値の入るべき情報の形式をデータ型というわけです。

データ型は各製品に実装される SQL によって若干の差はあるので注意が必要です。公式には基本的なデータ型として次の 7つが定義されています。

CHARACTER STRING
使用される文字セットにかかわりなく、テキストを表す全てのデータ型である。固定長と可変長があり、可変長の場合は CHARACTER VARYING と定義される。引数として固定長の場合は、その文字数をとり、可変長の場合は文字数の最大値をとる。CHARACTER は CHAR、CHARACTER VARYING は CHAR VARYING や VARCHAR と省略することも可能である。
NATIONAL CHARACTER
文字セットが実装時に定義され、もっとも一般的に使用される言語に対応することを除けば、実質的には CHARACTER STRING 型と同じである。NATIONAL CHAR または NCHAR と省略することが可能である。
BIT STRING
BIT 文字列はバイナリ数で、0 と 1 のシーケンスで構成される。固定長と可変長があり、可変長の場合は BIT VARYING と定義される。引数として、固定長の場合はその文字列を、可変長の場合は文字数の最大値をとる。
EXACT NUMERIC
精度とスケールを指定または暗示する。厳密な数を表す数字で次の 4つがある。
NUMERIC
指定された桁数と小数点位置をもつ数値を定義する。
DECIMAL
NUMERIC と非常に似ているが、実装によっては定義されているものより大きな精度が選択されるという、わずかな違いがある。NUMERIC が実際の精度を指定するのに対し、DECIMAL は最小の精度を指定する。
INTEGER
小数点を持たない精度の整数値を定義する。
SMALLINT
精度が INTGER よりも低いことを除けば、INTEGER と同じ。
APPROXIMATE NUMERIC
精度を持つがスケールといったものはない。APPROXIMATE NUMERIC は次のとおりである。
FLOAT
指定される精度の値以上の 2 進数精度を持つ。
REAL
この型の精度は 10 進数で、実装時に定義される。
DOUBLE PRECISION
この型の精度も 10 進数で実装時に定義されるが REAL の精度よりも高い。
DATETIME
日付または時刻を示す表現の様々な部分を表す。次の3つのデータ型がある。
DATE
YEAR、MONTH、DAY という 3つの整数フィールドの集合の型である。
TIME
これも HOUR、MINUTE、SECOND という 3つの数値フィールドの集合の型である。
TIMESTAMP
DATE と TIME の組合せの型である。
INTERVAL
様々な日付や時刻間の間隔で、時間の量を示すデータ型である。

(実習課題2)

SQL の基本的なデータ型にはどのようなものがあるか? それぞれについて説明せよ。

解答例はこちら

関連記事

  • [SQL] 2. SQL 1 : データベースを操作するSQLの歴史について説明します
  • [SQL] 2. SQL 2 : SQLの種類について説明します
  • [SQL] 2. SQL 3 : SQLの利用方法について説明します

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp