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

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

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

ビジネス・データベースでは、フォーム(画面上のUI)やレポート(紙上のUI)の設計を先行させる場合があるのも、こうした業務分析の流れを反映するからである。
各ステップの内容を、簡単に解説しておく。
- タスクの整理
- 顧客からの受注入力など、システム化する業務を整理し、リスト化する。この時点で、業務全体のうち、システム化する範囲は明確になっていなければならない。
- 画面や帳票の整理
- 使用するユーザーを考慮し、システム化するためにどのような入力・編集画面(フォーム)や、帳票(レポート)が必要かを整理する。
- データの整理
- システム化に必要なデータ項目(フィールド)を整理し、テーブルとク工リに対応させ、リレーションシップを作成する。
- システムの構築
- フォームやレポートなど必要なオブジェクトを作成する。また、ユーザーが必要なタスクをできるだけ少ない労力で作業できるよう、マクロやモジュール(VBA)を使用してメニューシステムを作成する。これには、省力化のほか、システム作成者・管理者でない一般ユーザー(運用者)から、データベース・システムの詳細を隠す目的もある。

対象業務が決まれば、さらに細かい観察を行って、
- どのような画面で受注処理を行えばよいか
- 業務にはどのような種類の帳票が必要で、それぞれに記載すべき項目はなにか

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

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