参考サイト:正規化とは?

 

山岸製作所のルールとして、開発前の事前準備として データベースの要素の整理 をしてもらいます。

ソフトを開発するにあたって、ここが非常に重要になります。

大まかな整理の手順としては。

 

手順1:必要なデータを横並びに並べてみる

手順2:手順1でつくったデータベースから、1つのレコードを絞れる要素の項目を選び、別のテーブルとする。

手順3:IDで持たせられるような要素を抽出して、別テーブルとする

 

この手順で開発前の準備をおこないます。

まずは例題をみてみましょう。

これは、商社の受注管理のソフトの開発をイメージしてください。

何か注文がはいったらその都度、注文番号をふって管理していきます。

1つの注文番号には複数の商品が対象になっています。

これが 手順1:必要なデータを横並びに並べてみる という状態です。

開発担当者のみなさんは、作りたいソフトのデーターベース要素をこのような形で横並びでイメージしましょう。

 

次はこのデータから 手順2:手順1でつくったデータベースから、1つのレコードを絞れる要素の項目を選び、別のテーブルとする。

という手順になります。

さて、上のデータベースから1つのレコードをしていするには何の要素があればいいでしょうか。

答えを言うと、 注文番号と商品ID になります。

手順2にてこのテーブルに切り分けていきます。

そして 手順3:IDで持たせられるような要素を抽出して、別テーブルとする

これはやらないとどんなことが起きるのか?ですが。

これをしないと、例えば 新規取引先が増えたり、取引先の社名が変わった場合に、レコードのすべての値を変更していく必要があります。

それは使用期間が長いソフトであればかなり面倒なことです。

だから、IDで持たせられる要素はIDで持たせてリレーションをつかって紐づけておけば、名前が変わっても、マスタを編集すれば自動で変わってくれます。エクセルの参照のようなものです。

その手順3を実施したのちが下図です。

こんな形で、最終的には1つのデータベースを3つのテーブルに切り分けることができました。

これを当社の事前準備とします。

そして、この作業が非常に重要な作業となります。

 

では問題です。

下図は当社のシステムのデータベースの表です。

ここまで学んだ方は、この表が事前準備がされていないとわかると思います。

当社のルールとなる事前準備が終わった形に直してください。

Categories:

Tags:

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です