データベース 設計の手順


論理設計

概念スキーマを定義する設計。

システム開発におけるデータベース設計は

  1. 概念スキーマ(論理設計)
  2. 内部スキーマ(物理設計)

の手順で行う。

ステップ

1.エンティティの抽出

エンティティとは「実体」を表す。
例)顧客・店舗・会社員

RDSではこれらを「テーブル」という物理的単位で格納していく。
そのために、システムにどんなエンティティが必要になるかを抽出する。

2.エンティティの定義

各エンティティがどのようなデータを保持するか決める
エンティティはデータを「属性(attribute)」という形で保持する。

3.正規化

エンティティについて、システムの利用がスムーズに行えるよう整理する
更新が整合的に行えるようにする。

4.ER図の作成

エンティティ同士の関係を表現する図(ER図)を作成する。

物理設計

論理設計の結果をもとにデータを格納するための物理的な領域や格納方法を決める工程。

ステップ

1.テーブル定義

論理設計で定義された概念スキーマをもとに、「テーブル」の単位に変換する。
ER図を論理モデルと呼ぶのに対し、ここで作られるものは物理モデルと呼ぶ

2.インデックス定義

インデックスとは、キー値とデータへのポインタの配列。
SQL文はインデックスを辿ることでテーブルの特定レコードに狙い撃ちでアクセスできる。
それによりDBのパフォーマンスを向上する。

3.ハードウェアのサイジング

システムで利用するデータサイズを見積もり、それに十分なストレージを選定する。
またシステムが十分な性能を発揮できるだけのスペックを持つCPUやメモリを持ったサーバを選定する。

4.ストレージの冗長構成決定

ストレージはDBのデータを保持する媒体。
RAIDを用い、可能な限り高い耐障害性を持つようにシステムを設計する。

5.ファイルの物理配置決定

DBのファイルをどのディスクに配置するか決める。
ある程度はDBMSが自動で配置する。

参考文献

この記事は以下の情報を参考にして執筆しました。

達人に学ぶDB設計徹底指南書