0

Swing ベースの小売 ERP (Point of Sale and Accounting) アプリケーションに H2 データベースを使用しています。

アプリケーションには、MainDB と CompanyDB という 2 つのデータベースがあります。

すべてのユーザー情報と会社情報を格納するメイン データベース。ユーザーが会社を作成するたびに、それらのデータは MainDB の company_table に格納され、続いて会社ごとに CompanyDB が作成されます。

MainDB と CompanyDB に同じマスター テーブル (約 60) があります。アプリケーションでマスターが作成または編集されるたびに、両方のデータベースに挿入および更新します。

ごく最近、Linked Table について知りました。これは、多くの場合に非常に役立ちます。

私の質問は、CompanyDB のすべてのマスターに対してリンク テーブルを作成する場合です。

  1. CompanyDB のすべてのマスターに対してリンク テーブルのみを使用できますか?

  2. マスター テーブルがリンク テーブルであるため、すべてのトランザクションおよび他のテーブルの外部キーを参照できません。外部キー関係がなくてもかまいませんか?

  3. 約 60 個のリンク テーブルを作成すると、パフォーマンスが低下しますか?

現時点では、パフォーマンスに非常に満足しています。

これについてアドバイスし、光を当ててください。

ありがとうございます。

4

1 に答える 1

1
  1. CompanyDB のすべてのマスターに対してリンク テーブルのみを使用できますか? はい、可能ですが、あまり一般的ではないと考えられていました。それは本当にユースケースに依存します。

  2. 外部キー関係がなくてもかまいませんか? MainDB の 2 つのテーブル間に外部キー関係を定義すると、CompanyDB で更新を行っても、これは引き続きチェックされます。データベース間で外部キー関係を持つことはできませんが、これでよいかどうかはユース ケースによって異なります。たとえば、NoSQL データベースでは、通常、外部キーの関係はありません。

  3. 約 60 個のリンク テーブルを作成すると、パフォーマンスが低下しますか? リンクされたテーブルの数は問題ではありません。ただし、リンクされた各テーブルは個別に通常のテーブルよりも遅いことに注意してください。これが許容されるかどうかは、ユース ケースによって異なります。

于 2013-03-28T05:56:48.110 に答える