step01 実用データベース設計の考え方

この山之口洋のデータベース講座【応用編】のイントロダクションとして、実用的なデータベースを設計(デザイン)する場合の考え方について、まとめておく。
すでに皆さんは、【基礎編】において、図1-1に示すような、データベースの設計手順について学んだ。実用的な、すなわちビジネスレベルのデータベースを設計するに当たっては、これに加えて、いくつかの点を検討しなければならない。その結果、たとえば、必ずしもこの図の手順を踏まず、フォームやレポートの設計作業が先行するといったことも起こりうる。

図1-1: データベース設計の工程(再掲)

データベースのモデル化とシステム設計

(参考:Microsoft Access 2016 応用 セミナーテキスト 日経BP社)
データベースを設計する際、最初に行うことは、データベースによってデータを管理できるように、現実の世界を抽象化し、データを表現するための記述方式(ルール)を定義することである。これを、データベースのモデル化、あるいはデータベースモデリングという。また、その結果定義されたルールはデータモデルという。
つまリ、データベースとは、図1-2に示すように、受注・顧客・商品・社員など、現実世界の一部を、意味のあるデータの集まりとして、コンピユーター上に写し取り、表現したものと考えられる。もちろん、データベースとして表現するのは、対象業務に関係する、必要十分な範囲に限定される。

図1-2: データベースのモデル化

業務分析とデータベース設計

(参考:Microsoft Access 2016 応用 セミナーテキスト 日経BP社)
新たにデータベース・システムを構築して、ゼロから業務を始めるというケースはまれであり、ほとんどの場合には、すでにやっている日常業務を、データベース・システムを使うことで改善するプロジェクトになる。したがって、まず始めに、現在の業務がどのように行われているのかを分析し、データベース・システムの設計に盛り込まねばならない。現在使われている帳票(伝票や帳簿)や画面(既存システムの操作画面など)があれば、それらを収集し、必要事項や改良点を探る。当然、データベース・システムの運用開始後は、それらの帳票を出力(印刷)することはシステムの機能となる。
図1-3に、業務分析の一般的な手順を示す。

図1-3: 業務分析の手順

ビジネス・データベースでは、フォーム(画面上のUI)やレポート(紙上のUI)の設計を先行させる場合があるのも、こうした業務分析の流れを反映するからである。
各ステップの内容を、簡単に解説しておく。

タスクの整理
顧客からの受注入力など、システム化する業務を整理し、リスト化する。この時点で、業務全体のうち、システム化する範囲は明確になっていなければならない。
画面や帳票の整理
使用するユーザーを考慮し、システム化するためにどのような入力・編集画面(フォーム)や、帳票(レポート)が必要かを整理する。
データの整理
システム化に必要なデータ項目(フィールド)を整理し、テーブルとク工リに対応させ、リレーションシップを作成する。
システムの構築
フォームやレポートなど必要なオブジェクトを作成する。また、ユーザーが必要なタスクをできるだけ少ない労力で作業できるよう、マクロやモジュール(VBA)を使用してメニューシステムを作成する。これには、省力化のほか、システム作成者・管理者でない一般ユーザー(運用者)から、データベース・システムの詳細を隠す目的もある。
具体例を挙げると、step03で用いるテキスト『Microsoft Access 2013 応用 セミナーテキスト』(日経BP社)では、図1-4に示すような、酒類販売店の業務をテーマにしているが、その内、テキストで構築するデータベース・システムの対象範囲は、商品受注に関わる業務のみである。顧客情報や商品情報も利用するが、新たな顧客の受け入れ(取引開始)や、新商品の登録、廃版商品の削除といった業務は、対象としない。

図1-4: 業務分析の手順

対象業務が決まれば、さらに細かい観察を行って、

を決定するわけである。この、酒類受注業務で使う画面や帳票(納品書)のイメージを、図1-5に示す。

図1-5: 受注入力画面と帳票

こうした検討から、必要なテーブルやクエリの種類が自ずから決まってくる。ビジネスとは、顧客と商品を結びつけることに他ならず、これら帳票にも、それらのデータを格納するための顧客テーブル商品テーブル上のデータが表示・印刷されている。また、1枚の帳票に対応するのは1回の販売行為であり、そこでは一般に複数の商品が取引されるので、1対多のリレーションシップで結ばれた2つのテーブル(受注、受注明細)が必要なことも分かる。
したがって、実用的な受注業務に必要なデータベースは、図1-6のような4つのテーブルから構成されることが多い。これは、ビジネス・データベースの基本形というべき構造である。

図1-6: 「酒類受注」システムのテーブル構成

業務分析の流れと、データベース設計との関わりがイメージできただろうか。