データベースの設計ってなに?テーブルを正規化してビューで表示させること?
という知識しかない自分・・・勉強する。
1.データベース設計とは
データベース設計とは、データベースによってデータを管理できるように、現実の世界を抽象化してデータモデルを作成していく作業のこと。
データモデルはデータベースをどのように構成するかということを定義したもの。
このデータモデルを作成していく作業をデータモデリングといい、一般的に概念設計、論理設計、物理設計という3つの段階を通して行われる。
そして,それぞれの段階でアウトプットされるのが、概念モデル,論理モデル,物理モデルである。
モデル化することをデータベース設計っていうのか。
モデリングは奥が深そうだな・・・
2.データベース設計を行なう目的
信頼性が高い、拡張性が高い、ユーザ要求を満たすデータベースを構築するため。
・信頼性が高い・・・1データ1箇所で整合性の確保、障害発生時の迅速な回復
・拡張性が高い・・・将来追加する機能を顧慮した作りに、アプリケーションの追加・拡張ができる、正規化
・ユーザ要求を満たす・・・効率の良いデータアクセスが可能
最初から完全なサービスを生み出すことはできない。
なので、拡張性を高くしておき、変更があっても柔軟に対応できるようにしておく。
この考えが正規化の理由につながりそう。
3.データベース設計方法
概念設計、論理設計、物理設計の順番で行なう。
・概念設計・・・ERモデル(ER図?)を作成する(ER図を簡単に作成できるERMasterというEclipseの拡張があったから使う)
・論理設計・・・テーブルを適切な形に変換する正規化を行なう
・物理設計・・・インデックスをつくったり、正規化したテーブルを崩して自分のサービスに最適化したり
とりあえず、以上。
具体的な設計手法は今後書いていく。実際に作りながら。
【次回への課題】
テーブル設計、スキーマ設計、クエリ設計を調べる。特にスキーマ設計ってなに・・・
コメント