データベースの設計ってどうすんの

データベースの設計ってなに?テーブルを正規化してビューで表示させること?
という知識しかない自分・・・勉強する。

1.データベース設計とは

データベース設計とは、データベースによってデータを管理できるように、現実の世界を抽象化してデータモデルを作成していく作業のこと。
データモデルはデータベースをどのように構成するかということを定義したもの。

このデータモデルを作成していく作業をデータモデリングといい、一般的に概念設計、論理設計、物理設計という3つの段階を通して行われる。
そして,それぞれの段階でアウトプットされるのが、概念モデル,論理モデル,物理モデルである。

モデル化することをデータベース設計っていうのか。
モデリングは奥が深そうだな・・・

2.データベース設計を行なう目的

信頼性が高い、拡張性が高い、ユーザ要求を満たすデータベースを構築するため。
・信頼性が高い・・・1データ1箇所で整合性の確保、障害発生時の迅速な回復
・拡張性が高い・・・将来追加する機能を顧慮した作りに、アプリケーションの追加・拡張ができる、正規化
・ユーザ要求を満たす・・・効率の良いデータアクセスが可能

最初から完全なサービスを生み出すことはできない。
なので、拡張性を高くしておき、変更があっても柔軟に対応できるようにしておく。

この考えが正規化の理由につながりそう。

3.データベース設計方法

概念設計、論理設計、物理設計の順番で行なう。
・概念設計・・・ERモデル(ER図?)を作成する(ER図を簡単に作成できるERMasterというEclipseの拡張があったから使う)
・論理設計・・・テーブルを適切な形に変換する正規化を行なう
・物理設計・・・インデックスをつくったり、正規化したテーブルを崩して自分のサービスに最適化したり

とりあえず、以上。
具体的な設計手法は今後書いていく。実際に作りながら。

【次回への課題】
テーブル設計、スキーマ設計、クエリ設計を調べる。特にスキーマ設計ってなに・・・

【参考】

第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社

【DB概論】データベース設計の目的・まとめ - @IT自分戦略研究所

コメント

タイトルとURLをコピーしました