0

Web アプリケーションが多くのモジュールで構成されているとしましょう。各モジュールには独自のテーブルがあります。

ここで、自分のモジュールと別のモジュールの間の関係を維持する必要がある場合、理想的には、モジュール 1 pk とモジュール 2 pk を持つ module1_module2_relationship のような別のテーブルを作成します。このリレーションシップに関する列をさらに格納する必要があると仮定すると、このリレーションシップ テーブルにさらに列を追加します。

しかし、私のモジュールは多くのモジュールと関係を持つことができ、モジュールごとに新しいテーブルを作成したくありません。

ここでの主なポイントは、モジュール ID が与えられていることです。関連付けられているすべてのモジュールを知る必要がありますか? そして、モジュールIDがテーブルに存在するかどうかを調べるだけで、各関係テーブルに対してクエリを実行したくありません。

そのようなデータベースを設計するにはどうすればよいですか?

4

2 に答える 2

0

私たちの Web アプリケーションは多くのモジュールで構成されています。各モジュールには独自のテーブルがあります。

わかった。それは面白い...

モジュールと別のモジュールとの関係を維持する必要がある場合は、理想的には別のテーブルを作成します

うん。その通りです。

しかし、私のモジュールは多くのモジュールと関係を持つことができます

問題ない!

モジュールごとに新しいテーブルを作成したくありません。

うわあ!!!!

「モジュール関係」テーブルは1 つだけです。各行には、「モジュール」ごとに 1 つずつ、合計2 つの外部キーがあります。

新しい関係を追加しますか? 簡単: 新しい行を追加します。

新しいモジュールへの新しい関係を作成しますか? 同じように簡単です。別の行を追加するだけです。

1 つの関係テーブル。必要な数の行。それは本当にそれと同じくらい簡単です:)

于 2013-05-24T03:47:52.493 に答える
0

モジュールとモジュールの PK を説明する列とのすべての関係を保持する 1 つのテーブルを作成できます。

tblModuleRelationship
---------------------
Module1_Name
Module1_PK
Module2_Name
Module2_PK

4 つの列すべてに一意の制約を作成します。

これの明らかな欠点は、FK 関係を実際に使用できないことです。

于 2013-05-24T03:47:56.030 に答える