先生のための SQL Server 2016 | |||||
<< Prev | Next >> | ||||
第11回 生徒テーブルを作成する | |||||
Microsoft SQL Server 2016
に新しいデータベース「school」を作成した。しかしまだデータを格納するテーブルはできていない。学籍管理、成績管理をするに、まず生徒の基本データを格納するテーブルを作成しよう。 Management Studio を起動して SQL Server 2016 に接続し「データベース」の要素から「school」のデータベースを展開する。「テーブル」の項目には「システムテーブル」と「File Tables」の要素があるが、それ以外にはない。ここにテーブルを作成する。 テーブルを作成するには「テーブル」項目をマウスでポイントして右クリックし、メニューから「テーブル(T)...」を選択する。 |
|||||
「テーブル(T)...」を選択すると、Management Studio の中央ペインがテーブルの編集画面になる。画面の右側はテーブルのプロパティが表示され、下部には編集対象となっている列のプロパティが表示される。 | |||||
テーブルを作成するときは、列名とデータ型を決めなければならない。列名はデータの内容をあらわす最も適切な項目名をつける。データ型はその項目に対してどのような処理を行いたいかを考えて決める。 まず列名を決めて入力する。列名は日本語も使えるが、今後テーブル名を使ってプログラミングすることを考えて、アルファベットでの列名にしておく。このあたりは開発者の考え方により、日本語を使った方が直感的でわかりやすいと思う人もいるだろう。しかしアルファベットの方がプログラミングにおいて単純になるので、ここでは学生番号をあらわす列名として「gakuseid」という列名にしよう。 |
|||||
列名を入力して「Tab」キーを押すと列名の選択項目にカーソルが移動する。列名はドロップダウンリストボックスになっており、あらかじめ用意されたデータ型の中から選択するようになる。 デフォルトでは「nchar(10)」が選択される。「nchar」はUnicode による固定長の文字列型であり、日本語を扱うことができる。括弧内の数字は文字数を示している。つまり「nchar(10)」は日本語を含む文字を10文字まで格納できるデータ型だ。 もし日本語を使わずアルファベットと数字だけのデータを扱うには「char」型がある。これはASCIIコードでデータを格納する型で、たとえば「char(10)」ならアルファベットや数字を10文字まで格納できるデータ型だ。このときは漢字やひらがななど日本語を扱うことはできない。もともとコンピュータがそうだが、データベースもアルファベットを使う欧米で発展したので文字列は「char」型が基本だった。これを拡張して文字コードに Unicode をあてたものが「nchar」型だ。 ここで知っておくこととして、「char」や「nchar」は固定長の文字列型なので、たとえば「char(10)」の場合に「abcde」のデータを格納したときには、余った5文字のところはスペースで埋められることがある。つまり「abcde 」のようにデータが格納されるのだ。スペースは画面上で見えないので、このことがプログラミング上のミスにつながることもあることを知っておくとよい。 データ型は、このデータに対してどのような処理をしたいかによって決めるべきである。このことは後に詳しく述べるとして、ここではデフォルトで与えられたものを使うことにしよう。 |
|||||