2013-05-03から1日間の記事一覧

ファントムファイル

画像データなどをデータベースに格納せず、格納先のみを保存して、画像データなどを外部に保存するのは以下の様な問題がある、という指摘。 データベース上のファイルを削除しても外部ファイルは自動的に消えないという問題。 トランザクション分離がサポー…

サーティワンフレーバー

IN句をつかったCHECK制約だけで列の値を制限するやり方には問題がありますよ。という指摘。プログラムで言うところの列挙型(ENUM)のようなもの。MySQLでも同様の機能があるようだ。 問題点は以下のとおり。 許可されている値の一覧がわからない。CHECK制約…

ラウンディングエラー

小数を格納するのにFLOATやDOUBLE, REALなどを使ってしまい、誤差がでてしまうというもの。金額の計算などにはNUMERICやDECIMALを使いましょう。はい。そのとおりですね。

メタデータトリブル

顧客テーブルの属性に毎年、集計データの列を追加するという、ちょっと悪夢のような設計が紹介されていた。テーブルのタブル(行)の長さが変わるというのは運用上、物理的な格納効率を悪化させることがある。また、列が追加されるということは、SQLを実行す…

マルチカラムアトリビュート

ジェイウォークのように繰返し項目をテーブルを分割せずに対応する方法の一つ。ジェイウォークは区切り文字を使って一つの属性に押し込めていたが、このパターンでは繰返し項目を単に番号をつけて列を分割する。 例えば、住所録に電話番号を複数格納する必要…