人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

実は非正規形から第一正規形への変換が全く違った考えをしていました。
http://www.netlaputa.ne.jp/~hijk/study/ae/datnom.html#A01
ここのサイトなどにあるように繰り返しを無くすとあるのですが、第一になっても繰り返しがなくなったように感じません。
何が繰り返しているのか、もしくは繰り返しとは何か、確実に何か勘違いしています。
今は上のサイトの図では繰り返してるのは
商品明細ではなくて受注番号から担当営業名のところが繰り返し出てきているように感じています。
何とか判るように教えてください

●質問者: Zommerz
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:とある サイト 勘違い 担当
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● countdown
●16ポイント

http://www.hatena.ne.jp/1091460292#

実は非正規形から第一正規形への変換が全く違った考えをしていました。 http://www.netlaputa.ne.jp/~hijk/study/ae/datnom.html#A01 ここのサイトなどにあるように繰り返.. - 人力検索はてな

URLはダミーです。

ここで問題となっている繰り返しと言うのは、一つのレコードの中での繰り返しということだと思います。

正規化されていないと

受注番号〜担当営業名、商品明細1、商品明細2、商品明細3…

と言うレコードになります。商品明細が繰り返し登場していますね。

このレコードと同じ情報をあらわすのに、

受注番号〜担当営業名を一つのレコードにし、商品明細1、商品明細2…をそれぞれ一つのレコードにするのが第一正規形への変換だと思います。

得意先番号から得意先名が、担当営業番号から担当営業名が自動的に求められるので、これもある意味繰り返しと言えますが、繰り返し度が低い(なにそれって感じですが)ので、さらに正規化したいときだけ第二、第三正規形で対応する、と言うことではないでしょうか。

まずは「一つのレコードの中での同じ項目の繰り返し」をなくすことが重要だってことだと思います。


2 ● aki73ix
●16ポイント

http://www.wakhok.ac.jp/DB/section2.7.6.html

第一正規形

繰り返しはなくならなくていいのです

第1正規化は、むしろ冗長性は増します

正規化によって、おなじレコードの中に複数のデータが存在するのを無くす処理が第1正規化です。

ですから、上のサイトで繰り返し出てきているのは問題ありません。

URLの先をご覧になると分かりやすいと思います


3 ● bigmonster_hiki
●16ポイント

http://www.netlaputa.ne.jp/~hijk/study/ae/datnom.html#A01

データの正規化

非正規系から第一正規系にするときは、<b>同一レコード内</b>での繰り返し(複数要素列挙)をなくすようにすることがポイントです。そこで、明細部を別のテーブル(B)に分けてあります。対象のデータは、正規化の結果、Aテーブルに1レコード、Bテーブルにnレコードという形に分離されます。

受注番号→担当営業者名のところは下の図にも書いてあるとおり、推移関数従属になっていますので、ここは第二から第三にするときに分離します。


4 ● yellow_73
●16ポイント

http://www.ddsystems.info/ex/ex_cgi/400101.html

たとえば、こちら参照。具体的にテーブルの中身の例も出てますし。

ご質問文中のサイトを拝見しましたが、この「繰り返し」は、商品明細(xn)の*列*グループを指していますね。

商品の種類に応じて、商品番号, 商品名, 単価, 数量, 金額 の5列がセットで右に伸びていっています(右端の「…」がそれを指していると思われます)。

商品番号1, 商品名1, 単価1, 数量1, 金額1, 商品番号2, 商品名2, 単価2, 数量2, 金額2, ..., 金額n といったかんじに、列数は、取り扱う商品の種類に応じて増えていきます。

このような固定列テーブルに対する挑戦のようなデータ構造を、なんとか固定列テーブルにしてしまうのが、第一正規化です。

第一正規化ができあがった段階では「受注番号から担当営業名のところが繰り返し出てきている」ような*行*が出ています。

って、ご質問文中のサイト、第二正規化の説明が間違ってるように思います。


5 ● nobukin80
●16ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

1個の受注番号に複数の商品明細を「繰り返し」くっつけたのが表Xですよね。

それに対して、1個の受注番号に商品明細を「1個だけ」くっつけたのが表Bです。

もともと受注番号に「1個だけ」くっついていた担当営業名などは別の表Aにまとめてます。(これで繰り返しがなくなりました!)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ