この特集のトップページへ
Chapter 3:データストア層の構築

head2.gif 3.4.2 テーブルを定義する
 データベースを作成したら,次にテーブルを構成する。データベースを作り終えると,Fig.3-36に示すウィンドウが表示されるので,左側から[オブジェクト]内にある[テーブル]をクリックし,そのあと[新規作成]ボタンを押すか,もしくは右側に表示されている[デザインビューでテーブルを作成する]をダブルクリックする。

Fig.3-36 データベースのウィンドウ

fig3_36.gif

 すると,Fig.3-37に示すように,作成するテーブル名を問われるので,任意のテーブル名を入力する。ここではまず,Table 3-23に示した顧客情報テーブルを作成することにし,テーブル名に“顧客情報”と入力する。

Fig.3-37 テーブル名の入力

fig3_37.gif

 テーブル名を入力したら,Fig.3-38に示すウィンドウでテーブルを定義することができる。Table 3-23で示したとおり,テーブルを構築する。

Fig.3-38 テーブルの構築

fig3_38.gif

 Fig.3-38における各項目の意味は,次のとおりである。

・列名
 列の名前(フィールド名)を入力する。
・データ型,長さ,精度,桁数  データ型には,その列の型を入力する。具体的には,Table 3-31のいずれかを選択することになる。文字型を選択したときには長さ,decimal型およびnumeric型を選択したときには精度および桁数も設定する。

Table 3-31 データ型

データ型

解説

bit

ビット型。長さに1を指定したときには,Visual BasicでいうところのBoolean型に相当し,0がFalse,1がTrueに対応する

int

4バイトの整数型。Visual BasicでいうところのLong型に相当する。−2,147,483,648〜+2,147,483,647の値

smallint

2バイトの整数型。Visual BasicでいうところのInteger型に相当する。−32,768〜+32,767の値

tinyint

1バイトの整数型。Visual BasicでいうところのByte型に相当する。0〜255の値

decimal

10進数型(BCD型)。固定小数点の10進数で格納される型であり,10進数のまま計算するため,小数を示すときでも2進数変換への誤差がない。decimal型を選択したときには,示したい桁数(1〜38)を精度として,小数点位置(下何桁が小数以下を示すのか)を桁数として,それぞれ指定する

numeric

decimal型と同じ

money

金銭型。Visual BasicでいうところのCurrency型に相当する。−922,337,203,685,477.5808〜+922,337,203,685,477.5807の値

smallmoney

金銭型。−214,748.3648〜+214,748.3647の値

float

浮動小数点型。−1.79E+308〜+1.79E+308の値

real

浮動小数点型。−3.40E+38〜+3.4E+38の値

datetime

日付時刻型。1753年1月1日〜9999年12月31日の値

smalldatetime

日付時刻型。1900年1月1日〜2079年6月6日の値

cursor

カーソル型。レコードの場所を指し示すのに用いる

timestamp

データベースレベルで唯一無二な番号。システム時刻

uniqueidentifier

GUID(実行するたびに唯一無二の値を発生する128ビットの値)

char

Unicodeではない固定長文字列。最大8,000文字まで格納できる。定義された文字数未満のデータを格納した場合には,足りない部分が空白で埋められる

varchar

Unicodeではない可変長文字列。最大8,000文字まで格納できる

text

Unicodeではない可変長文字列。最大2,147,483,647文字まで格納できる

nchar

Unicodeの固定長文字列。最大4,000文字まで格納できる。定義された文字数未満のデータを格納した場合には,足りない部分が空白で埋められる

nvarchar

Unicodeの可変長文字列。最大4,000文字まで格納できる

ntext

Unicodeの可変長文字列。最大1,073,741,823文字まで格納できる

binary

固定長のバイナリデータ。最大8,000バイト格納できる。定義されたバイト数未満のデータを格納した場合には,足りない部分が0で埋められる

varbinary

可変長のバイナリデータ。最大8,000バイト格納できる

image

可変長のバイナリデータ。最大2,147,483,647バイト格納できる


・NULLを許容
 その列にNULL値を格納できるかどうかを指定する。チェックを付けると,NULL値を許すことになる。ただし,bit型のフィールドは,NULL値を格納することはできない。
・既定値
 レコードを作成したときにデフォルトで格納したい値を設定する。
・IDENTITY,IDENTITYシード,IDENTITYインクリメント
 そのフィールドに自動的に連番(オートナンバー)を割り当てたい場合には,IDENTITYにチェックを付ける。IDENTITYにチェックを付けることができるのは,データ型として,intsmallinttinyintdecimal(ただし桁数が0)のどれかを設定した場合のみである。
 IDENTITYにチェックを付けたとき,IDENTITYシードが連番の初期値,IDENTITYインクリメントが連番の増分となる。たとえば,IDENTITYシードに0,IDENTITYインクリメントに1を設定した場合,0,1,2,…という連番が自動的に割り当てられるようになる。
・Is RowColGuid
 この行に対して,自動的にGUIDを設定するかどうかを指定する。Is RowColGuidにチェックを付けることができるのは,データ型としてuniqueidentifierを設定したときだけである。この項目にチェックを付けると,レコードを作成するたびに,自動的に新しいGUID(これは唯一無二の128ビット値となる)が生成され,格納される。

 たとえば,Table 3-23に示した顧客情報テーブルを構築する場合には,Fig.3-39のようになる。

Fig.3-39 顧客情報テーブルの作成

fig3_39.gif

 テーブルを入力し終えたら,主キーを割り当てる。主キーは,レコード間で唯一無二の値であり,レコードを識別するために使われる。主キーが設定されると,インデックスが生成され,データベースに高速にアクセスできるようになる。

 Table 3-23で示した顧客情報テーブルの場合には,IDフィールドがレコードを特定する唯一無二の値を格納するフィールドなので,それを主キーに割り当てる。主キーとするには,その列(フィールド)を右クリックし,表示されたメニューから[主キー]を選択する(Fig.3-40)。

Fig.3-40 主キーの設定

fig3_40.gif

 以上の設定が終わったら,テーブルウィンドウの右上にある[×]ボタンを押してテーブルウィンドウを閉じる。すると,Fig.3-41に示す確認のメッセージが表示されるので,[はい]ボタンを押す。これで,指定したテーブルがMSDE上に作成される。

Fig.3-41 テーブル変更の確認

fig3_41.gif

 同様の方法で,Table 3-24Table 3-30に示したテーブルを作成すると,Fig.3-42Fig.3-48のようになる。

Fig.3-42 製品情報テーブルの作成

fig3_42.gif

Fig.3-43 在庫情報テーブルの作成

fig3_43.gif

Fig.3-44 伝票情報テーブルの作成

fig3_44.gif

Fig.3-45 明細情報テーブルの作成

fig3_45.gif

Fig.3-46 伝票追加情報テーブルの作成

fig3_46.gif

Fig.3-47 請求書情報情報テーブルの作成

fig3_47.gif

Fig.3-48 履歴テーブルの作成

fig3_48.gif

prevpg.gif Chapter 3 19/22 nextpg.gif