[前][次][番号順一覧][スレッド一覧]

mysql:4933

From: <s1atirvine@xxxxxxxxxx>
Date: Wed, 16 Jan 2002 13:43:13 +0900
Subject: [mysql 04933] 複数テーブルにおけるデータの insert の方法

初めまして、坂本と申します

[複数テーブルにおけるデータのinsertの方法」に関して
質問をさせていただきます。

お手数ですが、ご教授のほどよろしくお願いいたします。

Linux(RedHat 6.2J)にて
mySQL-3.23.46  + PHP-3.0.18 + Apache-1.3.20
を使用し、Web+DB環境を勉強中です。

単一テーブルでのmySQLの勉強も終わり ある程度実践的な物として、
複数テーブルで顧客情報を保有する、DBを構築してみようと思っています。

テーブル設計としては、
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 [顧客情報テーブル] : 顧客ID(主キー)と住所などの顧客の基本情報
                       顧客IDは auto increment
 [商品テーブル] : 商品ID(主キー)と商品名,単価などの商品の基本情報
 [受注情報テーブル] : 受注ID(主キー),顧客ID,商品ID,受注個数 の情報
の3つ

ただし、[受注情報テーブル]は
 顧客情報テーブル の 顧客ID(テーブルの主キー)
 商品テーブル の 商品ID(テーブルの主キー)
にリンクされ3つのテーブルは関連づけられている状態

また、一人の顧客が複数の商品をオーダーした場合
受注情報テーブルは
 顧客ID | 商品ID | 受注個数
  0001  |  001   |    1
  0001  |  002   |    3
と言う形で、情報が登録される
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
といった形で、テーブル設計を考えております。

【質問】
上記の様な状況において、顧客からの受注情報をinsertする場合
通常は、
  まずは[顧客情報テーブル]に顧客情報を登録する。
  次に、auto incrementにより割り振られた、顧客IDを参照し
  [受注情報テーブル]を登録する
といった流れになると思います。

しかし、素人考えではありますが
 [顧客情報テーブル],[受注情報テーブル]同時に、
 insertできる方法は無いのだろうか?
とも思っています。

ご教授いただきたい点としては、
「そもそも、テーブル設計が間違っているよ!」
「同時にinsertできるよ!」
「別々に登録する以外方法はないよ!」
など、できれば具体的なSQL文も併せて教えていただければ
と思います。

また、この様なSQLのテーブル設計を行う上で
有用な書籍がありましたらば、書籍名を教えていただけたらと思います。
(無論Webでも問題ありません)
# 書店にて「SQLの設計方法〜〜」などと言う物を見てみたのですが
# どれが有用な物か判断つきかねた物でしたので

後、http://www.mysql.gr.jp/ の「MySQL Books」のリンクが
「No such file.」となっています、ご報告まで

以上、宜しくお願いいたします。

- - - - - - - - - - - - - - - - - -
-  坂本 修一 (Shiuichi SAKAMOTO)
-   s1atirvine@xxxxxxxxxx
- - - - - - - - - - - - - - - - - -

_________________________________________________________
Do You Yahoo!?
Get your free @xxxxxxxxxx address at http://mail.yahoo.com


[前][次][番号順一覧][スレッド一覧]

->    4933 2002-01-16 13:43 [<s1atirvine@xxxxxxxx] 複数テーブルにおけるデータの insert の方法
      4937 2002-01-17 09:33 ┗["KAWAI,Takanori" <GC]                                       
      4973 2002-01-18 15:07  ┗[<s1atirvine@xxxxxxxx]