データ型に関する解説
データ型はデータベースを使用したシステム開発における基本中の基本です。データ型は一旦決定すると、途中で変更するのは難しくなります。もちろん、機能的には変更できますが、プログラムのあらゆる部分に影響を与える可能性があり不具合の原因になります。現実的には、データ型を途中で変更することはほぼありません。よって論理設計時に決定します。プログラム開発前であれば影響がないので十分な検討を重ね検討します。データベース構造の設計で最も重要な作業と言ってもいいでしょう
データ型とは
データ型はデータタイプとも言います。データ型の分類として、取り扱うデータの型に依存する文字型、数値型、日付型、バイナリ型が基本です。その他にデータの処理に依存する、ブーリアン型やデータの格納方法に依存する配列型などと分類する場合もあります。ブーリアン型は論理型とも言い、真と偽という2値の値を取り扱うものを言います。通常は関数処理の戻り値や比較文IFの比較結果など使います。プログラムでは使いますがデータベースの格納に使うことは余り多くないかも知れません。配列型はデータを格納する場合に単一のデータではなく配列方式で格納する型です。データベースの場合正規化の観点から配列型にはしません。これもプログラムで使います
文字型
文字データを取り扱うデータ型です。文字型の代表は、CHAR型(固定長)とVERCHAR型(可変長)です。
文字型となる項目の例
名前(氏名)、名称(タイトル)、住所、内容、説明、備考など
住所や備考などはデータによって長さが違います。これを固定長にした場合無駄な空き領域が発生します。この空き領域を抑制し、コンピュータ資源(メモリ容量やディスク容量)を有効活用するために可変長が必要になります
数値型
数値データを扱うデータ型です。数値型の代表は、NUMBER型やINTEGER型です。
数値型となる項目の例
番号、コード、件数、金額、長さ、重さ、合計値、平均値など
科学技術計算のような大きな数値、小さな数値を扱う場合はFLOAT型
日付型
日付データを扱うデータ型です。日付型の代表は、DATE型です
日付型となる項目の例
作成日時、注文日時、更新日時など
一見日付型は文字型のような感覚になりますが、まったくの別ものです。日付を一日分加算するなどの計算が必要な時、そのままでは計算できません。一旦数値型等に変換して計算して元の日付型に戻すという処理が必要になります。DBMSによっては自動で行ってくれるものもありますが、通常は関数等で処理します
データ型はDBMSによって違う
データ型はDBMSによって構文や扱いが多少異なります。使用するDBMSによって記述方法や扱い方法を確認しながら進めます。以下は代表的DBMSの文字、数字についての比較表例です。このように微妙な違いが分かると思います
ANSIとは、American National Standards Institute(米国国家規格協会)のことです
SQLはANSIによって標準化されてきた経緯があります