PR

わかる!Access学習3 データベースの設計方法

Access学習

データベースを構築する上では、適切な設計の下にこれを実行していく必要があります。
データベースの設計手順には、いくつかの原則があります。まず、保存する情報に重複(冗長性)があると、無駄にデータベースの容量が大きくなり、エラーやデータ間での不整合を発生させる可能性が高くなります。 次に、情報の正確さ・完全性という観点からは、データベースに不正な情報がある場合、そのデータベースから取得できる全ての情報の妥当性が失われます。
したがって、適切なデータベース設計は次の観点から行うようにします。

① データの冗長性を少なくするために、情報が主題ごとのテーブルに分割されている。
② 必要に応じてテーブル内の必要な情報を結合できるように情報を持たせる。
③ 情報が正確で整合性が取れていることが保証されている。
④ データ処理とレポート作成のニーズに対応している。

スポンサーリンク

設計プロセス

データベースの設計プロセスは、以下の手順で示すことができます。

① データベースの目的を決定する。

データベースの目的、用途、要求事項等を抽出します。各ユーザーがそのデータベースをいつ、どのように使用するかを考えながら要件定義書を作成できると、意思決定のときに目的に焦点を絞ることができます。

② 作成するデータベースにおいて必要な情報を整理する。

作成するデータベースに応じて、例えば、製品名、価格、担当者、注文日や注文番号等、データベースに記録する必要があるすべての種類の情報を収集します。また、データを出力する際に、どのような形でそれを実現したいかによってもデータベースに持たせる情報の在り方が変わってきます。

③ ②で収集した情報に対し主題を設定し、テーブル単位で分割する。

各情報の項目がフィールドに相当し、テーブルの列として表示されます。例えば、「従業員番号」、「姓」、「名」、「年齢」といった情報の項目がフィールドになり、これらは「従業員に関連する情報」という主題を設定することができます。そして、主題に対して「T_従業員テーブル」を作成し、テーブル内に各フィールドを設定することになります。

テーブル内にフィールドを設定する際に注意しなければならないこととして、一つ目に計算データは保持しないという点が挙げられます。Accessではクエリを用いて計算データを出力することができるため、元データとなる情報がデータベースの中で保持されていれば、これに基づくデータをクエリ内で自由に加工して出力することができます。二つ目として、情報は最小限の論理単位で保持させるという点が挙げられます。複数の種類の情報を一つのフィールドで保持すると、データが蓄積されてきた際に、必要情報の抽出が困難になるおそれがあります。例えば、「住所」フィールドに「神奈川県横浜市南区」というデータと「神奈川県横浜市港北区」というデータが含まれているとき、「神奈川県」としてデータを抽出したい場合には相応の前処理が必要になってきます。したがって、「都道府県」という情報を最小の単位としてフィールドを持たせることで、データ処理を迅速に行えるようになることが期待できます。

④ 主キーを指定する。

主キーとはプライマリーキーとも呼ばれ、テーブルの各行(レコードに相当する。)を一意に識別するために使用されるフィールドを指します。

③で示した例の場合、「従業員番号」はユニークな値となり、かつ、一度付与されたら変わることのない値であるため、主キーに設定することができます。ただし、仮に従業員番号でも定期的に値が変わってしまう場合には、主キーに設定することはできません。

一方、「姓」フィールドの場合、同性の人がいた場合に一意にレコードを特定できないため、主キーに設定することができません。

Accessでは、データ型としてオートナンバー型を設定したフィールドを作成し、これを主キーにすることも多々あります。

⑤ テーブル リレーションシップを設定する。

各テーブルを確認し、1つのテーブルのフィールドと他のテーブルのフィールドとの関係が「1対1」、「1対多」及び「多対多」のいずれかであることを確認し、また、「正規化」という考えを基にリレーションシップを設定します。

⑥ 設計を調整する。

設計にエラーがないかを分析します。 テーブルを作成し、サンプルのレコードをいくつか追加します。テーブルから必要な結果を得られるか確認します。必要に応じて設計を調整します。

⑦ 正規化ルールを適用する

データの正規化ルールを適用して、テーブルの構造が正しいか確認します。必要に応じてテーブルを調整します。

これらプロセスにおいて、特に「正規化」の考え方を取り入れることは、リレーショナルデータベースを構築する上で必要不可欠であり、是非最適化を図れるようになりましょう。

正規化の考え方は非常に大切なため、別の記事で特化して紹介したいと思います。

まとめ

今回はデータベースを作成する上で必要不可欠な設計方法の考え方について紹介しました。各プロセスで必要な事項について紹介をしてきましたが、実際に作ってみないと分からないこと、気づけないことも多々あると思います。

まずは、データベース設計とは何だろうか、という視点で本記事を読んでいただくことで頭の片隅に必要な事項としてとどめていただければと思います。

スポンサーリンク

Kindle Unlimitedにサインアップして無料体験に登録する
Kindle Unlimitedに登録すると、人気のシリーズ、ベストセラー、名作などに好きなだけアクセスして、シームレスなデジタル読書体験を実現できます。

コメント

タイトルとURLをコピーしました