この質問は多分愚かなことが、私はちょうど私が正しく基本的な理解を得るかどうかを確認したいので:2つの外部キーが発生した場合、多対多の関係にする必要がありますか?
はそれが表に発生しmany to many relationship
とき2つの外部キーでなければなりませんか?
2つの外部キーがテーブル内にある場合、他の条件や理由がありますか?
この質問は多分愚かなことが、私はちょうど私が正しく基本的な理解を得るかどうかを確認したいので:2つの外部キーが発生した場合、多対多の関係にする必要がありますか?
はそれが表に発生しmany to many relationship
とき2つの外部キーでなければなりませんか?
2つの外部キーがテーブル内にある場合、他の条件や理由がありますか?
号
反例:id1
が一意であるため
create table eg1 (
id int primary key,
id1 int,
id2 int,
foreign key (id1) references othertable.id,
foreign key (id2) references sometable.id,
UNIQUE INDEX `id1_UNIQUE` (`id1` ASC)
);
これは、多対多の関係ではありません。これには2つの外部キーがありますが、他の2つのテーブルと1対1および1対1の関係を表しています。
私はそれが常に当てはまるとは思わない。私はテーブルに複数のFKeysがあるいくつかの状況を考えることができます。たとえば、次のように
tblShirts
ShirtId int型(PKEY)
ColorIdはint([F]キーtblColors)
SizeIdはint([F]キーtblSizes)
StyleIdはint([F]キーtblStyles)
価格お金
QtyOnHand int型
この例では、tblColors,tblSizesおよびtblStylesは単純なルックアップテーブルです。多対多関係を解決するには、リンクテーブルを作成する必要はありません。
これは実際には多対多の関係テーブルです。 –
@ypercube - それは多対多の多対多関係表であるとはどのように判断しますか?あなたがコメントした基準は何ですか? –
申し訳ありませんが、あなたは正しいです、厳密な意味ではありません。関係は識別していない、3つのテーブルは参照テーブルのみです。 –
'OrderLine'という表があり、' Order'、 'Article'と' Amount'というフィールドがあるとします。 2つの可能な外部キーですが、これはほとんどの人が多対多の関係と考えるものではありません。それは2つの別個の多対1の関係です。これがあなたが求めるものなのかどうかは分かりません。 – hvd
はいそれは私が直面しているケースであり、それがmm関係であるかどうかを理解しようとします。ありがとう! – laukok