0

さまざまな多対多の関係を 1 つのテーブルにマージすることを考えていますが、それが賢明かどうかを知りたいです。

以下に、2 つの別個の「関係」テーブルを使用した 2 つの例を示します。

  1. 表: 製品
  2. テーブル: product_categories
  3. テーブル - 関係テーブル: link_products_product_categories

もう一つの例:

  1. 表: ユーザー
  2. テーブル: user_categories
  3. テーブル - 関係テーブル: link_users_user_categories

次のようなフィールドを持つ、たとえば「関係」という名前の単一のテーブルを作成するのは賢明だと思いますか。

  • first_field_table: ユーザー
  • second_field_table: user_categories
  • first_field_id: 2
  • second_Field_id: 5

また

  • first_field_table: 製品
  • second_field_table: product_categories
  • first_field_id: 3
  • second_field_id: 5

これには私のフレームワークにいくつかの変更が必要ですが、それはテーブルの数が大幅に減ることを意味します。これらすべてのリレーションシップを 1 つのテーブルに格納し、両方のテーブルをフィールドで識別するのは良い考えですか、それともそれらを分離してテーブルを増やす方がよいと思いますか?

4

2 に答える 2

1

「..しかし、それはテーブルがずっと少ないことを意味します..」

テーブルが多いこと自体は悪いことではありません。データベースの正規化のルールに従っている限り、ソリューションには必要な数のテーブルが必要です。

そして、あなたの質問に答えるために、いいえ、それは良くありません。実際、それは本当に悪いです!それがすることは、大きな混乱を引き起こすことだけです。

于 2012-08-10T11:49:55.283 に答える
0

Simple answer no it is not smart.

What is the problem with having lots of tables?

于 2012-08-10T11:44:47.660 に答える