0

私は異なるテーブル間のリンクを作成する方法を理解しようとしてきましたが、謎を解くことができませんでした。学べば学ぶほど、どんな質問をするべきか疑問に思います。私が達成しようとしていることを示すために、いくつかの表の図を作成しました...

私はこのようなシャツのテーブルを持っています:

シャツテーブル

「qp_price」および「o_price」というラベルの付いた列に、価格の代わりにテキストが表示されていることに注意してください。これは、このテーブルに接続したいためです。

価格表

「qp_price」と「o_price」の値は、価格表の「price_cat」列の値の1つと同じです。これは、将来の価格管理を簡素化するための私の方法です。シャツの表には、同じ価格であるため、繰り返しの値が表示されます。男性用のシャツだけでなく、女性用のクルーネック、男の子、女の子、赤ちゃんもいます。それらを新しいシャツテーブルにリンクして、次のようにします。

マスターシャツ

また、インデックスについても疑問に思っていました。これをインデックスとして作成する方がよいかどうか。

シャツインデックス

次に、それをshirts_masterテーブルに挿入しますが、それを実行して、「clr_options」列と「qty」列をshirts_masterテーブルに追加します。適切な列を呼び出す2種類のカスタムサービスがあるため、2つの異なる価格で整理したいと思います。結局、私はまだシャツと価格表を個別にしたいと思っています。別の表にリンクするだけで、それらを更新して、リンクを介してマスター表で自動的に読み取ることができます。これをまとめる最も賢い方法は何でしょうか?

4

2 に答える 2

1

qp_priceとfromSHIRTテーブルは、テーブルPRICE_LISTの列を参照する外部キーo_priceである必要があります。その場合、PRICE_LISTテーブルの列は必要ありません。price_idprice_cat

于 2012-12-04T08:28:29.783 に答える
1

何をしたいのかよくわかりませんがshirts_master、簡単に参加できます

select s.shirt_id, s.shirt_name, s.shirt_type, s.shirt_size,
       qp.price as qp_price, o.price as o_price, s.clr_options, s.qty
from shirts s
join price_list qp on qp.price_cat = s.qp_price
join price_list o on o.price_cat = s.o_price;

これをビューとして必要な場合は、次のコマンドで作成できます。

create view shirts_master as
select s.shirt_id, s.shirt_name, s.shirt_type, s.shirt_size,
       qp.price as qp_price, o.price as o_price, s.clr_options, s.qty
from shirts s
join price_list qp on qp.price_cat = s.qp_price
join price_list o on o.price_cat = s.o_price;
于 2012-12-04T08:29:03.863 に答える