DB設計

[DB]

DB(データベース)とはただのデータ保管場所である。
なにも難しいことはない。
でDBを使用するメリットは

  • トランザクション処理
  • SQLというインターフェース(文字列ベース)を使用してすべての環境から利用可能

ぐらいだろうか。

[DB設計]

ではDB設計とは何かというどんなデータを保管するか?というそれだけのことである。

これでおしまい。
しかし現実はというと

  • なんとなくDBのテーブル設計を行う
  • 次にクラス設計を行う
  • マッピングの取れていないDBテーブルとクラスをなんとかマッピングしようと悪戦苦闘
  • マッピングしきれない場合、テーブル変更等の手戻り発生



そもそもクラス構造とDB構造(リレーショナル)が異なるためにこの問題が発生しているわけで
世の中にはオブジェクト指向DBなるものが登場しつつあるがそれはまだ先の話かな。

[ビジネスチャンス]
  • DB設計は実はクラス設計のことである(設計には深い業務知識が必要)
  • 現実は良くないDB設計があふれている
  • しかし世間の関心はDB設計ではなく実際のDB(Oracle,SQLServer)の使用方法にある(?)。Oracleの資格まであるし。設計は定量的評価ができないしね。
  • このDB設計こそ他人/他社と比べて大きな優位性をだせる可能性がある(ビジネスチャンス!)

というわけでDB設計で他社との優位性をねらってみようかなと考えている。
クラス設計に自身のある人にはDB設計を経験してみることをお勧めする。

[補足]

まだDB経験が浅い(半年間)ので考えがコロコロ変わるかもしれません。あしからず。