初めてのデータベース設計

第4回 データ型

この記事を読むのに必要な時間:およそ 2 分

前回は,概念モデルからリレーショナルモデルに変換する手順や,リレーショナルモデルとして適切な形式である正規形について説明しました。

正規形に変換したテーブルを,実際にリレーショナルデータベースマネジメントシステム(RDBMS)において定義するには,その前に列のデータ型を決定する必要があります。今回は,RDBMSとしてオープンソースのPostgreSQLを取り上げ,データ型について説明します。

データ型とは

テーブルを定義する際には,そのテーブルの列のデータ型を指定する必要があります。データ型とは,テーブルに格納するデータの取り扱いに関する形式のことであり,データの性質や範囲などを定義したものです。

プログラミングの経験がある方であれば,プログラムにおいて変数を宣言する際にデータ型を指定することがあると思います。データベースにおけるデータ型も基本的にはプログラミングにおけるものと同じです。

ただし,プログラミングにおけるデータ型とデータベースにおけるデータ型では,どのようなデータ型を使用するかということの重要度が大きく異なります。データベースでは,指定したデータ型によって大量のデータが格納されるため,適切ではないデータ型を使用すると,必要以上にディスク容量を消費したり,性能への影響が発生することもあります。


データベースにおいて使用できるデータ型は,標準SQL規格によって定義されています。標準SQL規格によって定義されているデータ型には以下のようなものがあります。カッコ内にはデータ型の別名を記述しています。

数値データ型:
smallint,integer(int),real,double precision,float,decimal(dec),numeric
文字データ型:
character(char),character varying(varchar),national character(nchar),national character varying(nvarchar),character large object(clob)
日付・時刻データ型:
date,time,timestamp,interval
ビット・バイナリデータ型:
bit,bit varying,binary large object(blob)
論理値データ型:
boolean

テーブルを定義する際には,上記のようなデータ型から適切なものを選択します。しかし,そのデータ型が実際に使用できるかどうかということはRDBMSによって異なります。

また,RDBMSによっては標準SQL規格には定義されていないデータ型が定義されていることも少なくなく,そのようなデータ型を使用したほうが適切である場合もあります。

先に述べましたように,今回はRDBMSとしてオープンソースのPostgreSQLを例として,一般的によく使用される整数データ型,文字データ型,および日付・時刻データ型といった基本的なデータ型について説明します。

著者プロフィール

佐藤友章(さとうともあき)

SRA OSS, Inc. 日本支社 チーフエンジニア。入社以来,オープンソースデータベースPostgreSQLに関する業務に携わり,現在,PostgreSQLのサポートやコンサルティング,トレーニングの講師を務める。

URLhttp://www.sraoss.co.jp/

コメント

コメントの記入