<第5回>

フィールドの設定

兵庫県立西宮香風高等学校 松本吉生

ymatsumoto@hyogo-c.ed.jp

 
<<前のページへ
 
データの型
   
  SQL Server2000におけるフィールドのデータ型について、基本的なものをまとめておく。
   
 
  名前 データ長 値の範囲
整数型 bit 1 1、0、または NULL のいずれか
tinyint 1 0 から 255
smallint 2 -32,768 (2^15) から 32,767 (2^15-1)
int 4 -2,147,483,648 (-2^31) から 2,147,483,647 (2^31-1)
bigint 8 -9223372036854775808 (-2^63) から 9223372036854775807 (2^63-1)
概数型 real 4 -3.40E+38 から 3.40E+38
float 8 -1.79E+308 から 1.79E+308
通貨型 smallmoney 4

- 214,748.3648 から +214,748.3647 の金額データ値 (通貨単位の 10,000 分の 1 までの精度)

money 8

-922,337,203,685,477.5808 (-2^63) から +922,337,203,685,477.5807 ( 2^63 - 1)の金額データ値(通貨単位の 10,000 分の 1 までの精度)

時刻型 smalldatetime 4 分単位の精度で時刻データを格納
datetime 8 3.33ミリ秒の精度で時刻データを格納
文字型 char 1-8000 unicode でない固定長文字型
nchar 1-400

unicode 固定長文字型 (記憶領域のサイズは入力文字数の 2 倍のバイト数)

varchar 1-800 unicode でない可変長文字型
nvarchar 1-4000 unicode 可変長文字型 (記憶領域のサイズは入力文字数の 2 倍のバイト数)
 

主キーの設定

   
 

「主キー」とは、テーブルのレコードを一意に識別するキーとなるフィールドのことである。主キーを設定しなくてもデータベースを運用することはできるが、InfoPathからSQL Serverにデータを送信するためには主キーがなくてはならない。

主キーは「テーブルのデザイン」で設定する。「エンタープライズマネージャー」を起動し、SQL Serverを選択、データベースからテーブルをクリックし、「操作」メニューの「テーブルのデザイン」をクリックするか、テーブルを右クリックして「テーブルのデザイン」をクリックする。

   
 
   
  主キーが設定されたフィールドには黄色の鍵アイコンが表示される。
   
 
   
IDENTITYプロパティの設定
   
 

「主キー」に設定したフィールドは、必ずテーブルの中で固有の値を持つ必要がある。この値はシステムが自動的に連番をつけるようにしたい。新規データが入力されたとき、自動的に連番を振る機能をIDENTITYプロパティで設定することができる。これはアクセスの場合の「オート名バー型」に相当する。

IDENITYプロパティを定義できるのは、テーブルに1つのフィールドだけであり、NULL値を許容できない、といった制約がある。定義できるデータ型にも制約があり、原則として整数型のような少数値を含まない型でなければならない。

   
 
   
  「シード」は最初に決められる値であり、「インクリメント」は次の値の増分である。デフォルトではどちらも1に設定される。
   
 
   
データを生成した日付と時間の自動設定
   
  入力されたデータを検証するとき、データが入力された日付や時間がキーになることがある。自動的に日付と時間を設定するには、規定値にgetdate()関数を使う。
   
 
   
NULLを許容する設定
   
  新規データを作るとき、学籍番号と科目コードは入力を必須とするため「NULLを許容」のチェックを外しておく。
   
 
   
このページのまとめ
   
 

このページでは自動で連番を登録するIDENTITYのプロパティと、データが入力された日付と時間を設定するgetdate関数の使い方を説明した。これでSQL Serverの準備ができたので、次はいよいよInfoPathによるデータ接続を説明する。

なお、このページでは、特に断りのない限り、サーバはWindows 2000 Server と SQL Server 2000、クライアントはWindows XP Professional と Info Path 2003、を使って説明していく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。

       
  mailto:ymatsumoto@hyogo-c.ed.jp :←ここをクリックして筆者にメールを送る
       
 
matsumotoyoshio.com 2004/02/19