一昔前に比べてDB設計にかける時間が減っているように見えます。テーブルのカラム許容数も増え、メモリも潤沢になったことで多少無茶な設計をしたとしてもデータベースがなんとかしてくれるようになっています。

しかしアクセス量が増えればそういった問題点が顕著になってきます。そこで今回はDB設計時に注意した方が良い点と設計を手助けするオープンソース・ソフトウェアを紹介します。

複数持つのか、単数持つのか

DB設計で最も大事で、かつよくミスするのが「その項目を複数もつのか否か」ではないでしょうか。顧客情報で言えば配送先住所は複数になりますし、クレジットカード情報も複数になることが多いです。しかし初期設計段階では単数で、顧客テーブルの中に項目を設けてしまったりします。

ただしすべてが複数であれば良いかというとそんなことはないので、見極めが大事です。または途中で変更になるのを前提として、最初は単数でもっておいて、複数になった場合でもすぐに対応できるように準備しておく(ラップする関数を作っておく)といった対策も考えられます。