デキるエンジニアになるためには、DB技術の基礎は必須です。本連載では、豊富な実例と演習問題で、プロとして恥ずかしくない設計手順を解説します。DB設計のポイントとなる汎用的なケースを紹介しているので、通常の業務とは異なる場合でも応用できる「共通の考え方」を身に付けられます。
データベース設計に求められる要素は、以下の3点に集約されます。
設計の目的をブレイクダウンします。
それぞれがどのように実現されるのかをまとめます。 ()内は実現主体を示します。
これらの要件を満たすことができるように意識しつつ、データベースを設計します。
データベース設計の手順は3つのフェイズに分けられ、それぞれのフェイズごとに目的が異なります。他の工程との連携も視野に入れながら、それぞれのフェイズの手順を概観していきます。
最初のフェイズである概念設計では、業務で扱う情報を整理し、概念ER図として表します。 経営トップの方針および新システムの企業内の位置付けなどを調査し、必要な情報を予測して拡張性を持たせた設計を行います。
同時に、業務の観点から必要な情報を漏れなく管理できるように設計します。抽出した情報は、正規化し、あるべき姿で情報を整理し、概念ER図に表します。
2番目のフェイズである論理設計では、データ構造の変更を最小限に抑えながら性能向上を図ります。 インプットとして、アプリケーション開発工程の基本設計書、ユーザー定義の性能要件、概念ER図、データベースの種類(階層型かネットワーク型かリレーショナル型か)を使用します。
論理設計では、以下のような設計を行います。
3番目のフェイズである物理設計では、ユーザー要件として性能要件や可用性を考慮したデータベースを設計します。そのために必要なハードウェア資源、ミドルウェアの選定、パラメータの設定を行います。
インプットとして、表、索引、ビューの定義、ユーザー定義の性能要件、予測データ量、トランザクション量、方式設計で定義されたシステム要件を用意し、DBMSを選定します。
データベース製品で利用する機能を選択し、パラメータ値の設定、オブジェクトの作成、メモリ要件の定義、ディスク配置の定義等、方式設計の物理的な詳細を設定します。
アウトプットとして、方式のシステム構成の詳細設定(メモリ構成、ディスクレイアウト)、データベース機能の選択と各種オブジェクト、データベース運用時の各種パラメータを決定します。
中村才千代
エディフィストラーニング インストラクター。データベース設計、システム構築の上流工程〜下流工程全般のコースを担当。「実践で使える」講義を行うことを心掛けている。
現在は、複数のSIerの人材育成を担当している。SE時代の経験を生かし、「業務を知っているエンジニアこそデータベース設計に関わるべきだ」ということ、「データベース設計に携わるエンジニアは、逆に業務を知っている人に知恵を貸してもらう必要がある」ということを伝えていきたい。
Copyright © ITmedia, Inc. All Rights Reserved.