header

都道府県マスタを作る

(2/4)

TABLEを設計する

都道府県マスタで必要となる情報は、マスタ・コードと都道府県名(漢字)で十分だろう。そこで、この2つの情報を収める TABLE を設計することにする。TABLE名は prefectures (都道府県)とする。

RDBでは、1つの情報に対して1つの COLUMN を割り当てる。どのような COLUMN を割り当てるかは、データベース設計を担当する技術者の腕の見せ所である。DBの参考書にはそのための手法が説明してあるが、結局は経験を積むしかない。
COLUMN を定義するためには、名前とデータ型が必須である。

名前については前述の通り、MySQLでは英数大文字小文字が区別された名前を付与することができる。ここでは、都道府県コードに id、都道府県名に value という名前を与えることにする。

データ型は、大別すると数値型と文字型がある。TABLE 設計の際、格納すべき情報が数値なのか文字なのか、この点を明確にする必要がある。
id は数値である。しかも整数だ。そこで、整数型(integer または int)というデータ型を与える。
value は文字である。MySQLには何種類かの文字型があるが、基本は char 型と varchar 型である。 いずれも、最大255バイトの文字を格納することができる。固定長の文字を格納するなら char を、可変長なら varchar を選ぶ。
value は可変長で最大10バイト(漢字5文字)もあれば十分だろう。これを varchar(10) と表記する。

以上を整理すると、 prefectures の設計書は次のようになる。

[prefectures]
COLUMN
データ型
内容
id int JIS X0401
value varchar(10) 都道府県名(漢字)