プロが教えるわが家の防犯対策術!

現在正規化を勉強しているのですが、実際の活用例を教えていただきたいです。ちなみに2019です。

顧客管理
顧客ID 氏名 ・・・

受注管理
顧客ID 受注ID 受注日 支払い状況 ・・・

受注明細
受注ID 受注明細ID 商品名 数量 到着ステータス ・・・

と各テーブルをリレーションシップで結んで整合性を取りたいのですが、一対多のリレーションの結び方がわからなく困っています。 
例えば顧客管理の顧客IDは重複しませんが、受注管理の顧客IDは重複する。
   受注管理の受注IDは重複しないが、受注明細の注文IDは商品数が複数になれば重複します。

また、このように正規化した各テーブルにて受注明細を商品数毎に複数行入力する際に受注管理の部分は自動で連動してくるクエリ等の設定ができればと思っております。
初心者のため説明も下手ですがご教示いただけますと幸いです。

質問者からの補足コメント

  • 回答ありがとうございます。
    初歩的な質問で申し訳ないのですが、
    受注管理の主キーは受注ID
    受注明細の主キーは受注明細IDで設定し、それぞれをオートナンバー型で設定した場合は、受注明細の受注IDは数値型でよろしかったでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/05/31 18:23
  • あと、これらのテーブルで例えば受注明細の項目を入力しているときに、受注管理をリレーションを結んでいる受注ID等を入力を省けるようなやり方はございますでしょうか?

    例)受注管理
      顧客ID 受注ID 受注日 支払い状況
       1    1   5/20  未配送

      受注明細
      受注ID 受注明細ID 商品名 数量 到着ステータス
       1     1    あ   1   ・・・
       1     2    い   5   ・・・
       2     3    え   5   ・・・
       2     4    か   10  ・・・

    このように受注IDが被るときにこれを省略するサブフォーム?から値を取得?のような効率の良い方法がありましたら教えていただきたいです。

      補足日時:2022/05/31 18:28

A 回答 (2件)

はい、数値型でいいです。



入力したいフォームのイメージに合わせて作りますが、お書きになったデータの親・子ということなら

親フォーム
顧客ID 受注ID 受注日 支払い状況
 1    1   5/20  未配送

サブフォーム
受注明細ID 商品名 数量 到着ステータス
  1     あ   1   ・・・
  2     い   5   ・・・

として、サブフォームで受注IDは入力しないです。
    • good
    • 0
この回答へのお礼

ありがとうございます。やってみたらなんとなくできました。
また、今度はクエリやフォームのことで質問させていただくと思いますので今後ともよろしくお願いいたします

お礼日時:2022/06/02 17:58

受注管理の主キーは「受注ID」 


受注明細の主キーは「受注明細ID」
これなら解決しませんか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す