要件定義→概念→論理→物理 の全工程を完全習得
DB設計は「要件→概念→論理→物理」の4フェーズで進む。各フェーズの成果物と担当が明確に分かれており、試験では各フェーズの目的・成果物が問われる。
| フェーズ | 目的 | 主な成果物 | 依存するもの |
|---|---|---|---|
| 要件定義 | 何を管理するか決める | 業務フロー、データ一覧 | ユーザーヒアリング |
| 概念設計 | 現実世界をモデル化 | ER図(エンティティ・関連) | DBMS非依存 |
| 論理設計 | 関係スキーマへ変換 | テーブル定義、正規化 | 関係モデル |
| 物理設計 | DBMS上で実装可能にする | DDL、インデックス、パーティション | DBMS依存 |
ER図でエンティティ(実体)・属性・関連(リレーションシップ)・カーディナリティを定義する。この段階では特定のDBMSを意識しない。
| ER図上の構造 | 変換後のテーブル構造 |
|---|---|
| エンティティ | 1テーブル(主キー列必須) |
| 1対多の関連 | 「多」側テーブルに外部キーを追加 |
| 多対多の関連 | 中間テーブルを新規作成(両エンティティのPKを持つ) |
| サブタイプ(is-a) | ① 親テーブルのみ、② 子テーブルのみ、③ 親+子テーブル の3戦略 |
| 複合属性 | 各属性を別列に分割(第1正規形) |
| 多値属性 | 別テーブルに分離 |
論理設計では第3正規形(3NF)または BCNF まで正規化するのが基本。ただし性能要件によっては意図的に非正規化を採用する。
| 正規化 | 非正規化(反正規化) |
|---|---|
| 更新異常を防ぐ | JOIN 削減で検索高速化 |
| データ整合性◎ | 冗長データ・更新コスト増 |
| OLTP向き | DWH・レポート向き |
読了ボタンを押すとトップページの進捗に反映されます