No.1ベストアンサー
- 回答日時:
おっしゃるとおり正規化はメチャ判りにくいです。
難しい言葉を機関銃のごとく連発して、専門家しかわからない様にしています。判ってしまえば、何てことないのですが。正規化で苦労した被害者のひとりとして、できるだけ、わかりやすい言葉で説明してみたいと思います。実例として参考URLをご覧ください。
非正規形を見てください。商品明細が繰り返しになっています。(繰り返しているように見えませんが、商品明細が複数行あります)
まず、繰り返しを排除したものが第一正規形です。実は第一正規形は2つあって、参考URLにあるのは第一正規形(その2)です。ここには有りませんが第一正規形(その1)は非正規形と同じ形で商品明細が1個だけついた形です。
混乱されるかもしれませんが、どちらも繰り返しを排除していると言う意味でまさに、第一正規形なのです。・・・・ここまでは蛇足です。
次に第一正規形を見てください。この中に親分が何人いるでしょうか。親分と言うのは何人か子分がいて、親分が右と言えば子分は右を向くのです。
実は第一正規形(その2)ではわかりにくいので第一正規形(その1)で説明します。
親分は受注番号と商品番号です。ところが数量と金額だけはひとりの親分だけの子分ではありません。実は受注番号と商品番号という2人の親分を持つのです。このとき「受注番号と商品番号」を複合キーと言います。
第二正規形は全ての親分と複合キーを元に表の編成を行ないます。
次に第三正規形です。第二正規形では実は親分-子分-孫分の関係が残っています。これを分離していきます。つまり、親分-子分、子分-孫分と言う別の表に分離します。大家族を核家族化するわけですね。
お分かりいただけたでしょうか。わかりにくければ、補足ください。
原点に戻って、蛇足の第二段。
主キーとは親分または複合キーの事です。
候補キーとは主キー、または主キーの代名詞、または主キーの代理が出来るもの。
本当は逆で候補キーの中から一番いいのを選んで主キーとするのです。
(候補キーが次郎長、清水の親分、清水次郎長、街道一の男伊達の4つあるときどれを主キーとしてもいいのですね)
ところが学生番号、学生氏名の場合、同姓同名がなければどちらでもいいですが、同姓同名を考えるなら学生番号を主キーにするほうがいいのです。
最後ですが、親分または複合キーであって、かつ、ただ一人(表の中のただ1行)を特定できる。それが主キーなのです。
参考URL:http://www.netlaputa.ne.jp/~hijk/study/ae/datnom …
この回答へのお礼
お礼日時:2002/01/25 01:00
ご丁寧な解答をくださって、どうもありがとうございました。
もう一度、自分の中で順を追って整理してみたいと思います。
また何か機会があれば、そのときはよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 個人的に、憲法改正案を考えてみました。 意見を聞かせてください。 特に、9条(第2章 - 戦争の放棄 3 2023/02/22 22:08
- 政治 個人的に、憲法改正案を考えてみました。 意見を聞かせてください。 特に、9条(第2章 - 戦争の放棄 4 2023/02/19 14:34
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
- 日本語 <代名詞><指示詞>という誤り 4 2022/04/01 11:06
- 政治 私の憲法9条改正案はどうですか? これだったら改憲反対派も賛成してくれますか? 【9条】(平和主義) 3 2022/12/22 22:16
- 数学 モデルのパラメータの定義がいまいちわかりません。 3 2022/10/11 15:16
- その他(教育・科学・学問) 某大学のコンプライアンス室に通報しても規程を無視して「不受理」という回答しかしない場合の対応策 2 2022/04/19 23:56
- 政治 中国は一票の格差4倍で、日本は3倍ですが、それでも日本は民主主義国なら中国も同じですよね? 2 2023/03/16 04:52
- 英語 ”be”<動詞>と<助動詞>混同の誤り ― 形式主義文法論の混迷 12 2022/05/17 11:09
- 政治 私が考えた憲法9条改正案はどうですか? 11 2022/12/03 15:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessでの請求管理について
-
accessでのフォームの連携について
-
Accessフォーム全レコードをPDF...
-
usingの意味がわからないのですが
-
フィールド名が取得したい
-
Excelで空白以外の値がある列の...
-
DBのタイプの指定とサイズにつ...
-
Accessのリンクテーブルのパス...
-
Excel 2019 のピボットテーブル...
-
肥満体で彼女いない歴=年齢で...
-
Accessでテーブルの値をテキス...
-
Access 昇順・降順で並び替え...
-
Accessのサブフォームで#Name...
-
時間の足し算
-
Accessのことで教えてください...
-
エクセルVBAで5行目からオート...
-
PC-98でHDDに複数OSを入れる...
-
VBA でvlookup エラーなどは削...
-
ACCESSでテーブルのフィールド...
-
ACCESSのクエリで集計で、先頭...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるフィールドの最大値を条件...
-
usingの意味がわからないのですが
-
Accessフォーム全レコードをPDF...
-
Accessの帳票フォームで重複デ...
-
Access2021 「ISNULL関数には引...
-
MS ACCESS 商品価格変更時の該...
-
アクセスのテーブルを分ける理...
-
accessでの請求管理について
-
ACCESS VBA クエリを開く
-
【Accessクエリ】存在しないデ...
-
accessでのフォームの連携について
-
SQL EXISTS演算子について
-
accessについて
-
曜日を表す項目
-
フィールド名が取得したい
-
Accessでクエリの作成、多対1対...
-
Accessについて(DLOOKUP関数、...
-
集計結果を別テーブルに更新ク...
-
Excelで重複する情報に番号を付...
-
正規化すると遅くなるというの...
おすすめ情報