Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです
2005年09月26日 |
物理DB実装の話 |
「新論理DBを作成し、新物理DBに展開する」 どこかの教本に出てきそうなフレーズですが、われわれは日常、DB設計を行うときに、 ほとんど意識せず、このことを行ってしまっています。 正規化の概念、意味、意義を知って設計を行っている人はどれくらいいるでしょうか? 私のモットーは第3正規形が基本。第3正規形にするということは、 ・詳細設計書を書く人ができるだけ苦労しないこと ・プログラマが苦労をせずにDBに関連したコーディングができること を満たす最低条件です。 さらに、以下のようなガイドラインに沿って設計を進めます。 ・項目名は項目辞書を使って統一する ・DBの ・char型は使わず、varchar型を使用する ・smalldatetime型は使用しない ・日付型以外はnullを許可しない ・金額に関する項目は できるだけ金額を表す型にする ・項目の初期値をおおまかに決めておく(例えばint型なら0など) ・ドメイン(有効桁数)を設定し、全体を統一する ・PKは必ず設定する ・追加するIndexは必要なもののみとし、多くても5個以上にならないようにする ・FKは基本的には設定しない ・トリガは使わない ・ユーザ関数は多用しない(無用なオーバーヘッドが発生するため) ・ユーザ定義型は多用しない ある程度設計が進んだ時点で、機能とのすり合わせを行い、性能要件が満たせない 可能性のある部分については導出項目を設けるようにしています。 また、格納件数が数百万件を越える可能性のあるテーブルは分割方法を工夫 することも・・・。発想の転換が必要な場合もありますよ。 |
この記事に対するコメント |
この記事に対するコメントの投稿 |
この記事に対するトラックバック |
トラックバックURL
→http://comfair2.blog24.fc2.com/tb.php/13-85453005 この記事にトラックバックする(FC2ブログユーザー) |
|