chargeのブログ

人のブログを見て真似して書いていきます。似たブログを見つけたら教えてください。

データベースの練習

2016-03-05 13:28:08 | 日記
 私は日本郵政から提供されている全国の郵便番号のCSVがデータとしてちょうどよいので、データベースの練習に使用している。そのデータに含まれている全国地方自治体コードに全国地方自治体コードの表の主キーに対する外部参照制約をつけようと思い、本日は全国地方自治体コードの表を作った。しかし、総務省から配布されている全国地方自治体コードにはチェックデジットがついており、対して日本郵政から配布されるCSVのデータの全国地方自治体コードはチェックデジットがついていないため、どちらか一方のデータの全国地方自治体コードに対して変更を加えなければ目的の外部制約を付けられない状況である。これから、データベーストリガーを書いて、インサートの時に桁数を削減しようとしている。
 日本郵政がデータからチェックデジットを省いたのは、データ量を削減するためであるわけだが、そのままにしておいてくれたほうがデータを後で合わせたりするときに手間が少し減ったはずである。手間が少し省けるなら、少しくらいデータ量が増えたってよいのではないかと思うが、データが何億件もたまると場合によっては違いが大きくなり、手間のコストを凌駕するのでデータ量を削減することは必須なのだと思う。
 自分が練習用のデータベースで郵便番号と全国地方自治体コードを結び付けたからと言ってできることはほとんどなく、何ということはないが、やはりデータ量が多いというのはデータベースの練習において、かなり違いがある。データベースの目的というのは大量のデータを敏速に扱うことになるのであって、多少のデータでうまく動いたところであまり意味が大きくない。バインド変数を使った時と動的にSQLを生成したときでどのくらい実行速度が変わるかを計測したり、データベースのパフォーマンスチューニングやデータベースリプレイの学習のために関連する大きいデータがほかにもあれば、いくつか表に入れてみようと思っている。


最新の画像もっと見る

コメントを投稿