Accessでテーブルを作成するにあたり、フィールドごとに「データ型」を設定する必要があります。例えば、「年齢」という本来数値が入るべきフィールドに文字列の情報として「あああ」といった値が入力されてしまうとデータ自体の妥当性が得られなくなります。そこで、設計段階で各フィールドに適したデータの型を決め、これらを設定します。
データ型を慎重に設定することで、Accessの機能を十分に発揮することができ、保存する情報の精度も向上させることができます。
以上のことを踏まえて、今回は、Accessのデータ型について学習をしていきましょう。
Accessのデータ型
以下にAccessで使用できるデータ型の一部を示します。
表1 Accessで使用できるデータ型の一覧
データの種類 | 用途 | サイズ |
短いテキスト | 文字と数字のデータ (名前、肩書きなど)。 | 最大 255 文字 |
長いテキスト | 長い文字と数字のデータ(文章や段落)。 | 最大 1 GB (ただし、長いテキストを表示するコントロールは最初の 64,000 文字までに制限される) |
数値 | 数値データ | 1、2、4、8、または 16 バイト |
日付/時刻 | 日付と時刻 | 8 バイト |
通貨 | 4 桁の小数部の精度で保存される通貨のデータ。 | 8 バイト |
オートナンバー | 新しいレコードごとに Access で自動的に生成される固有の値。 | 4 バイト (レプリケーションID の場合は 16 バイト) |
Yes/No | Yes(True)の場合は -1 、No(False)の場合は 0の数値として保存される二者択一のデータ。 | 1 バイト |
OLE オブジェクト | 別の Windows ベースのアプリケーションからの画像やグラフなどの ActiveX オブジェクト。 | 最大 2 GB |
ハイパーリンク | インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ローカルコンピューター上のドキュメント又はファイルへのリンクアドレス。 | 最大 8,192 文字 (ハイパーリンク データ型の各部分に2048文字までを含められる) |
添付ファイル | 画像、ドキュメント、スプレッドシート、グラフなどのファイル。 | 最大 2 GB |
これら複数データ型がある中で、適切な型を選定するためには、表1に示す内容に加えてデータ型に対するプロパティも知る必要があります。各データ型のプロパティは、テーブルのデザインビューで設定することができるため、これらも意識しながら設計を進めると良いでしょう。例として、表2に「数値型」のプロパティを示します。
なお、数値型の場合は、扱う数字の形式を「フィールドサイズ」で設定することが大切となります。
表2 数値型のフィールドサイズ
フィールドサイズ | 説明 |
バイト型 | 0 から 255 の整数に使用する。 1バイトの記憶域が使用される。 |
整数型 | -32,768 から 32,767 の整数に使用する。 2バイトの記憶域が使用される。 |
長整数型 | -2,147,483,648 から 2,147,483,647 の整数に使用する。 4バイトの記憶域が使用される。 |
単精度浮動小数点型 | -3.4×1038 ~ 3.4×1038、最大7桁の有効桁数の数値浮動小数点値に使用する。4バイトの記憶域が使用される。 |
倍精度浮動小数点型 | -1.797×10308 ~ 1.797×10308、最大15桁の有効桁数の数値浮動小数点値に使用する。8バイトの記憶域が使用される。 |
10 進数 | -9.999…の範囲の数値に使用する。 ×1027から 9.999…×1027。12バイトの記憶域が使用される。 |
データ型の設定における注意点
データ型の設定における注意点として、一見では、あるデータ型に適用できるとしても、実際には別のデータ型を適用しなければならない場合があります。 例えば、あるフィールドに数値が含まれているように見えても、実際には、テキスト値が含まれていることがあります。別に紹介する「クエリ」によるデータ加工においては、フィールド単位で集計や計算をすることもできますが、データ型が一致しないことでエラーが発生する、といった事例も散見されますので、設計の段階でどのようなデータが含まれるかを知っておくことは精度良いデータベースを作成する上で、必要不可欠となります。
以上を踏まえて、表3にフィールドとデータ型の設定例を示します。
表3 フィールド項目とデータ型の設定例
フィールド | データ型 | 説明 |
ID | オートナンバー型 | 後ほど紹介する主キーを設定する上で作成するフィールド。インデックスとして、レコードを一意に識別するために用いる。 (オートナンバーは自動で番号が付与される。) |
姓 | 短いテキスト | 氏名は、姓と名を分ける方が管理上、便利になることが多い。 |
名 | 短いテキスト | 同上 |
生年月日 | 日付/時刻型 | 日時情報は、日付/時刻型で保存することで、Accessの様々な機能を活用することができる。 |
電話番号 | 短いテキスト | 電話番号は、「0」から始まるためゼロ落ちを防ぐ目的で数値型に設定するよりも文字列情報として保存することを推奨する。 |
住所 | 長いテキスト | 住所は、長くなる場合があることから、領域を確保するために長いテキストを設定する。なお、「都道府県」、「市区町村」といった分け方でフィールド(短いテキスト)を設定すると、データ整理の際に便利になることが多い。 |
古いデータベースでは、しばしば、日付情報を「年」、「月」及び「日」それぞれで「数値型」のフィールドとして保存している例も見られますが、この場合、月末月初や年始年末の日にちの計算をすることが非常に煩雑になります。また、曜日の表記処理もひと手間も二手間もかかります。
一方、日付/時刻型のデータとして処理をできるようになると、Accessのもつ関数を活用することで、効率的に業務を進めることができます。
これまでに紹介してきた内容は、ほんの一例に過ぎませんが、それでも適したデータ型の設定がいかに大切かをご理解いただけたのではないでしょうか。
以上のことからも、設計段階で適したデータ型を設定することの検討は、時間をかけてでも確実に行うことをお勧めします。
まとめ
今回は、Accessデータベースのテーブル作成におけるデータ型設定の考え方について紹介をしました。
ここで紹介した内容を参考に、データ型設定の検討を進めていただければと思います。
スポンサーリンク
コメント