データ型とフィールドサイズの指定はデータベース独学の壁

フィールドのサイズについて

データベースの学習初心者がテーブルを作成する際に参考例が極端に少ないのが最適なフィールドサイズの決め方。

これには基本も完璧もなく完全に現場にあわせる必要があるとのコトかも知れませんが、真剣に学びたい人にとっては極めて不案内ではないでしょうか。

実例掲載が少ないフィールドサイズ

フィールドのサイズを考える際に、仮に次のようなテーブル作成例をサンプルに考えてみます。

フィールド名データ型
IDint(11)
名前varchar(20)
住所varchar(100)

※お粗末で実用に耐えないものですので、これをどう改善すれば適当かというメモが転がっている程度に扱ってください。

人名は、希に長い方がいらっしゃることが想定され、住所は、都道府県、市町村から細かくは建物名までカラムを設けるのが常識であるのは、Webサイトの会員登録などを経験すれば分かるとおりです。

多くの書籍や参考サイトなどで、書かれている例はここで上げた例より大きなサイズになっています。

住所録のデータベース化などは、半世紀近く昔から当たり前に行われていることですので、各フィールドの最適値は大凡このくらいといった情報があっても良さそうに感じるのは初学者のみの意見なのでしょうか。

データを入れてからの変更はNG

ことデータベースの学習については、テスト用のデータベースを作って実戦形式の運用を繰り返してナンボと言えるでしょう。

なのにフィールドサイズの参考値が全く示されなければ、適当に大きめの値を入れるしか方法がありません。

データベースで大は小を兼ねますが、それが運用時のレスポンスなどシステムのパフォーマンスにどう影響するのかも学習者にとって疑問が積み重なる部分です。

このサンプルデータベースで、仮に入るデータに対して小さなフィールドサイズを選んでしまうと、あとでサイズを大きくしたとき(小さくしたとき)データが消失してしまう危険があります。

この事実を考慮すれば、データ型の選定やサイズの決定は作成時の段階に慎重にあたらなければなりません(学習速度を加速したくても・・)。

そもそもサイズの定義は必須なのか

ハードウェアが進化した現在では、それほど重要な要素ではないのかもしれませんが、実例が足りない原因がそこであれば、あまり重要ではないよと案内してくれる親切な方がいてもよさそうだと感じてしまうことがあります。

また、初学者向けに出版されている書籍でも基礎を学ぶためには実用に即した大規模なデータベースへでの運用を想定してか書かれているので、その点を考えると自分なりに様々な検証ができる環境を手元に整えておく必要がありそうです。

誰も攻略を手伝ってれないDB学習の大きな壁

プロのデータベースエンジニアに言わせれば、フィールドサイズの決定はフロントエンドに設置される入出力枠の大きさに依存することでしょう。

ユーザーは枠に入る文字数であれば、全て入力が可能と考えるのは当然のことです。

逆に、あまり大きめのサイズに指定しても無駄だろうと考えるのは管理者側の事情であって、両者の意向の兼ね合いを判断するのが技術者(管理者側)ということになります。

結局はデータベースを生かすべき場面に照らし、個々の環境に当てはめトライ&エラーを繰り返さなければならないということでしょう。

ならば、重要なことですのでデータ型の指定やサイズの決定は、もっと分かりやす嚙み砕いて、ある場面では実例を用い深く入り込んで初学者へ伝えることが必要かと思われます。

おすすめ記事

データベースのインポート データベースのインポート・エクスポート(バックアップ)のポイント【phpMyAdminを使ってMySQL、MariaDB】 優れ物ツール「phpMyAdmin」でデータベース作成【MariaDB】